ml-connector
SYSPROChargebee

SYSPRO and Chargebee integration

SYSPRO runs order-to-cash and general ledger. Chargebee runs subscription billing and recurring revenue. Connecting them keeps your billing system aligned with your order books and customer master. Customer records and billable transactions flow from SYSPRO into Chargebee on a schedule you control, so subscription invoices in Chargebee match the orders entered in SYSPRO. No re-keying of customer master data, and your revenue recognition is consistent across both systems.

How SYSPRO works

SYSPRO 8 exposes customers, invoices, invoice line items, and transactions through e.net Business Objects (REST and SOAP) and OData (REST read-only). Authentication uses either a session token obtained from the Utilities/Logon method, or HTTP Basic Auth with an auto-generated SQL operator code and OData password. SYSPRO is deployed on customer-managed infrastructure (cloud or on-premise), so each customer provides their own server URL. SYSPRO does not push outbound webhooks, so polling is the only integration method. OData is read-only; writes to SYSPRO require e.net Business Objects with XML payloads.

How Chargebee works

Chargebee exposes customers, subscriptions, invoices, transactions, and revenue documents through a REST API over HTTPS, authenticated with HTTP Basic Auth using a customer-specific API key. Chargebee can push outbound webhook notifications for 200+ event types across subscriptions, invoices, payments, and customer lifecycle events, with retries up to 2 days and no HMAC signature requirement. Chargebee is multi-region and multi-tenant SaaS; the region is selected at account creation and cannot be changed. Rate limits depend on the subscription tier, ranging from 150 to 3500 requests per minute.

What moves between them

The primary flow moves SYSPRO customer master and invoice data into Chargebee. SYSPRO customers are synced to Chargebee as subscription customers, and SYSPRO invoices are mapped into Chargebee as subscription invoices or line items depending on your billing model. The sync runs on a schedule you define, polling SYSPRO OData tables for new or updated records since the last run. Chargebee webhook events can flow back to SYSPRO if you want to track payment status or failed subscription events in the order system, but the primary direction is outbound from SYSPRO to Chargebee.

How ml-connector handles it

ml-connector stores the SYSPRO server URL and credentials (session token or OData operator code) encrypted and refreshes the session token on each poll, since SYSPRO tokens expire after logoff or timeout. It polls SYSPRO OData tables with a $filter on timestamp fields such as PostDate or CreatedDate to fetch only new records since the last sync. For each SYSPRO customer, ml-connector creates or updates a Chargebee customer with the matching name, email, and billing address. For each SYSPRO invoice, ml-connector maps the invoice header to a Chargebee subscription and the line items to Chargebee subscription items and charges, preserving the original invoice number for audit and reconciliation. On the Chargebee side, ml-connector uses the API key and makes idempotent calls with an Idempotency-Key header to prevent duplicate charges if a network retry happens. SYSPRO invoices are read-only in the OData layer, so ml-connector never writes invoice data back to SYSPRO. Chargebee webhook events such as payment success or subscription cancellation can optionally be logged back to SYSPRO via e.net Business Objects if you want to close orders when subscription payment completes.

A real-world example

A software-as-a-service vendor runs SYSPRO to manage their own supply chain and financial operations, and uses Chargebee to bill their customers on a recurring subscription model. Before the integration, the billing operations team manually pulled customer lists from SYSPRO each month and imported them into Chargebee, then re-entered invoice data and subscription item prices to keep the two systems aligned. Month-end reconciliation meant comparing two separate systems with no audit trail linking them. With SYSPRO and Chargebee connected, customer master data flows from SYSPRO to Chargebee automatically each day, subscription and item pricing in SYSPRO feeds into Chargebee invoice line items, and every sync run carries a full audit trail. The billing team spends hours fewer on manual data entry and month-end reconciliation is simplified.

What you can do

  • Sync SYSPRO customer master data into Chargebee as subscription customers with name, email, and billing address fields mapped automatically.
  • Map SYSPRO invoices to Chargebee subscriptions and invoice line items, preserving the original invoice number for audit.
  • Poll SYSPRO OData on a schedule and refresh the session token automatically when it expires.
  • Handle HTTP Basic Auth on the SYSPRO side and API key authentication on Chargebee, storing credentials encrypted.
  • Track every customer and invoice sync with a full audit trail and idempotent API calls to prevent duplicate charges.

Questions

Which direction does data move between SYSPRO and Chargebee?
The primary flow is outbound from SYSPRO to Chargebee. Customer master data and invoices move from SYSPRO into Chargebee as subscription customers and invoices. Optionally, Chargebee webhook events such as payment success or subscription cancellation can flow back to SYSPRO if you want to track downstream events in your order system.
Does ml-connector handle SYSPRO's session token expiration?
Yes. ml-connector stores the SYSPRO credentials encrypted and refreshes the session token on each poll run, since SYSPRO tokens expire after logoff or timeout. The integration does not require you to manage token lifecycle manually.
How does ml-connector ensure customer and invoice records are not duplicated if a sync fails and retries?
ml-connector uses idempotent API calls with an Idempotency-Key header on the Chargebee side and matches SYSPRO invoice numbers to prevent reimporting the same invoice. Every sync run carries a full audit trail, so you can see which records were processed and replay failed records if needed.

Related integrations

Connect SYSPRO and Chargebee

Free to use. Add your credentials, ping your real systems, and see if we fit.

Get started