Connect AFAS to Salesforce
In Salesforce you work with accounts and opportunities; in AFAS, the Dutch ERP and HR suite, with customer accounts, orders and invoices. Connect them and a won opportunity becomes a customer account and order without retyping, while the account manager sees in Salesforce what the customer bought and what is outstanding.
- Account to customer account comes from Salesforce
- Products to order comes from Salesforce
- Customer account number goes to Salesforce
- Outstanding items goes to Salesforce
- Credit limit or block goes to Salesforce
Built for clients including Tata Steel, M&G Investments, Digistore24, Toppers in Concert, Bar-le-Duc and Loogman
If your Salesforce is set up extensively, with account hierarchies, custom objects and validation rules, AFAS is usually the financial administration next to it. In between sits manual work: an opportunity is marked as won, someone exports the data and finance enters it into AFAS. The more customisation in Salesforce, the more can go wrong in that transfer.
The second problem is in the numbers. The sales director wants to see revenue per account in Salesforce; the financial controller looks in AFAS. If the two aren't connected, the figures differ, and the meeting is about which number is right instead of about the customer.
For each item: which direction it goes, when, and why. This is the starting point; in the first conversation we fit it to your situation.
- 01Account to customer accountSalesforce → AFAS Profitwhen an opportunity moves to Closed Won
The account and billing contact become an organisation with a sales relation in AFAS. With Change Data Capture, Salesforce publishes an event when a record is created or changed; the integration only responds to the Closed Won stage.
- 02Products to orderSalesforce → AFAS Profitright after the customer account is created
The products on the opportunity become a sales order in AFAS through FbSales. Products in Salesforce need a field with the AFAS item code for this.
- 03Customer account numberAFAS Profit → Salesforceas soon as AFAS has created the customer account
The AFAS number goes into a custom field on the account. Every later synchronisation matches on it.
- 04Outstanding itemsAFAS Profit → Salesforcedaily
Invoices with date, amount and status as related records on the account. The account manager sees in Salesforce what has been invoiced and what is overdue.
- 05Credit limit or blockAFAS Profit → Salesforceon a change in AFAS
If you keep a credit limit or block on a customer account in AFAS, the integration sets it on the account. A validation rule in Salesforce can then stop a new opportunity being won before finance has had a look.
Not always. If an existing integration for AFAS Profit and Salesforce does exactly what you need, we'll tell you.
Search the AFAS Partnerportal and the Salesforce AppExchange for an integration that fits your set-up. With Salesforce, pay particular attention to how the integration handles custom fields, record types and validation rules. A standard integration knows the standard fields; a required custom field or a validation rule can block it.
Also weigh up the API limits. Salesforce adds up all inbound API requests per org per 24 hours, across REST, SOAP and Bulk API. For Enterprise Edition that starts at 100,000 and grows with your licences. An integration that requests all accounts every few minutes shares that allowance with all your other integrations.
- Account hierarchies in Salesforce need to land correctly in AFAS, for example a parent company that receives the invoice for several locations.
- You work with several currencies or with an AFAS administration per country.
- Quotes or contracts are built in Salesforce with custom objects that a standard integration doesn't know about.
- The integration has to be sparing with API requests, because many integrations already run on your Salesforce org.
AI reads, sorts and prepares a suggestion. Where it matters, a person decides.
Mapping line items to items
If opportunity products have free-text descriptions, AI can suggest an AFAS item for each line based on description and price. Someone in order processing confirms; only then does the integration create the order. Confirmed choices become the fixed mapping for next time.
Account overview before a meeting
From invoices and outstanding items, AI can produce a short overview per account: what was bought, what is outstanding, what stands out. It appears as a note in Salesforce. The AI step only gets read access to the GetConnectors for that account, not to the rest of the administration.
Leading system per field
Salesforce leads for account name, owner and contacts; AFAS for customer account number, billing address, payment terms and VAT. Record this per field and let the integration write only in the leading direction.
Validation rules and required fields
A validation rule that helps a person can block an integration. Test the whole chain in a Salesforce sandbox and an AFAS test environment before going live, with real examples from your own organisation.
Sparing with API requests
Respond to change events instead of periodically requesting everything, and only request changed records from AFAS. That keeps you within the Salesforce 24-hour limit and the AFAS fair-use policy.
Account hierarchy
An account with child accounts doesn't automatically become one customer account in AFAS. Decide beforehand whether each account gets its own customer account or whether the parent account receives the invoice.
What goes where
Which data moves, in which direction, and which system wins when two values differ. That is written down before anything gets built. For this integration, that means: Account to customer account, Products to order, Customer account number, Outstanding items, Credit limit or block.
Fields and rules
For every field, how it translates between the systems: statuses, VAT codes, general ledger accounts, item numbers. And what happens with a duplicate or a missing value. For this integration, that means: Leading system per field, Validation rules and required fields, Sparing with API requests, Account hierarchy.
Testing with real cases
In a sandbox or test administration, with the exceptions you actually run into: credit notes, partial deliveries, changed customer details.
Live, with logging and monitoring
Every sync is logged, and when something fails, someone gets an alert. If a vendor changes its API, we update the integration.

No account manager. You talk to someone who builds integrations themselves, and who will tell you when a standard integration is enough.
- Office on the Duivendrechtsekade in Amsterdam
- ISO 9001 and ISO 27001, certified by Kiwa
- 500 projects delivered
- 4.8 from 127 reviews
How do I connect AFAS to Salesforce?
Through the APIs of both: the AFAS Profit connectors and the Salesforce API. A won opportunity becomes a customer account and order in AFAS through UpdateConnectors, and invoices and outstanding items go back to Salesforce through GetConnectors. First check the AFAS Partnerportal and the AppExchange for an existing integration that fits.
Does an AFAS integration count towards the Salesforce API limit?
Yes. Salesforce adds up all inbound API requests from your org per 24 hours, whether they come in through REST, SOAP or Bulk API. The limit depends on your edition and licences. An integration that responds to changes instead of requesting everything uses far fewer.
Can I show AFAS invoices in Salesforce?
Yes. The integration fetches invoices and outstanding items per customer account from AFAS and adds them as related records on the account. Sales then sees status and amount without access to AFAS. Changes are only made in AFAS.
How do I test an AFAS–Salesforce integration safely?
Use a Salesforce sandbox and an AFAS test or acceptance environment. A sandbox is separate from production, so what you do there doesn't touch your real data. Test with real examples, including exceptions such as account hierarchies and international customers.
Which system leads?
You decide that per field. Usually Salesforce leads for commercial data and AFAS for everything to do with invoicing. Record it before the integration is built, or the systems will overwrite each other.
Related services
- Connect AFAS to HubSpotConnect AFAS to HubSpot: a won deal becomes a customer account and order in AFAS, and sales sees in HubSpot which invoices are still outstanding.
- Connect AFAS to TOPdeskConnect AFAS to TOPdesk: employees, departments and branches flow from AFAS into the service desk, and a new starter or leaver triggers a request.
- Connect AFAS to Microsoft 365Connect AFAS to Microsoft 365: a new employee in AFAS gets an account and groups in Entra ID, and the account is blocked when they leave the organisation.
- Connect AFAS to ChatGPTConnect AFAS to ChatGPT: give an AI assistant safe access to AFAS through an MCP server with limited permissions, and keep salary and BSN data out of it.
- Connect Exact Online to SalesforceConnect Exact Online to Salesforce: opportunities to the right administration, payment status back, and a set-up that fits within the Exact API limits.
- Connect Twinfield to SalesforceConnect Twinfield to Salesforce: won opportunities become invoices in the right administration, and open items come back to your account team in Salesforce.
Sources
The technical facts on this page come from the vendors' official documentation, checked on 19 September 2026. Vendors change their APIs and limits; when we build an integration, we always check the current state.
- AFAS Help Center: Adding and changing sales relations (KnSalesRelationOrg, in Dutch)
- AFAS Help Center: Adding, changing or deleting orders (FbSales, in Dutch)
- AFAS Help Center: Fetching changed data with a GetConnector (in Dutch)
- AFAS Partnerportal: Integrations (in Dutch)
- Salesforce Developers: API Request Limits and Allocations
- Salesforce Developers: Change Data Capture
- Salesforce Help: Sandbox Types and Templates



