SAP Business One and Stampli integration
SAP Business One runs your finance and purchasing. Stampli runs your AP workflow. Connecting the two moves approved invoices and vendor master data from Stampli into SAP Business One's general ledger automatically. Invoice details are mapped to the correct GL accounts and cost centers, vendors are synced to your business partner master, and the manual re-keying step is gone.
What moves between them
The primary flow is from Stampli into SAP Business One. Approved invoices exported from Stampli are mapped to SAP GL accounts and business partner records, then posted as journal entries into SAP's general ledger on each sync cycle. Vendors are synced to SAP Business One's business partner master so that vendor references remain aligned between the two systems. Purchase orders can optionally flow from SAP into Stampli to provide upstream reference data for three-way matching in the AP workflow. GL account and cost-center mappings are maintained to ensure every invoice line posts to a valid dimension. The sync runs on a configurable polling schedule, typically aligned with your invoice processing cycle.
How ml-connector handles it
ml-connector connects to Stampli via SFTP using the provided credentials and polls the outbound file directory on your defined schedule (e.g., every 15 minutes or after each approval batch). Files are parsed for invoice, vendor, and payment data, then reconciled against existing SAP records to prevent duplicates. SAP Business One integration creates a session via POST /Login and reuses the session token for the entire sync run to avoid cold-start overhead (each session startup takes approximately 5 seconds). Invoices are mapped to SAP GL accounts and dimensions using configured vendor and cost-center cross-references, then posted as journal entries via OData. Vendors are created or updated in the SAP business partner master. Because SAP Business One deployments are on-premise with customer-managed network access, ml-connector requires the customer to expose the Service Layer port or allow outbound network access to the SAP instance. OData does not support SQL-like joins, so vendor and GL lookups are performed as separate calls and results are correlated in-memory. All records carry an audit trail and failed GL posts are captured for replay after the blocking issue is resolved.
A real-world example
A mid-sized professional services company processes invoices from multiple subcontractors and vendors through Stampli's AP workflow, with approvals routed through their project managers. Their finance team uses SAP Business One to manage GL accounts, cost centers (projects and departments), and monthly closing. Before the integration, the accounts payable team exported approved invoices from Stampli as CSV each day and a finance analyst manually re-entered each invoice's GL account and project code into SAP Business One, a task that consumed 3 hours per week and created data-entry errors. With SAP Business One and Stampli connected, each approved invoice automatically posts to the correct project cost center and GL account in SAP, and vendors are kept in sync between systems. Invoice entry is now automatic, project billing is more accurate, and the finance team can start month-end close immediately without chasing down unposted invoices.
What you can do
- Post approved invoices from Stampli into SAP Business One's general ledger, mapped to the correct GL accounts and project cost centers.
- Sync Stampli vendors to SAP Business One business partner master records so vendor references remain aligned.
- Prevent duplicate invoice posting by tracking previously synced invoice identifiers.
- Poll Stampli's SFTP directory on a schedule aligned with your AP cycle, parsing CSV and XML file formats.
- Handle SAP Business One's session management and OData pagination with full audit logging and error replay on GL posting failures.
Questions
- Why does this integration use SFTP instead of a REST API?
- Stampli does not publish a public REST API; file-based integration via SFTP is the only third-party integration path without a formal Stampli partnership agreement. ml-connector polls Stampli's SFTP directory and processes exported invoice and vendor files on your defined schedule.
- How does ml-connector handle SAP Business One's session timeouts?
- ml-connector authenticates once per sync run using POST /Login, receives a B1SESSION token that remains valid for 30 minutes of inactivity, and reuses that token for all OData calls in the batch to avoid cold-start overhead. A single sync cycle completes well within the timeout window. If a call fails due to session expiry (error code -5002), the session is refreshed and the call is retried.
- What happens if SAP Business One's OData API returns a validation error for a GL account or vendor on an invoice?
- All validation errors are captured with the triggering record and logged to the audit trail. The record is marked as failed and held for replay. The finance team is notified so they can correct the dimension or GL account in SAP, and the record is retried on the next sync cycle without requiring manual data re-entry.
Related integrations
More SAP Business One integrations
Other systems that connect to Stampli
Connect SAP Business One and Stampli
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started