What breaks when Salesforce billing address fields don't sync to AR?
Loopfour's Salesforce integration polls Account records, so an address update sits unsynced for the poll interval — an invoice can go to a stale address if generated inside that window. The other break: Salesforce's Billing* fields are named differently from HubSpot's flat address fields, so a mapping copied between the two CRMs maps to nothing.
Part of the finance integrations guide.
| Symptom | An invoice or statement is addressed to a customer's old billing address |
|---|---|
| Root cause #1 | Poll-only sync — no Salesforce webhook exists in this integration, so updates lag by up to one poll interval |
| Root cause #2 | Field-name mismatch — Salesforce uses BillingStreet/BillingCity/etc.; HubSpot uses flat address/city/etc. A mapping copied between the two maps to nothing |
| Where to check | The Account record's BillingAddress fields directly in Salesforce vs. what the workflow last read |
The staleness window is structural, not a bug
Loopfour's Salesforce integration has no webhook or change-event handler — there's no directory of event/normalize/match code the way there is for HubSpot in this same matrix. Every read of an Account's billing address happens on a poll, which means a change made in Salesforce is invisible to the workflow until the next scheduled poll runs. If an invoice or a dunning notice generates inside that window, it uses whatever address was current at the last poll, not the one just entered.
The second failure mode: copying a HubSpot mapping onto Salesforce
HubSpot's Company object exposes billing-address-equivalent data as flat, non-prefixed fields (address, city, state, zip, country). Salesforce's Account object uses Billing*-prefixed names (BillingStreet, BillingCity, BillingState, BillingPostalCode, BillingCountry) for the same concept. A field mapping built for one CRM and reused for the other, without renaming each field, maps to nothing — the workflow reads empty values rather than erroring, because the source field simply doesn't exist under that name on the other object.
How to catch either one
For staleness: compare the address on a just-generated invoice against the Account record directly in Salesforce, not against what the workflow's last poll cached. For a mapping mismatch: an address field reading consistently empty across every Account, not just one, points at a wrong field name rather than missing data — a genuinely empty billing address on one customer is normal, but every customer showing empty is a mapping bug.
Next step
Map the finance workflow with the most exposure and prove the automation path.
Bring the invoice, contract, payment reconciliation, or customer finance workflow you have to defend at audit. Loopfour can map the trigger, controls, integrations, and approval loop.
Worked example
An invoice mailed to a customer's old address three days after they moved
A customer's AP team updates their company's BillingStreet and BillingCity in Salesforce on Monday morning after relocating offices. The workflow's Account poll runs once every 24 hours, overnight. An invoice for that customer generates Monday afternoon — before that night's poll — and goes out addressed to the old office. The billing team only finds out when the customer calls asking why their invoice references an address they left three days earlier. Nothing in the sync failed; the poll interval was simply wider than the gap between the address change and the invoice run. The fix isn't a bug fix — it's either shortening the poll interval for Account data specifically, or triggering an ad hoc Account refresh immediately before generating an invoice rather than trusting the last scheduled poll.
Frequently Asked Questions
Sources
Related
Topic
AR & Collections
Accounts receivable is the money customers owe a business for goods or services already delivered on credit — a current asset on the balance sheet until it's collected. AR and collections, as a practi…
Read moreTopic
Integrations
Every finance automation vendor publishes an integrations page: a grid of logos, a claim of "seamless" connectivity, and not much else. That page answers a marketing question — does this vendor touch…
Read moreDiagnostic
What breaks when a HubSpot quote line item is missing recurringbillingfrequency?
HubSpot's recurringbillingfrequency property on a quote line item isn't required or enforced — a line item can be created and a quote published without it. A workflow reading that quote to build a revenue recognition schedule can't tell a one-time charge from a recurring one without it, so the line has to default to one-time or get flagged for manual review.
Read moreHow-to
How do I sync Salesforce Account billing addresses for AR?
Loopfour's Salesforce integration reads the Account object's Billing* fields — BillingStreet, BillingCity, BillingState, BillingPostalCode, BillingCountry — directly, since Salesforce has no separate billing-address object. The integration polls Account records rather than reacting to webhooks, so a workflow needs to schedule that poll rather than expect real-time updates.
Read more