Here you can enable invoice generation for customers and configure their invoicing parameters, payment terms and collection policy.
Use regular invoices
Turn on the toggle to generate invoices for customers at the end of the billing period. The toggle activates other configuration parameters.
Invoice template
An invoice template is a special HTML document that defines how your customers’ .pdf invoices look. You create invoice templates on the Templates panel. Then you select the desired invoice template from the list.
The Do not create an invoice value means PortaBilling only produces xDR summaries for these customers and doesn’t generate .pdf invoices.
Generate invoice .pdf
Schedule when to generate .pdf invoices for customers. You can optimize system workload and statistics calculation by using different invoice generation modes per customer class.
The invoice generation options are:
- At the end of the billing period – this is the default option. PortaBilling processes a customer’s xDRs, applies charges (e.g., recurring, DID usage fees, etc.), creates an invoice and generates a .pdf file once their billing period is closed. When the .pdf file for this customer is generated, PortaBilling starts processing xDRs for the next customer and so on. Therefore, it takes longer to process xDRs for all customers, though the .pdf files are quickly available.
- Postponed, based on resource availability – use this option if you automatically charge customers’ credit cards. PortaBilling creates an invoice and immediately charges a customer’s credit card. PortaBilling begins to generate the .pdf files only once the calculations related to the previous billing period (e.g., xDR processing, statistics) for all customers have been completed.Postponed generation accelerates the payment procedure and evenly distributes the load on the system.
- On demand – PortaBilling makes all calculations for the customer, creates their regular invoices and saves them to the database. You can access these invoices via the API at any time. PortaBilling doesn’t generate .pdf files unless you explicitly request it. You can generate a customer’s invoice from the customer’s page.On demand invoice generation helps you save hard disk space and decrease the workload on the system by up to 50%, depending on the data amount.
Send the invoice via email
Define when to send invoices by email to a customer:
- Never – customers won’t receive their .pdf invoices by email.
- Automatically – PortaBilling creates a new invoice for a customer and automatically sends the .pdf copy to them by email.
- After review and approval by admin – PortaBilling generates the invoice and leaves it open for you to review and approve. During the review you can modify the invoice (e.g., correct the amount and recalculate it.)After you approve the invoice, PortaBilling sends the .pdf copy to the customer by email.
Hold for review, days
Specify the number of days PortaBilling waits for you to approve an invoice before it sends the .pdf copy to the customer.
Do not try to collect the payment if the amount due is less than
This is the minimum invoice amount due required to collect payment (and to automatically charge the customer’s credit card). You can specify it only if the currency for this customer class is set. If the amount due in a generated invoice is smaller than this threshold, there is no payment collection and notifications are not sent to the customer. The payment status of such an invoice is No payment required.
The invoice doesn’t become overdue. If the customer doesn’t make a payment, the invoice amount due applies to the next invoice(s) until the amount due for the new invoice crosses the threshold.
For example, if you specify the minimum payment collection threshold as $30:
- Invoice #1 includes charges for the first billing period of $10. The invoice total is $10. The customer isn’t required to pay for this invoice yet. The invoice status is No payment required.
- Invoice #2 includes charges for the second billing period of $10 plus the previous invoice total of $10, so the amount due is $20. The customer isn’t required to pay for this invoice yet. The invoice status is still No payment required.
- Invoice #3 includes charges for the third billing period of $12 plus the previous unpaid amount due of $20, so the invoice amount due is $32. Since it crosses the payment collection threshold ($30), PortaBilling sends a notification to the customer that there’s an unpaid invoice with the amount due of $32. The invoice status is Unpaid.
- The customer pays $25, which fully covers the first and second billing periods ($10+$10) and a part of the third billing period ($5). Thus, invoice #3 is partially paid and the customer still must pay $12-$5=$7 to cover invoice #3 in full.Note that if the customer doesn’t pay invoice #3 in full by the due date, the invoice becomes overdue (even though the unpaid reminder is less that the payment collection threshold). An overdue invoice can trigger system actions for payment collection, e.g., service limitation, suspension, customer/commitment termination.
- Invoice #4 includes charges for the fourth billing period of $12 plus the remaining unpaid $7. In this invoice #4, the total amount due is $19, but since this is less than the minimum payment collection threshold ($30), the customer isn’t required to pay for invoice #4 yet. The status of this invoice is No payment required.Note that invoice #3 still has Partially paid status (the remaining amount due is $7), so PortaBilling sends the customer a notification that they must pay for invoice #3.
Restore limited/suspended services after partial payment if the unpaid remainder is less than the payment collection threshold
By default, if an invoice was generated with the amount due exceeding the collection threshold, it can’t receive the No payment required status after partial payment. If such an invoice is paid partially and the unpaid remainder is less than the payment collection threshold, the customer still must pay the unpaid remainder by the due date. Otherwise, the service can be limited/suspended or other actions can apply (customer termination, commitment termination).
Also, if the service is already limited/suspended due to an unpaid invoice, it can’t be restored after a partial payment, even if the unpaid remainder is less than the payment collection threshold.
For example, an invoice for $50 is overdue and service for the customer is suspended. The customer pays $40. An unpaid amount of $10 remains, and even though $10 is less than the payment collection threshold ($30), the customer must still pay $10 to cover the overdue invoice in full and use the service again.
You can change this behavior. If the unpaid remainder is less than the collection threshold, the new behavior is as follows:
- The customer is not required to pay the unpaid remainder until the amount due of the new invoice(s) crosses the threshold.
- If an invoice is overdue and already caused service limitation/suspension, the service is restored after partial payment.
- A partially paid invoice receives the No payment required.
- A partially paid invoice doesn’t become overdue and can’t cause the service limitation/suspension or customer termination.
To change the default behavior, go to the Configuration server > ClusterSuite > Web_Cluster > Global > Invoice group > Open_Customer_With_Debt_Under_Collection_Threshold option > select Yes.
Define terms
You can choose to measure the terms for payment collection in:
- Days (the default option)
- Billing periods
Payment terms
Choose when invoices become due.
- Due upon receipt – this is the default option. Leave this option if you want the invoices to become due upon generation.
- Net – select this option for the invoices to become due in a specified number of days/billing periods after the generation. This is a period when the payment is expected. The invoice due date is calculated as the invoice generation date plus the specified period. For example, if the invoice generation date is June 1st and you specify 15 days here, it means that the invoice must be paid before June 16th, since on June 16 the invoice becomes due. On June 17th the invoice becomes overdue.
Notify of the due date in advance, days
Specify how many days before an invoice is due a customer receives a notification. This option is available only if you choose the Net option above and specify the period.
To send several notifications, specify comma-separated values in descending order. For example, “14, 7, 3” means that the customer receives notification 14, 7, and 3 days before the invoice due date (if the customer pays after the first notification, no further notifications are sent).
Automatic credit card charge
To improve the cash flow, you can automatically charge customers' credit cards for invoice payments.
- Do not charge – at the end of a customer’s billing period, PortaBilling only generates a .pdf invoice and sends it to the customer. The customer then pays the invoice in any of the following convenient ways: by credit card via the self-care portal, in a bank, etc.;
- Upon an invoice generation – at the end of a customer’s billing period, PortaBilling calculates an invoice and immediately charges the customer’s credit card. Upon successful payment processing, PortaBilling generates an invoice .pdf file with a zero amount due. If the payment transaction is unsuccessful, PortaBilling generates a .pdf invoice with the actual amount due.
- Upon a due date – you must specify the grace period for this charging mode. At the end of a customer’s billing period, PortaBilling generates a .pdf invoice and sends it to the customer. The invoice status remains Unpaid during the grace period. On the due date PortaBilling charges the customer’s credit card. Upon successful payment processing, the invoice status becomes Paid in full. Otherwise, it becomes Overdue.
If at the moment of a charge, a customer receives a new invoice for the next billing period, PortaBilling charges their credit card for both invoices. This can happen if the grace period is long (e.g., 30 or 45 days).
Additional attempts
Schedule the next attempts to charge customer credit cards if the initial payment was unsuccessful.
Before the due date, days
This option works if you selected to charge customers' credit cards immediately Upon an invoice generation. Specify when PortaBilling attempts to re-collect customer payments after the unsuccessful initial transaction but before the invoice due date.
Several attempts are possible. Specify the values separated by commas and in the descending order (e.g., 4, 2, 0). A zero value means to charge again on the due date.
To disable re-collect attempts completely, leave this field empty.
After the due date, days
Specify how many days after the invoice due date PortaBilling will attempt to re-collect the customer payment. Several attempts are possible.
If you selected to charge customers' credit cards immediately Upon an invoice generation, specify the values separated by commas and in the ascending order (e.g., 0, 2, 4). A zero value means to charge again on the due date.
If you selected to charge customers' credit cards immediately Upon a due date, specify the values separated by commas and in the ascending order (e.g., 2, 4, 6). For instance, "3, 6, 10" values instruct PortaBilling to charge the customer’s credit card on the due date and again 3, 6 and 10 days later. (Obviously, if one of the charge attempts succeeds, no further attempts will be made).
To disable re-collect attempts completely, leave this field empty.
Actions if an invoice is overdue
Configure how to deal with customers upon non-payment
Re-send the invoice after the due date
Send a notification regarding the overdue invoice to a customer. Specify how many days after the invoice due date that a customer receives such a notification. An empty field disables these notifications.
You can define several thresholds to send multiple notifications to a customer. Specify values separated by commas and in the ascending format (e.g., 10, 12, 15).
For instance, "0, 7, 14" values mean that the customer receives a notification on the due date and again 1 and 2 weeks later. (Obviously, if the customer pays after the first notification, no further notifications will be sent).
Suspend the customer
You can suspend a customer if their invoice remains unpaid. When a customer is suspended, their services are blocked though some subscription fees may still apply (this depends on the subscription configuration).
Specify the suspension period. This is how many days after the due date that the customer becomes suspended. The minimum value is 1 day. The empty field means no suspension applies.
Notify of suspension in advance
Specify how many days before the suspension date to send a notification to the customer. The value here must be equal to or lower than the suspension period.
Terminate commitments for all accounts
If a customer's invoice is overdue, you have the option to automatically terminate commitments for all their accounts.
For this, specify the number of days after the invoice due date when commitments should be terminated. For example, if you specify 7 days here and an invoice becomes due on June 21, the commitments for all customer's accounts' will be terminated on June 28.
Once a commitment is terminated, the commitment penalty is applied and the services within these commitments are no longer provided.
To resume the services:
- The customer needs to pay the commitment penalty and cover all overdue invoices.
- A new commitment should be assigned to the customer accounts.
Notify of termination in advance
You can notify customers about possible commitment termination.
Specify the number of days before the commitment termination date to send the notification to the customer.
To send several notifications, specify comma-separated values in descending order. For example, “14, 7, 3” means that the customer receives notification 14, 7, and 3 days before the commitment termination (if the customer pays after the first notification, no further notifications are sent).
Terminate the customer
This option is used to permanently terminate a customer’s record if they fail to make a payment covering all their overdue invoices within a set period after the due date.
Days/Billing periods after due date
Specify the number of days (or billing periods, depending on the Define terms in option) after the invoice due date when the customer record becomes permanently terminated. For example, you specify “60 days” here. The invoice due date is September 1st, and on this day the invoice becomes overdue. If the customer doesn't pay for this invoice (and all other overdue invoices) within 60 days, their customer record will be terminated on October 31.
Note that this value must be greater than the number in the Suspend customer > Days/Billing periods after the due date field.
Notify of termination in advance
You can notify customers about the approaching termination. Specify how many days before the permanent termination date to send a notification to a customer.
If you define payment terms in days, the number that you specify here must be equal to or less than the number in the Terminate customer > Days after due date field.
The minimum value is 1.