Release

Search

Here you can enable invoice generation for customers and configure their invoicing parameters, payment terms and collection policy.

Regular invoices

Use regular invoices

Link copied to clipboard

Turn on the toggle to generate invoices for customers at the end of the billing period. The toggle activates other configuration parameters.

Invoice template

Link copied to clipboard

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

Link copied to clipboard

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 amount of data.

Send the invoice via email

Link copied to clipboard

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

Link copied to clipboard

Specify the number of days PortaBilling waits for you to approve an invoice before it sends the .pdf copy to the customer.

This option is available only if you choose the After review and approval by admin in the Send the invoice via email field.

Collection threshold

Link copied to clipboard

Collection threshold is the minimum invoice amount that is required for collecting payment (and to automatically charge the customer’s credit card). You can specify the collection threshold (the value should be more than zero) only if the currency for this customer class is set. If the currency is not set for the customer class, this field is inactive.

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 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

Link copied to clipboard

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:

  1. The customer is not required to pay the unpaid remainder until the amount due of the new invoice(s) crosses the threshold.
  2. If an invoice is overdue and already caused service limitation/suspension, the service is restored after partial payment.
  3. A partially paid invoice receives the No payment required.
  4. 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 in

Link copied to clipboard

You can choose to define the time frame within which a customer is expected to make payment in:

  • Days (the default option)
  • Billing periods

Payment terms

Link copied to clipboard

Choose when invoices become due.

  • Due upon receipt – this is the default option. With this option enabled, the invoice generation and due dates are the same.
  • Net – select this option to give your customer a specific number of days/billing periods to pay their invoice before it becomes overdue. 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 on June 16th the invoice becomes due. If the payment is not received, on June 17th the invoice becomes overdue, and the collection process will be initiated.

Notify of the due date in advance, days

Link copied to clipboard

Specify the number of days before an invoice is due that the 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 pay the invoice

Link copied to clipboard

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 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.
  • On the due date – at the end of a customer’s billing period, PortaBilling generates a .pdf invoice and sends it to the customer.  The invoice amount due is calculated according to the standard algorithm: based on the previous invoice balance, payments received during this period, and charges during this period. If on the due date, there is still an unpaid amount on this invoice, PortaBilling automatically charges this amount to the customer’s credit card.

Additional attempts

Link copied to clipboard

You can configure PortaBilling to re-attempt collecting customer payments in case the initial attempt fails, e.g., due to lack of available funds.

Before the due date, days

Link copied to clipboard

This option works if you select to charge customers’ credit cards immediately Upon 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

Link copied to clipboard

Specify the number of days after the invoice due date when PortaBilling will attempt to re-collect the customer payment. Several attempts are possible.

If you select to charge customers’ credit cards immediately Upon 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 On the 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.

To disable re-collect attempts completely, leave this field empty.

Actions if an invoice is overdue

Link copied to clipboard

Configure actions and notifications if payment is past due.

Re-send the invoice after the due date

Link copied to clipboard

Send a notification regarding the overdue invoice to a customer. Specify the number of days after the invoice due date that the 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.

Late payment fee per billing period

Link copied to clipboard

You can apply a late payment fee each time a customer’s invoice becomes overdue (the fee is included in the next invoice).

This fee applies immediately when an invoice becomes overdue, so the customer is charged this fee even if they pay the overdue invoice a few hours later.

Limit service for customer

Link copied to clipboard

Service limitation means that the customer can still continue using the services but in a restricted capacity, e.g., instead of the standard 4G wireless internet, a customer can use the services at 64 Kbps speed. This option provides the customer with additional time to settle their debt without a complete interruption of service (service suspension). To continue using the services at full capacity, the customer should pay off all the overdue invoices that caused the service limitation.

While the service is limited due to non-payment, recurring charges (subscription fees) still apply.

Days/Billing periods after due date

Link copied to clipboard

Specify the number of days/billing periods after the invoice due date when service limitation for the customer starts.

Notify of limit in advance, days

Link copied to clipboard

You can notify your customers about the upcoming service limitation. For example, the “2” value  means that a notification is sent 2 days before the customer’s services become limited.

Suspend the customer

Link copied to clipboard

You can set a specific number of days (or billing periods) after the due date when the service will be suspended due to non-payment. On the suspension date, the customer’s status will change to “Suspended.” When a customer is suspended, their services are blocked though some subscription fees may still apply (this depends on the subscription configuration).

Days/Billing periods after due date

Link copied to clipboard

Specify the number of days (or billing periods) after the due date that the customer becomes suspended. The minimum value is “1”. The empty field means no suspension applies. Note that if you configure service limitation, the period you set here should be the same or larger.

Notify of suspension in advance, days

Link copied to clipboard

Specify the number of 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.

Reactivation fee

Link copied to clipboard

You can apply a reactivation fee to the customer each time their services become available upon payment of all overdue invoices after the suspension (that was caused by an overdue invoice). The reactivation fee is applied to the currently open billing period (at the time of re-activation) and is included in the next invoice.

Terminate commitments for all accounts

Link copied to clipboard

If a customer’s invoice is overdue, you have the option to automatically terminate commitments for all their accounts.

Days/Billing periods after due date

Link copied to clipboard

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 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

Link copied to clipboard

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

Link copied to clipboard

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.

While the charges for DID usage don’t apply to the permanently terminated customer’s record, you still will be charged by your DID provider.

Days/Billing periods after due date

Link copied to clipboard

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, days

Link copied to clipboard

You can notify customers about the approaching termination. Specify the number of 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.

On this page

Release
What's new
Admin manuals
Handbooks
API
UI help
Back to main menu
Search