Guides & TutorialsTroubleshootingTroubleshooting Payments and CurrenciesWhy did a service Next Due Date move forward several billing cycles?

Why did a service Next Due Date move forward several billing cycles?


A service's Next Due Date may move to a date several months or years in the future. This results in some expected invoices not being generated or appearing to be skipped.


Each time an invoice is marked paid, the service Next Due Date is incremented forward from the current value by one billing cycle (eg. 1 month, 1 quarter, 6 months, 1 year,  2 years or 3 years).

If an invoice is marked paid multiple times, the service next due date will also increment forward multiple times, moving it further into the future.

This would create entries under the client's Log tab like:

Log entries showing an invoice marked paid twice

The result is that a service's Next Due Date will have incremented forward two billing cycles in a single invoice.

For example:

  • A new monthly service is ordered on 1st January 2020 (1)
  • One might expect the second payment to be due on 1st February 2020.
  • However, because the first invoice was marked paid twice, the Next Due Date is two month ahead
  • Therefore the next invoice for this service will be due on 1st March 2020 (2)
Service record after an invoice has been marked paid twice


The invoice generation logic in standard invoicing mode is based upon the service's Next Due Date. One invoice is generated per service per due date. If this date is a value far in the future, no invoices will be generated between today and that future date.

Under normal circumstances an invoice would only be marked paid once.

Following manual intervention by an admin, an invoice could potentially be reactivated (marked unpaid) and then marked paid a second time.


To have a client re-pay an invoice, consider using using the Payment Reversal feature instead.

This feature will handle moving the service Next Due Date backwards when refunding an invoice payment, so that upon re-payment it returns to the expected date.