If you create an order with a recurring payment frequency (eg. weekly, monthly) and the 'Auto Renew' setting is set to 'yes' (the default setting), then a new invoice becomes due at each payment cycle - regardless of whether or not there is any payment gateway involved. When you click on the 'Generate All' toolbar button on the invoice list, it generates any invoices that are then due (you can specify a date up to which to generate invoices - if you only want to do the invoices up to yesterday, for example). If you want all due invoices to be generated automatically (without you having to click on the 'Generate All' toolbar button), you need to set up a CRON job.

However, if the order form with which the order was created is set to automatically create an invoice, an invoice will be generated (for the applicable order(s) only) whenever the payment gateway sends notification that a payment has been received (assuming the payment gateway supports this behaviour) - even if an invoice is not yet due, it will create one to allow for advance payments (the next due date will then be updated according to when payment was due, not when payment was taken - so the client does not lose out if they pay early). If the order form is also set to automatically create an income item, the invoice will also be marked as paid, and an income item will be added.

When you use an order form to set up a payment schedule with a payment service provider (PSP), for example, a Paypal subscription, it is the PSP that governs when payments are taken. If the user cancels their order, you must also login to your account with the PSP, and cancel the subscription there (or in the case of Paypal, the user can do so themselves at any time). This is completely independent of nBill.

Whether the PSP contacts your website to inform it of payments taken depends on the PSP and the payment gateway script you are using. For example the Paypal gateway script uses the IPN ('instant payment notification') feature to send confirmation back to your site. This happens behind the scenes.

For Example: When using the Paypal gateway, the Paypal IPN service effectively requests a page from your site and passes some data about the payment as it does so. The page on your site that gets called by Paypal is set in your payment gateway settings in nBill, and it should be left as the default - which is a special address that directs the request to the payment gateway script for verification and processing. The gateway script performs various checks including calling Paypal back to ensure that the original call from Paypal was genuine before performing any processing (such as creating an invoice or income item).

The PSP will automatically take payment from the customer's account based on the payment frequency that was sent to the PSP at the time the order was placed, and the PSP will typically send an email to the customer (and to you) every time a payment is taken. You (and in some cases, eg. with Paypal subscriptions, the customer) are able to login to your respective account and cancel the payment schedule with the PSP at any time - but doing so will not stop nBill from generating invoices for the order when they become due (because it knows nothing about the subscription status within the PSP's system).

For Example: If a Paypal subscription is cancelled, you also need to cancel the order in nBill (and likewise if an order is cancelled in nBill, you also need to cancel the Paypal subscription).

For Example: The PayPoint SECPay gateway is only slightly different in that the user cannot login and cancel - only the merchant can do so (which means that if the client wants to cancel they either have to tell you, or login to their account in nBill via your website front end, and cancel the order there - you would then login to your Paypoint account to delete the recurring payment schedule).