ml-connector
Microsoft Dynamics NAVPayPal

Microsoft Dynamics NAV and PayPal integration

Microsoft Dynamics NAV tracks your orders, invoices, and general ledger. PayPal processes your payments and holds your cash. Connecting the two keeps your accounting and your cash flow aligned. Sales orders become PayPal invoices or orders so your customers can pay online, and payment confirmations flow back into NAV to close invoices and verify receipts. ml-connector handles the different authentication models and translates entities between the two systems so your finance team spends less time chasing discrepancies.

How Microsoft Dynamics NAV works

Microsoft Dynamics NAV exposes sales orders, sales invoices, customers, purchase invoices, general ledger entries, accounts, and dimensions through OData v4 REST and legacy SOAP web services. Authentication is OAuth 2.0 via Microsoft Entra ID for online Business Central or on-premises installations. NAV can push changes via webhooks that refresh every 3 days, or pull via polling. GL accounts and GL entries are read-only and immutable once posted, which means ml-connector can read cash and revenue accounts to reconcile but cannot modify them.

How PayPal works

PayPal REST APIs expose orders, invoices, payments, transactions, captures, refunds, and subscription data. Authentication is OAuth 2.0 client credentials with bearer tokens cached up to 8 hours. PayPal pushes events via webhooks that require RSA-SHA256 signature verification. PayPal has no native GL account or purchase order objects, so reconciliation happens through transaction lookups by invoice ID and payment references. Transactions are searchable only within a 31-day window.

What moves between them

The main flow is NAV to PayPal for new sales orders and invoices. ml-connector reads NAV sales orders and creates PayPal invoices or orders so customers can pay online. When a PayPal payment arrives, ml-connector matches it back to the NAV invoice by reference and records the payment confirmation. Reference data such as customer names and IDs is synchronized in both directions. Because NAV GL is immutable, ml-connector reads GL entries to verify cash and revenue accounts but never writes GL transactions back into NAV.

How ml-connector handles it

ml-connector accepts NAV's OAuth 2.0 credentials scoped to Business Central and manages the token lifecycle. For on-premises NAV, it accepts the custom server URL and port. On the PayPal side, it stores the OAuth client credentials and bearer token, and it presents the RSA-SHA256 signature verification on every incoming webhook to confirm PayPal is the sender. When NAV webhooks trigger on a sales invoice change, ml-connector reads the full invoice and line items, creates a PayPal invoice or order, and stores the PayPal invoice ID as a reference in NAV. When a PayPal payment webhook arrives, ml-connector reads the transaction details, searches NAV invoices for the matching reference, and records the payment status. Customer data is synchronized bidrectionally so valid customers exist in both systems. Because PayPal transactions are searchable only in a 31-day window, ml-connector aligns sync cadence with billing cycles to catch all reconciliation within that window. Every record carries an audit trail and can be replayed if the downstream system rejects the write.

A real-world example

A mid-size e-commerce company runs Microsoft Dynamics NAV for order management and accounting, and uses PayPal to process customer payments on its web storefront. Before the integration, the order-entry team created sales invoices in NAV manually after PayPal confirmations arrived, then the accountant matched payments to invoices by hand and posted cash receipts. Invoices sat unpaid in NAV until the accountant confirmed the payment had landed in PayPal. With NAV and PayPal connected, each new sales order in NAV automatically creates a PayPal invoice that the customer can pay from their email. When the payment clears, the invoice closes in NAV immediately and the cash receipt posts to the GL from the PayPal confirmation. The order-to-cash cycle shrinks from multi-step manual to automatic, and the reconciliation is always current.

What you can do

  • Create PayPal invoices and orders from NAV sales orders and invoices, so customers pay online without leaving your system.
  • Record PayPal payment confirmations back into NAV and mark invoices as paid when cash arrives.
  • Synchronize customer records between NAV and PayPal so invoices reference valid customers in both systems.
  • Verify NAV GL cash and revenue accounts against PayPal transaction history to confirm all payments are accounted for.
  • Validate RSA-SHA256 PayPal webhook signatures on every incoming event and replay failed transactions if the downstream write was rejected.

Questions

Can ml-connector write transactions into NAV's general ledger?
No. NAV GL accounts and GL entries are immutable once posted. ml-connector reads GL entries to verify cash and revenue accounts exist and match PayPal transactions, but all GL postings remain under NAV's control. Payment confirmations record against invoices, not directly to GL.
What happens when a PayPal payment arrives but no matching NAV invoice is found?
ml-connector stores the PayPal transaction with a reference note and flags it as unmatched in the audit trail. The record is held until the invoice appears in NAV, then reconciled on the next sync cycle. Unmatched payments are visible in the connector's dashboard so the finance team can investigate.
How does ml-connector handle the 31-day transaction search window in PayPal?
ml-connector aligns its reconciliation cycle to your billing period, typically monthly, so all transactions fall within the 31-day window. For older invoices or disputes, ml-connector records the transaction by its PayPal invoice ID rather than relying on timestamp search, so reconciliation remains accurate across any date range.

Related integrations

Connect Microsoft Dynamics NAV and PayPal

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

Get started