Finance gets the most from Salesforce when the ERP or accounting system stays the book of record. Salesforce then carries the commercial story behind each number. Show invoice, payment and credit status on the account, synced rather than retyped. Govern discounts and non-standard terms through a deal desk. Agree written definitions for bookings, billings and revenue. Then lock down financial fields so both teams trust what they see.
Where should finance's numbers live, and where does Salesforce fit?
The ledger, invoices, payments and recognized revenue belong in the ERP or accounting system. Salesforce should hold the context: who bought, on what terms, who approved the discount and when the contract renews.
Trouble starts when the CRM becomes a second, unofficial ledger. Reps type invoice amounts into opportunity fields, someone exports them, and month-end turns into an argument about which spreadsheet is right. Draw the line early. Anything that posts to the general ledger is mastered outside Salesforce and copied in as read-only. Anything about the deal itself is mastered in Salesforce and handed to finance once it becomes billable.
That split keeps the audit story simple. Auditors look at the ERP for revenue, and at Salesforce for evidence of what was agreed and approved.
What finance data is worth showing inside Salesforce?
Show the few figures an account owner needs before a call or a renewal: invoice status, payment status, overdue balance and whether the customer is on credit hold. Everything arrives from the ERP and stays read-only.
- Open invoices with status, due date and amount outstanding, as a related list or a summary on the account.
- Last payment date and amount, so nobody chases a customer who paid yesterday.
- An aging summary, such as current, 30, 60 and 90-plus days, held as a few roll-up fields rather than every line.
- A credit hold flag and credit limit, set by finance in the ERP and mirrored on the account.
- The ERP customer number, so either team can jump straight to the source record.
Summaries are usually enough. Copying every invoice line into Salesforce adds storage, sync volume and reconciliation work for little benefit. Our Salesforce accounting integration guide covers the field mapping and connector choices for QuickBooks, Xero, Sage Intacct and Business Central. The ERP integration guide covers larger order-to-cash patterns.
| Finance need | System of record | What to show in Salesforce | Sync direction |
|---|---|---|---|
| Customer master and bill-to details | ERP or accounting system after first invoice | Bill-to address, tax ID, ERP customer number | Salesforce to ERP at creation, then ERP to Salesforce |
| Discount and terms approval | Salesforce | Approval history on the quote or opportunity | Stays in Salesforce, terms passed to ERP with the order |
| Orders and contracts | Salesforce until booked, then ERP | Order status and ERP order number | Salesforce to ERP, status back |
| Invoices and billing status | ERP, accounting system or a billing app | Open invoices, status, amount due | ERP to Salesforce, read-only |
| Payments and AR aging | ERP or accounting system | Last payment, aging buckets, overdue total | ERP to Salesforce, read-only |
| Credit holds and limits | ERP, set by finance | Hold flag and limit on the account | ERP to Salesforce, read-only |
| Recognized revenue | ERP or revenue subledger | Usually nothing, or a summary for executives | ERP to reporting tool, rarely into the CRM |
| Subscriptions and renewal dates | Salesforce contracts or billing system | Renewal date, current annual value, renewal opportunity | Depends on where billing runs; agree one owner |
How should a deal desk handle discounts and non-standard terms?
Route every exception through one documented approval matrix inside Salesforce. Reps should know before they submit who will approve, and finance should see the history on the record.
A practical matrix has two axes. One is the size of the exception, such as discount depth or total contract value. The other is the type, such as payment terms, billing frequency, termination rights or custom pricing. Small discounts may need only a sales manager. Extended payment terms or unusual liability language should always reach finance or legal.
- Write the matrix in a shared table before building anything, and have sales and finance leaders sign it off.
- Capture non-standard terms as structured fields, not free text in a notes box.
- Lock pricing and terms fields once approval is granted, so changes trigger a fresh approval.
- Report monthly on approval volume and turnaround time, which shows whether thresholds are set sensibly.
Our guide to Salesforce approval processes walks through how to build multi-step approvals and avoid bottlenecks.
Why doesn't Closed Won match the revenue finance reports?
Because they measure different events. Closed Won records a commercial commitment on a sales date, while revenue follows accounting rules about when value is delivered.
Three terms cause most of the confusion. A booking is the signed commitment, often measured as contract value or annualized value. A billing is the amount actually invoiced in a period. Revenue is what accounting recognizes, which under standards such as ASC 606 can be spread over the service period. How those rules apply to your contracts is a question for your accountants and auditors, not your CRM configuration.
Salesforce can make the gap explainable rather than mysterious. Agree a written definition of a booking, including how multi-year deals, renewals and expansions count. Store the inputs finance needs, such as contract start and end dates, billing frequency and the split between recurring and one-time amounts. Then label reports clearly, so a sales dashboard showing bookings is never mistaken for a revenue report.
If forecasts and finance plans keep drifting apart, look at stage definitions and close-date discipline first. The usual causes are covered in our forecast accuracy article.
Where should subscription and renewal data live?
Pick one system to own contract terms, quantities and renewal dates, and copy them everywhere else. Two systems each holding their own version of a renewal date is a reliable source of missed renewals.
If quoting runs through Salesforce CPQ or Revenue Cloud, contracts and subscriptions usually start there and flow to billing. If billing runs in a separate subscription platform, that platform often becomes the owner, and Salesforce shows renewal date and current value. Customer success teams need the same view to plan renewals, which our customer success guide discusses. For quoting choices, see our guide to Quotes, CPQ and Revenue Cloud.
Can Salesforce handle billing natively?
It can, through Salesforce's Revenue Cloud billing capabilities, though many companies keep invoicing in the ERP they already close the books in. Native billing is worth evaluating mainly when invoices depend heavily on quotes, amendments, usage or subscriptions.
Salesforce markets Revenue Cloud Billing as covering invoicing, payments and collections, with journal entries and options to sync billing data to an ERP. Salesforce has renamed and repackaged these products several times, and the earlier Salesforce Billing package still runs in many orgs. Before you plan around them, check today's product names, editions and licensing with your Salesforce account team.
Even with native billing, the ERP typically remains the general ledger. The design question becomes which entries flow to it, at what level of detail and how often.
How can account teams see collections context without becoming collectors?
Give account owners a signal and a next step, not a collections workload. Finance keeps ownership of dunning, while sales knows when a conversation needs care.
- A visible credit hold banner on the account and on open opportunities, driven by the synced flag.
- An alert to the account owner when a balance passes an agreed age threshold, sent by a scheduled flow.
- A rule that blocks new orders, or routes them to finance, while a hold is active.
- A shared task or case for disputed invoices, so finance and sales work from the same notes.
Agree the tone with finance before switching alerts on. Account owners should hear about overdue balances in time to help, but the collections conversation stays with the people who own it.
Which controls should protect financial fields in Salesforce?
Use field-level security, permission sets and field history so only the right people can change financial data, and every change leaves a trail. Integration users should be the only writers for synced ERP fields.
- Make synced fields such as balances, invoice status and credit hold read-only for everyone except the integration user.
- Restrict sensitive fields, such as margin or cost, to the roles that need them, using field-level security and permission sets.
- Turn on field history tracking for discount, price, terms and close date. Salesforce documents a limit of 20 tracked fields per object.
- Separate duties: the person who requests a discount should never approve it, and admins should not approve deals.
- Review who holds powerful permissions, such as modify all data, on a regular schedule.
When standard history is not enough, Salesforce Shield adds Field Audit Trail for longer retention and more tracked fields. Our guides on the Salesforce sharing model and on whether you need Salesforce Shield cover both in more depth.
What makes a finance team trust Salesforce reports?
Trust comes from agreed definitions, a reconciliation check and visible data freshness. Without all three, finance will keep rebuilding numbers in spreadsheets.
Publish a short glossary on each dashboard that explains what bookings, pipeline and annual value mean there. Add a sync timestamp, so readers know how current the ERP figures are. Each month, compare bookings in Salesforce against orders booked in the ERP and investigate any gap above an agreed tolerance. Our guide to dashboards leadership will actually use covers layout and ownership.
What does a sensible first phase look like for finance?
Start with visibility and approvals, then move toward deeper billing or subscription changes. Phase one should make the CRM useful to finance without changing how the books are kept.
- Agree the ownership table above with finance, sales and operations leaders.
- Write the booking definition and approval matrix, and get them signed off.
- Sync customer numbers, invoice status, aging summary and credit hold from the ERP into Salesforce.
- Build the deal desk approval flow with locked fields and approval history.
- Add field-level security and history tracking on financial fields.
- Publish one bookings dashboard with a glossary, plus a monthly reconciliation routine.
Native billing, revenue reporting and commission automation can follow once phase one has held up through a few month-end closes.
Two of our projects show the integration side. A manufacturer connected NetSuite to Salesforce through Boomi as part of a broader cleanup that brought all 99 reps onto Salesforce. At a biotech company, MuleSoft integrations linked Salesforce, NetSuite and Stripe with automated payment sync, ending manual payment entry.
Abstrakt Solutions, a Salesforce partner since 2017, helps finance and sales teams agree what each system owns before anything gets built.

