How Spruce integration keeps data in sync
What syncs from Spruce in real time, what posts back, and what happens when the sync breaks.
Drypowder connects to ECI Spruce to pull AR data and post settled payments back to the general ledger. This article explains what data flows in each direction and what to expect.
How the integration works
Drypowder connects to ECI Spruce through ECI's private API in a real-time, bidirectional sync. AR data flows from Spruce to Drypowder automatically, and settled payments post back to the Spruce GL through the auto-post workflow. The connection is configured during onboarding, and there is nothing to import or upload by hand.
What syncs from Spruce to Drypowder
The following data flows into Drypowder in real time:
| Data | Description | Used in |
|---|---|---|
| Customer accounts | Account name, number, type, status, contacts | Customers Dashboard |
| Open invoices | Invoice number, date, due date, amount, balance, status, job | Customers Dashboard, Payments portal |
| Credit adjustments | Credits, discounts, write-offs | Customer detail, Payments portal |
| Debit adjustments | Additional charges, corrections | Customer detail, Payments portal |
| Statements | Statement balance, discount date, due date, and the items rolled into the statement | Last Statement view in the Payments portal |
When any of these change in Spruce, the change appears in Drypowder in real time. There is no polling interval or overnight batch.
What posts from Drypowder to Spruce
Settled payments are posted to the Spruce GL through the settlement workflow:
| Data | Description | When |
|---|---|---|
| Invoice postings | Payment amounts applied to specific invoices | When an operator runs auto-post on a settlement |
| Debit adjustment postings | Debits applied with payments | Same |
| Statement discount | The discount amount when a customer pays a full statement by the discount date | Same, on statement payments |
| Credit adjustment postings | Credits applied with payments | Posted manually in Spruce; they do not auto-post |
This post-back closes the loop. When a customer pays through the Payments portal, the payment is eventually recorded in the Spruce GL so the customer's balance in the ERP reflects the payment.
Note that GL posting is not fully automatic. It requires an AR operator to run the posting wizard on each settlement. Even on Spruce, only invoices auto-post; debit and credit adjustments are always posted manually by downloading a file and confirming it.
Credit adjustments are the exception. Drypowder does not post credit adjustments automatically, because Spruce does not currently offer a way to post them through the integration. An AR operator applies each credit adjustment by hand in the Spruce posting screen, posting it to the account, and to the specific open items when the account is an open-item (volume) account.
Data freshness
Data is real-time. When an invoice is created in Spruce, it appears in Drypowder within seconds. When a customer opens the Payments portal, they see the same balance their dealer sees in the ERP at that moment.
What happens if the sync breaks
Integration issues are rare, but if connectivity between Drypowder and Spruce is interrupted:
- Drypowder continues to work with the most recent data. Balances and invoices reflect the last successful sync.
- Payments can still be submitted because the payment flow does not depend on a live Spruce connection at the moment of payment.
- GL postings are queued and will process when connectivity is restored.
- The sync resumes automatically. No manual intervention is required.
Related
- Reconcile and post settlements — Posting to the GL.
- How payments flow from invoice to GL — The full payment journey.
- How payments post to the general ledger — What the entry looks like inside Spruce.