Jump to content


Level 2 Member
  • Content count

  • Joined

  • Last visited

  • Days Won


Everything posted by Kian

  1. Kian

    Where to Add Code in Example Module?

    It's all described here. I know, it seems complicated but it's not.
  2. Kian

    Defining custom fields via module(s)?

    Sure, you can fill all your customfields automatically with queries on database from your own module.
  3. The hooks.php (s is required) file in the directory of your module works exactly as a standard action hook placed in includes/hook. They're not different. The value of $vars depends on the specific hook point you are using. If you need to get additional details that are not included in the hook you'll need to query db.
  4. Lo script è un tantinello antiquato (è del 2013). Il suo funzionamento si basa sulla corrispondenza del tu Client Custom Field name con quello inserito alla prima riga di codice: $CF_CUSTOM_FIELD_NAME = "QUI DEVI METTERE IL NOME DEL CUSTOM FIELD DOVE I CLIENTI INSERISCONO IL CF NEL TUO WHMCS"; Lo hai fatto?
  5. You could simply use InvoicePaidPreEmail action hook to increase invoice date by X days with a query. This way it can't be overwritten.
  6. Well, I would say that it's """"illegal"""" at best. Due date is one of the few values that means nothing to Revenue Agencies. Just remove it as brian said.
  7. Last week I decided to start working on a project that I think that nobody ever wanted to do... me included 😭 but I can no longer stand this issue: fomally validate Billing Details. I'm creating a system that validates Billing Details depending on economic zones (Intra-EU, Extra-EU and specific countries), entity (invdividual, company, organization, public authorities, government), local laws and Revenue Agencies. Right now I'm working on these goals (✔️ = done) Individuals from Italy. Codice Fiscale (aka Tax ID) is mandatory and must be formally valid (16 characters, firstname and lastname matching the first 6 characters of Codice Fiscale) ✔️ Companies from Italy. Partita IVA (VAT Number) is mandatory and must be formally valid (11 characters, numbers only, valid security number). Codice Fiscale (Tax ID) is also mandatory and must correspond to Partita IVA. Codice Destinatario for Electronic Invoicing is also required and must be valid (PEC address, SdI code 7 characters or PA code 6 characters) ✔️ Sole proprietorship or sole professional from Italy. Partita IVA and Codice Fiscale are both mandatory and must be valid. Codice Destinatario is also required and must and must be valid (PEC address, SdI code 7 characters or PA code 6 characters) ✔️ Organizations, Public Authorities, Government from Italy. Codice Fiscale is required and must be formally valid. Partita IVA is optional but must be correct when specified ✔️ Intra and Extra EU individuals. Tax ID (passport ID should be allowed) is required ✔️ Intra-EU companies. VAT Number required and formally valid according to formats of each Revenue Agency of Europe (long to do but viable). Tax ID is optional ❌ Extra-EU companies. VAT Number is required. No further checksare required ✔️ Am I missing something? I have no experience with other countries therefore I'll need some help. Before you ask, VIES has nothing to do with what I'm trying to achieve here. I check VAT Numbers separately in other ways. I just need to validate details formally. Edit: nice, I think I posted in the wrong section 😩
  8. Kian

    Password Management

    If you don't want a bunch of empty fields you can create a custom table in database where you can save as many password as you need. Each password is linked to your product by tblhosting.id and has a "category" column where you freely specify password type (eg. Root, phpMyAdmin, FTP, Wordpress...). You can populate this table with AfterModuleCreate hook, by cron or something similar. The last part is showing these passwords to admins and clients. In both cases you have multiple options. For admins you could inject a button "Show Passwords" directly on products view (WHMCS backend). On click open a modal or display an hidden div where you list all passwords. You could also create an addon module to view, search and manage passwords if needed. For clients you can use a similar approach in clientarea adding your additional data to product page.
  9. It depends on where you are. Personally I tend to use SystemURL value. It's saved in tblconfigurations.
  10. Official Announcement: Billing Extension 2.0.0 released - (Changelog) It has been a long time but after several months of development the refactoring of Billing Extension is complete. Billing Extension 2.0.0 is now ready for download. It comes with new architecture, code, style and features. We used the experience acquired in years of development with 68 releases of this module to rethink all the process. Improved Admin Interface Warning System VIES Support Enhanced Renewals Document Customization Online Contract Cookie Bar Monthly & Manual Invoicing Billing Preferences VAT on Credit Refunds Credit Balance Company Profile New Auto-Tags Advanced Late Fees system Discover / Purchase » In Billing Extension there's all our billing experience acquired through years of work with hundreds of customers. You can configure WHMCS in line with regulations and legislations in force reducing the weight of invoices on your time. Discover / Purchase » Let's freeze your invoices Information stored on invoices are fundamental for a correct accounting, for this reason these details shound't change over time. Snapshot for customer data, custom fields, currency and invoice header Admin Panel to modify snapshots Company profile properly applied to each invoice Billing Extension "freezes" the issued invoices' data to avoid billing errors Reducing your Paper-Flow WHMCS generates a large number of invoices. We have decided to optimize this process with OneInvoice and OnePayment. Both allow to issue a maximum of one invoice per month for each customer. With OnePayment you receive a monthly payment from each customer Save up to 18% on transaction fees* 95% reduction on invoices issued and emails sent* Enhanced Renewals for an easier management of renewals Less invoices to record and print * Calculations based on our case study Tailor-made for you! With Billing Extension you can customize invoices, proformas and credit notes individually with no limitations. New Auto-tags to personalize sequential numbering Suppressing unwanted invoices (eg. zero amount, full discount or fully paid by credit) Protect invoices from being edited or deleted For an easier experience all options are manageable from settings page and grouped by categories. Ready for Europea regulations Thanks to Billing Extension WHMCS will be fully in line with the accounting requirements of the European Union. VAT MOSS? VIES? No problem. Automatic verification of VAT ID directly from VIES MOSS report and customized exports on spreadsheets Proper taxation for customers of foreign countries within the EU Support for cookie regulation You can rely on a series of tools handling all aspects automatically. A breath of newness Automate your and your client's rights and obligations in line with your terms of service. You'll find many new dedicated pages to handle your billing needs. Inform customers and request consent for any changes to the contract Review your pending invoices at a glance from the Billing page Set late fees, global or advanced, all from one place The best from WHMCS As you know, WHMCS is a complex and feature-rich system, unfortunately some of its features are only hinted or completely missing. With Billing Extension we have fixed many dysfunctional sides to make the most of all its potential. Ability to create credit notes and unpaid invoices Correct invoicing of credit and overpayments Warning System to detect invoicing issues Our goal is to keep improving both the module and the basic WHMCS features to provide an ideal user experience. Customize your billing All Billing Extension options are applicable globally, on groups or on individual customers. For example, you could use OneInvoice for all customers, OnePayment for a group only, and turn off automatic invoicing for specific customers. Basically, the most specific rule will have priority. Set multi-level rules New filters and options to export to spreadsheets Possibility of inserting an invoice text based on the customer type Katamaze technology Billing Extension includes a number of proprietary technologies that enhance the user experience for both the administrator and visitors. SorTables for displaying data Multilingual content with HereLang Optimal data entry with MagicInput Discover / Purchase » 
  11. Recap time. We're now at version 2.2.8. Here are the most relevant changes: Invoice Sync to share invoice numering and credit note numbering across multiple installations of WHMCS (preview) New Widget to monitor the "health status" of your billing platform Beautified the look of Electronic Invoicing. Here is the before/after comparison: 1, 2, 3. Nothing special but now it's better Huge updates to the WebService of Electronic Invoicing. Now it also includes more data VIES Exception for Greece since they use EL country code instead of GR 😪 It is now possible to define custom MySQL ports Importing complex Snapshots because life sucks 😤 XML files of Electronic Invoices can be created unformatted to save up to 30% disk space New auto-tag {ID} available for proformas. It can be used reduce confusion among clients when they use PayPal. In fact there could be a discrepancy between PayPal descriptions (eg. Proforma #123) and the effective number of the proforma But the biggest change is in my signature. You can now try out our modules in seconds requesing a Live Demo.
  12. Kian

    WHMCS with WordPress

    Naaaah, don't worry. Even though having WP and WHMCS on separate hosting accounts is more secure, they're not made of paper 🙂 You can plan to change this structure calmly later on but don't procrastinate too much.
  13. Kian

    Billing cycle invoice question

    As long as you don't tick Auto Recalculate on Save, the client in question should receive his "quarterly" invoice with Recurring Amount.
  14. Uuuuu! THANK YOU! 🤩 I didn 't know that!
  15. Ups, my bad. Use single quotes: UPDATE mod_invoicedata SET clientsdetails = 'a:2:{i:0;s:16:"I_LOVE_SARA";i:1;s:16:"I_LOVE_BERLUSCA";}' WHERE invoiceid = '{invoice_number]'
  16. That's why I hate WYSIWYG editors. They copy text including HTML and leave a lot of unnecessary and invisible tags. You have to options: Learn to use Edit HTML Source it's an icon in the editor Dont' paste text directly into TinyMCE. First paste it txt file then ctrl+c and ctrl+v in TinyMCE. This way you are not pasting HTML tags
  17. Data in mod_invoice data are stored serialized. First off open phpMyAdmin and run this query: SELECT customfields FROM mod_invoicedata WHERE invoice = '{YOUR_INVOICE_ID}'; You'll get something like this: a:2:{i:0;a:3:{s:2:"id";i:1;s:9:"fieldname";s:6:"VAT ID";s:5:"value";s:11:"I_LOVE_SARA";}i:1;a:3:{s:2:"id";i:4;s:9:"fieldname";s:6:"Tax ID";s:5:"value";s:6:"filler";}} Copy & paste this mess in any online editor like this one in box 1 then edit values accordingly in box 2. For example change I_LOVE_SARA with I_LOVE_BERLUSCONI (I know, I'm grotesque 😞). Once finished copy the content of box 3 and use it to replace the old value with an UPDATE query: UPDATE mod_invoicedata SET customfields = 'a:2:{i:0;a:3:{s:2:"id";i:1;s:9:"fieldname";s:6:"VAT ID";s:5:"value";s:17:"I_LOVE_BERLUSCONI";}i:1;a:3:{s:2:"id";i:4;s:9:"fieldname";s:6:"Tax ID";s:5:"value";s:6:"filler";}}' WHERE invoiceid = '{YOUR_INVOICE_ID}' Now you no longer love Sara in PDF.
  18. Okay, I think that they're doing a mistake but that's not our problem 😛 It really makes no sense. Usually VAT free status is for specific goods (not domains), clients (eg. intra/extra EU, VIES yes/no, VAT number yes/no, Company yes/no, Canarie) or places (eg. Canary Islands, Tenereife...). Anyway as brian said it could be complicated. With an action hook you need to intercept the creation of invoice before it is sent to customer and use UpdateInvoice API to untick the "Taxed" checkbox and recalculate totals but many things could go wrong and transform this easy task into a nightmare.
  19. If i may ask, why .dz domain should be VAT free? 🤔 It's not a special product like food, books and stuff like that.
  20. Your condition is wrong. This one should work. if (isset($data->total) && $data->total == '0.00' && $data->credit != '0.00')
  21. Kian

    WHMCS with WordPress

    @wp4all Considering that the vast majority of backdoors have been crafted to hack the most popular CMS (eg. Wordpress, Joomla, Drupal...), why should you take this unnecessary risk? I'm not saying that Wordpress sucks regarding security but lamers focus their efforts in hacking the most used and popular system so that they can get more in return. Not to mention that people tend to update their crucial platforms like WHMCS as frequently as possible. Wordpress is not crucial therefore people are more willing to skip updates because who cares? Losing news, blog posts is not a big deal. That said, since Wordpress installations are intrinsically less secure, what's the point of making your WHMCS bullet-proof when lamers can simply enter from Wordpress skipping all your security measures?
  22. Kian

    WHMCS with WordPress

    But he's right. Having WP and WHMCS on the same hosting package is like shooting yourself in the foot. Here we're not talking about securing WP and WHMCS individually. The question is that if someone manages to upload a backdoor in WP, he can easily navigate to your WHMCS, get your database, domains, servers etc. Here is why you should keep systems separated. This way if someone cracks your WP he can destroy your WP but not WHMCS.
  23. Kian

    European card processor

    I think that you are pretty much screwed. They charge you so much to protect themselves from currency fluctuations. Probably the best option you have is to sell directly in Euro if you can keep and use them.
  24. Kian

    European card processor

    How much % + fixed are you paying now? Right now I know 3 banks with the following offers: 3% + 0.35 (same as PayPal) 1.99% + 0.19 and 9.90€/mo 2.4% + 0.24 and 14.9/mo 1.9% + 0.19 and 24.9/mo I bet 1.000.000 € that they're higher than 2Checkout and myPOS 😂 damn, payments with Bitcoins are cheaper!
  25. Mercury is a revolution for WHMCS, a feature-rich platform designed to simplify user interaction. You can manage News, Docs, Changelog, Development and much more, in one place, quickly and intuitively. Discover / Purchase » Start spreading the News! Mercury provides you with a News section to communicate with your customers. Everything is perfectly integrated, with as many as 3 widgets available. Thanks to the author profile, signature, role and profile image are customizable by each administrator Scheduled automated publishing tool You will easily manage the creation and publication of news and establish a link with your readers. Documentation A Docs section always available to show your customers the features and the use of products and make learning faster. Each product is a category General categories for articles not concerning specific products Anchor navigation within the articles By providing detailed documentation, you will be able to simplify and streamline ticket support. Your customers will find most of the information they need here. Welcome to the Lab! Lab is a new concept. A meeting point where customers actively participate in product development. Make a request for a Feature or a Bug-fix in a few steps Get and organize customer feedback in a snap Rating system to rate existing features Dedicated widgets available, for a perfect integration Now you can focus on important things. Thanks to the ranking algorithm you will immediately know which features are most interesting for your users. A small revolution in your development model. Changelog? Done With Mercury comes one more big news. You can show everyone the evolution of your projects and inform customers about changes in your releases. Each release will have an associated changelog Real-time changelog creation interface Ability to add images to the changelog Intuitive and accessible frontend template, with dedicated widget Finally the changelog is gonna be quick to write and very easy to browse. Your control center Given the large number of features, you need a place to keep everything under control. The Dashboard is designed for this, Mercury at a glance. For each section, display what require your attention Add and organize notes on the fly directly in the to-do list The Dashboard is your starting point, an overview of what's going on and a quick access point for all of the Mercury sections. SEO Mercury automatically manages URL rewriting for News, Documentation, Lab and Changelogs to consolidate your presence on the web. Locale specific Friendly URL Safe from duplicate content Proper use of canonical URL We took care of everything even of the maleficent Black Hat SEO techniques implementing features that automatically detects and nullify these activities. Katamaze technology Mercury includes a number of proprietary technologies that enhance the user experience for both the administrator and visitors. SorTables for displaying data Multilingual content with HereLang Optimal data entry with MagicInput Discover / Purchase » Screenshots - Click to expand Discover / Purchase »

Important Information

By using this site, you agree to our Terms of Use & Guidelines