Resolver fields
Most writable endpoints let you point at a related record by your external key (or another natural key) instead of the Business Central number, so you never have to look the Business Central value first.
A resolver is a convenience column that works in both directions. On a write you send it; the endpoint finds the target record and sets the underlying foreign key for you. If it cannot find a match it errors, so SmartConnect is notified of a bad key. On a read the column returns the related record's Integration Id, so the same column maps cleanly whether SmartConnect is pushing data in or reading it back out.
The common resolvers
| Column | Resolves | Seen on |
|---|---|---|
customerIntegrationId | Customer by its Integration Id | Sales documents, Contacts, Customer Payments |
vendorIntegrationId | Vendor by its Integration Id | Purchase documents, Contacts, Vendor Payments |
itemIntegrationId | Item by its Integration Id | Pricing lines, inventory adjustment lines |
itemNumber | Sets Type = Item and the item No. in one shot | All document lines |
transferFrom/ToLocationIntegrationId | Location by its Integration Id | Transfer Orders |
appliesToInvoiceIntegrationId | Posted invoice by its Integration Id | Credit Memos, Payments |
balancingAccountNumber | Bank or G/L account (polymorphic by type) | Journals, Payments |
Every resolver has a plain-number sibling (e.g.
customerNumber). Send whichever key you hold.Where they show up
- Sales Orders and the other document endpoints to resolve the customer, item, and location on the header and its lines.
- Customer Payments: settle a posted invoice by your own key with
appliesToInvoiceIntegrationId. - The Integration Id: the external-key contract these fields resolve against.
- Working with SmartConnect: where resolver fields sit in a SmartConnect target map.