How Recurring Billing Works

The Recurring Billing feature in PayPack is designed to automate the collection of payments for outstanding invoices within NetSuite. By leveraging a combination of NetSuite Saved Searches and Scheduled Scripts, businesses can ensure that recurring invoices are paid on time using the customer's preferred payment method stored in Stripe.

This article provides an overview of how the automation logic works and the core components required to manage your recurring revenue.


Overview

Recurring Billing eliminates the manual effort of processing payments for subscription-based models or regular invoice cycles. Instead of manually charging each customer, PayPack identifies due invoices and automatically initiates a charge against the customer’s default payment method (Credit Card or ACH) in Stripe.

Once the payment is successfully processed, PayPack creates the corresponding Customer Payment record in NetSuite, ensuring your general ledger is always up to date.


The Workflow

The automation follows a structured four-step process to ensure data integrity between NetSuite and Stripe:

Identify Due Invoices

The system uses a NetSuite Saved Search as a "filter" to find exactly which invoices need to be paid. This search typically looks for invoices that meet specific criteria, such as:

  • Status is Open.

  • The Due Date is today (or earlier).

  • The Customer has a Stripe Customer ID.

Trigger the Automation

A Scheduled Script (Map/Reduce) is deployed to run at a specific time (e.g., every day at 1:00 AM). When the script runs, it "reads" the results of the Saved Search and begins processing each invoice one by one.

Process the Stripe Charge

For each invoice identified, the script sends a request to Stripe to create a Payment Intent. It uses the customer's Default Payment Method stored on their Stripe profile.

  • Note: If the customer has multiple cards, PayPack will target the one marked as "Default" unless a specific override is configured.

Create the NetSuite Payment Record

Upon a successful charge in Stripe:

  • PayPack automatically generates a Customer Payment record in NetSuite.

  • The payment is applied to the original invoice, changing its status to Paid in Full.

  • The transaction details (e.g. Stripe Charge ID) are logged on the NetSuite record for reconciliation.


Prerequisites for Success

To ensure the Recurring Billing workflow runs smoothly, the following configurations must be in place:

  • Customer Sync: The customer must be successfully synced between NetSuite and Stripe. You can verify this by checking for a value in the Stripe Customer ID field on the NetSuite Customer record.

  • Valid Payment Method: The customer must have at least one active payment method saved.

  • Saved Search Setup: You must create and select a Recurring Invoice Charge Saved Search in the PayPack → Setup → Configuration Schedule (tab) Transaction (section).

  • Script Deployment: The PayPack Recurring Invoice Charge MR script must be in a "Scheduled" status.


Key Benefits

  • Predictable Cash Flow: Automate collections to ensure payments are received exactly when they are due.

  • Reduced Manual Errors: Eliminate the risk of human error associated with manual data entry and payment processing.

  • Operational Efficiency: Free up your AR team to focus on exceptions rather than routine billing tasks.

Was this article helpful?
0 out of 0 found this helpful

More resources