ml-connector
Microsoft Dynamics GPServiceNow

Microsoft Dynamics GP and ServiceNow integration

Microsoft Dynamics GP is your on-premises ERP for financials and payables. ServiceNow is your cloud platform for IT and finance operations. Connecting the two keeps your vendor master, invoice records, and GL accounts synchronized across both systems. Vendor changes in Microsoft Dynamics GP propagate to ServiceNow's supplier hierarchy and cost centers, and payables invoices from GP land in ServiceNow's Accounts Payable staging table ready for approval workflows. ml-connector handles the Windows authentication GP requires and moves the data on the schedule your finance team controls.

How Microsoft Dynamics GP works

Microsoft Dynamics GP exposes vendors, payables invoices, purchase orders, payments, GL accounts, GL journal entries, customers, receivables invoices, and inventory items through REST Service Based Architecture (SBA) at https://<server>:<port>/GPService/Tenants(<TenantName>)/Companies(<CompanyName>)/<Module>/<Resource>, or through SOAP Web Services via a WCF endpoint. The system authenticates exclusively with Windows Active Directory credentials mapped to a GP user account with role-based security; there is no OAuth2 or API key option. Microsoft Dynamics GP is on-premises only and does not support webhooks or push notifications, so all data retrieval uses polling with ModifiedDate filters at customer-defined intervals. The system enforces strict constraints: only unposted (Work) transactions can be written, fiscal periods must be open in the GP calendar, and the SBA POST/PATCH bodies require data wrapped in a top-level Payload key. Company names are actual SQL Server database identifiers, not human-readable names, and coverage varies by GP version, so endpoints must be tested against the customer's specific installation.

How ServiceNow works

ServiceNow exposes vendors, purchase orders, invoices, GL accounts, cost centers, and users through a REST API at https://{instance}.service-now.com, where {instance} is the customer's unique subdomain. Authentication uses OAuth2 client credentials (recommended for machine-to-machine integration), OAuth2 authorization code, or Basic Auth. The platform is fully cloud-based with 100-percent uptime SLA. Source-to-Pay staging tables are optional module-licensed add-ons and must be verified against the customer's instance and ServiceNow version. All Table API operations require an authenticated service account with appropriate role-based access (e.g., sn_apay.apo_user for Accounts Payable, procurement_user for purchase orders). ServiceNow token lifespan defaults to 1800 seconds (30 minutes), and outbound webhook registration is manual via Business Rules and Outbound REST Messages rather than native real-time hooks. The platform has no built-in HMAC signature support, so shared-secret headers must be custom-configured by the customer.

What moves between them

The primary flow moves from Microsoft Dynamics GP into ServiceNow. Vendor master records, purchase orders, and payables invoices are read from GP via polling and written to ServiceNow's staging and reference tables. GL accounts from GP are mapped to ServiceNow GL accounts and cost centers so that financial records land on valid dimensions. Vendor and cost center reference data are synchronized bidirectionally so that ServiceNow procurement and approval workflows operate on current, validated dimensions. Invoices in GP are read-only once posted, so ml-connector polls unposted invoice records in GP's Work state and stages them in ServiceNow for approval workflows.

How ml-connector handles it

ml-connector stores the Windows Active Directory credentials for Microsoft Dynamics GP and presents them at authentication time on every API call to GP's SBA or SOAP endpoint, respecting the customer's on-premises firewall and SSL configuration. The ServiceNow OAuth2 client credentials are stored encrypted and refreshed when tokens approach expiry. Polling on the GP side uses ModifiedDate filters and respects the customer's SQL Server performance by limiting concurrent requests to 2-5 with 100-200ms delays between calls. Company names must be verified as SQL Server database identifiers, not human-readable names. On the ServiceNow side, ml-connector writes to staging tables only after validating that the user account has the required role-based access (sn_apay.apo_user, procurement_user). Payables invoices from GP are mapped to ServiceNow's sn_apo_invoice table and linked to the correct supplier in ServiceNow's core_company table via vendor ID. Fiscal period validation is enforced: if GP returns a fiscal period closed error, the record is flagged and held for manual review rather than retried blindly. Every record carries a full audit trail and can be replayed if a downstream write fails.

A real-world example

A mid-sized manufacturing company runs Microsoft Dynamics GP on-premises for accounting and supply-chain operations across three regional offices. They also run ServiceNow for IT service management and have licensed the Source-to-Pay module for procurement and AP automation. Before the integration, the accounts-payable team manually exported vendor lists and invoice batches from GP every week and re-entered them into ServiceNow's staging tables, a process that took 4-6 hours and introduced data-entry errors. With Microsoft Dynamics GP and ServiceNow connected, vendor changes in GP flow automatically to ServiceNow's supplier master, and payables invoices from GP land in ServiceNow's AP queue ready for approval. The company now closes AP operations in two days instead of four, and the manual re-keying step has been eliminated.

What you can do

  • Sync vendors and purchase orders from Microsoft Dynamics GP into ServiceNow's supplier and procurement tables, validated against active cost centers.
  • Read payables invoices from GP's unposted work transactions and stage them in ServiceNow for approval workflows without manual data entry.
  • Map GL accounts from Microsoft Dynamics GP to ServiceNow GL accounts and cost centers so financial records land on valid dimensions.
  • Bridge Windows Active Directory authentication from GP to OAuth2 in ServiceNow, storing credentials encrypted and refreshing tokens transparently.
  • Poll Microsoft Dynamics GP on a schedule tied to your finance calendar, with ModifiedDate filters, fiscal period validation, and a full audit trail on every record.

Questions

Can ml-connector write invoices and transactions back into Microsoft Dynamics GP?
ml-connector can read and stage payables invoices from GP, but can only write to unposted (Work) transactions in GP, not to posted (Open or Historical) records. Once an invoice is posted in GP, it is read-only and can only be modified through GL adjustments. The primary flow is GP into ServiceNow, where ServiceNow's approval workflows operate on the staged invoices.
How does ml-connector handle the Windows Active Directory authentication that Microsoft Dynamics GP requires?
ml-connector stores the Windows domain account credentials encrypted and presents them at authentication time on every call to GP's SBA or SOAP endpoint. The credentials are mapped to a GP user account with the appropriate role-based security. No cloud authentication methods are available for GP, so a dedicated Windows domain account must be created and maintained by the customer's IT team.
What happens if a fiscal period in Microsoft Dynamics GP is closed or if a vendor does not exist in ServiceNow?
If GP returns a fiscal period closed error, ml-connector flags the record and holds it for manual review rather than retrying blindly. If a vendor from GP does not exist in ServiceNow, ml-connector validates the mapping against ServiceNow's cost center table and either creates a new supplier record or links to an existing one based on the configured mapping rules. All mismatches are logged in the audit trail for visibility.

Related integrations

Connect Microsoft Dynamics GP and ServiceNow

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

Get started