QuickBooks Desktop and Stampli integration
QuickBooks Desktop handles your general ledger and vendor master. Stampli automates invoice capture, approval, and payment execution. Connecting them closes the loop between AP automation and accounting: approved invoices from Stampli flow into QuickBooks Desktop as bills, vendor master changes keep both systems aligned, and GL account mappings ensure payments land on the correct cost centers. ml-connector manages the Windows-hosted SOAP agent polling, SFTP file polling, and session token authentication required by QuickBooks Desktop.
What moves between them
The main flow runs from Stampli into QuickBooks Desktop. Approved invoices and vendor master updates are exported by Stampli to SFTP on its internal 5-minute cycle. ml-connector polls Stampli's outbound SFTP directory on a schedule aligned with your AP cycle (typically every 15 minutes), reads the exported invoice and vendor CSV files, deduplicates based on vendor ID and invoice reference, maps Stampli GL accounts and accounting dimensions to QuickBooks Desktop account names, and creates or updates bills and vendors in QuickBooks Desktop via QBWC SOAP calls. Vendor records flow in both directions to keep the master synchronized. GL account mappings are validated against the QuickBooks Desktop instance before any bill write to prevent posting to invalid accounts. Bill payments execute in Stampli; QuickBooks Desktop records them as ReceivePayment or BillPaymentCheck entries linked to the original bill.
How ml-connector handles it
ml-connector runs as a scheduled task that manages two polling loops: one to watch Stampli's SFTP outbound directory, and one to call QuickBooks Desktop's QBWC endpoint. For Stampli, it uses SFTP credentials to connect to the customer-provided directory, reads CSV exports of invoices and vendors, applies deduplication based on invoice reference and vendor ID (since Stampli's file export includes duplicate detection but a retry on the ml-connector side could re-process), and buffers the records. For QuickBooks Desktop, it opens a new session by calling QBWC's SOAP authenticate() with a pre-agreed username and password, receives a session ticket (GUID), and uses that ticket for all subsequent QBXML calls within the session. Before writing any bill, it verifies that the vendor exists in QuickBooks Desktop (or creates it if absent) and that the mapped GL account is present; this prevents bills from posting to deleted accounts or vendors that no longer exist. The EditSequence requirement in QuickBooks Desktop means that updates to existing vendors require re-querying the current version counter before modification. QBWC's 60-second request timeout means large bill batches are paginated. SFTP and SOAP both retry on transient failures with exponential backoff, and every record in the Stampli export carries an audit entry in QuickBooks Desktop via a memo field so the original invoice reference is always traceable.
A real-world example
A mid-sized wholesale distributor runs QuickBooks Desktop for accounting and vendor management, and deployed Stampli to automate invoice receipt, approval, and payment across a networked office. Before the integration, the AP team exported approved invoices from Stampli weekly, manually created bills in QuickBooks Desktop by re-keying vendor, amount, and account information, and reconciled Stampli's payment records against QuickBooks Desktop each month. After integrating Stampli with QuickBooks Desktop through ml-connector, each approved invoice in Stampli automatically becomes a bill in QuickBooks Desktop within 15 minutes, with vendor and GL account populated correctly. The AP team no longer re-keys invoices, and month-end reconciliation takes hours instead of days because invoice approval and bill creation are synchronized.
What you can do
- Export approved invoices and vendor records from Stampli via SFTP and create or update corresponding bills and vendors in QuickBooks Desktop.
- Map Stampli GL accounts and cost centers to QuickBooks Desktop accounts and verify them before posting to prevent invalid account errors.
- Manage QuickBooks Desktop SOAP session authentication via QBWC, including session token generation and lifecycle.
- Deduplicate invoices across sync runs and validate vendor and account existence before writing bills to QuickBooks Desktop.
- Poll Stampli and QuickBooks Desktop on configurable schedules aligned to your AP cycle, with full audit trails and transaction lineage.
Questions
- How does ml-connector handle QuickBooks Desktop's requirement for a QBWC polling agent?
- ml-connector sends SOAP calls to a QBWC endpoint you configure, providing a username and password. QBWC calls the SOAP authenticate() method to obtain a session ticket, and ml-connector uses that ticket for all subsequent QBXML calls in the session. The session ticket is renewed on each QBWC poll cycle. QuickBooks Desktop must be running and logged in on the customer's Windows machine for the agent to process requests.
- What happens if a vendor or GL account in the Stampli export does not exist in QuickBooks Desktop?
- ml-connector validates that the mapped vendor and GL account exist in QuickBooks Desktop before creating any bill. If the vendor is missing, it creates the vendor record first using the Stampli vendor master data. If the GL account does not exist in QuickBooks Desktop, the record is logged as an error and not written; an audit entry flags the account mismatch so the AP team can either add the account or remap the Stampli GL dimension.
- How does Stampli's file-based integration work without a REST API?
- Stampli exports approved invoices and vendor data to a customer-provided SFTP server on approximately 5-minute cycles for invoice and GL data. ml-connector polls that SFTP directory on a configurable interval (typical 15 minutes) and retrieves the CSV files. Deduplication is built into Stampli's export, but ml-connector implements additional dedup logic based on invoice reference and vendor ID to handle retries. No REST API calls or webhooks are involved; the integration is entirely file-based over SFTP.
Related integrations
More QuickBooks Desktop integrations
Other systems that connect to Stampli
Connect QuickBooks Desktop and Stampli
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started