Product: Dynamics 365 for Finance and Operations
When a Trading Partner sends a Purchase Order (850) that includes Services, Allowances, or Charges (SAC) — such as freight fees, discounts, or taxes — Dynamics 365 for Finance and Operations requires a SAC Cross Reference to be configured before those values can be imported and applied to the Sales Order. Without this setup, the SAC data transmitted on the incoming Purchase Order will not map to any charge in Dynamics 365 for Finance and Operations.
The SAC Cross Reference is configured at the Order Type level and can be set at either the Company or Customer level. SACs can be received at either the Header level or the Line level of the Purchase Order — both are configured using the same process.
Configuring SAC Qualifiers
The SAC Cross Reference configuration is located within the Order Type settings. SAC qualifiers are organized into two groups depending on where the SAC appears within the incoming Purchase Order (850):
Header Level — SAC segments sent at the top-level summary of the Purchase Order
Line Level — SAC segments sent tied to a specific item on the Purchase Order
Confirm with your Trading Partner whether SACs are transmitted at the Header or Line level on their Purchase Order (850) before configuring.
Navigate: EDI → (Cross References) → Customer Cross Reference
Navigate: (Trading Partner) → Inbound → (Order Types)
Select: Desired Order Type → Details
Navigate: Qualifiers → Allowance/Charge Qualifiers
Select: New/Edit
Header and Line Level SACs are defined separately. Be sure to check which group you've selected when modifying your Allowance/Charge Qualifiers
Field Reference
Field | EDI Element | Description |
Allowance/Charge Code | SAC02 | The SAC code identifier transmitted by your Trading Partner on the Purchase Order (e.g., D240 for Freight, H850 for Tax, C310 for Discount). |
Transmitted As | SAC01 | Indicates whether the SAC is transmitted as an Allowance (A) or a Charge (C) by the Trading Partner. |
Handling Code | SAC12 | An optional handling code sent by the Trading Partner. Leave this field blank if no SAC12 value is present on the Purchase Order. |
Report |
| Controls how the system handles an unmatched or unexpected SAC during import. Options include: Do Not Report, Error Document, or Warn. |
Assign As |
| Determines how this SAC is treated in Dynamics 365 for Finance and Operations — as an Allowance or a Charge. Setting to Allowance will result in a negative imported value; setting to Charge will result in a positive value. |
Charge Code |
| The Dynamics 365 for Finance and Operations charge code to create when this SAC is imported. This is the value that will populate in the Maintain Charges screen upon import. |
Keep After Invoicing |
| A Dynamics 365 for Finance and Operations-specific setting that determines whether the charge remains on the order after invoicing. Set based on your accounting and business requirements. |
Apply to Lines (Percent Only) | SAC07 | Only applicable when using the Percent (SAC07) transmitted value option. When enabled, the percentage-based SAC will be distributed and applied across the individual order lines. |
Transmitted Value to Use |
| Specifies which SAC element will be used to pull the value on import. Choose one of the following: |
Once all fields are configured, select OK to save the entry. The SAC Cross Reference record will be applied the next time a Purchase Order (850) containing that SAC code is imported.
Verifying the SAC on Import
After importing a Purchase Order (850) that contains a configured SAC, Dynamics 365 for Finance and Operations will create a MarkupTrans record for the mapped charge code. To confirm the SAC imported correctly, navigate to the Maintain Charges screen on the resulting Sales Order.
The location of the charge within Maintain Charges depends on the SAC level configured:
Header Level SACs — The imported charge will appear under the Sell tab
Line Level SACs — The imported charge will appear under the Financials tab on the specific order line
On a successful import you will see:
Charge Code — Populated with the charge code defined in the SAC Cross Reference
Charges Value — Populated with the value pulled from the SAC element selected in Transmitted Value to Use (for example, SAC05 if Amount was selected)
If the Assign As field was set to Allowance, the imported value will appear as a negative amount. If set to Charge, it will appear as a positive amount.
rev 08/27/26



