SAP · 2 min read

SAP SD–MM–FI Integration: Account Determination and Goods Issue

How a sales order is reflected in stock, cost and accounting; the integration points and the most common posting errors.

A sales order in SAP is not just a sales matter: stock goes down, cost arises, and receivables and revenue are posted. SAP SD MM FI integration keeps this chain running smoothly. Most complaints about "invoices posting to the wrong account" come from how this integration was designed.

1. Order: availability check

When an order is entered, the system checks whether enough stock or planned receipts exist on the requested date (ATP). The check rules decide whether stock, open purchase orders, production orders and safety stock are taken into account. A poorly designed check leads either to unnecessary delivery delays or to delivery promises that cannot be kept.

2. Delivery and goods issue: MM and FI postings

When goods issue is posted for a delivery, two things happen at once: the stock quantity goes down (MM) and cost of goods sold is posted to accounting (FI). The movement type depends on the delivery item category, and the accounts depend on the material's valuation class and inventory account determination. A material with a missing or wrong valuation class fails at goods issue or posts cost to the wrong account.

3. Invoice: revenue account determination

Every price line on the invoice is routed to a revenue, discount or freight account through the account key in the pricing procedure. Revenue account determination (VKOA) combines:

  • Sales organisation and chart of accounts
  • Customer account assignment group (for example domestic, export, intercompany)
  • Material account assignment group (for example finished goods, trading goods, services)
  • Account key (for example revenue, discount, freight)

This structure lets export revenue be tracked separately from domestic revenue, and service revenue separately from goods sales.

4. Receivables and collection

Posting the invoice creates the customer receivable. Payment terms are carried from order to invoice; wrong terms break due dates and the collection plan. Credit management also relies on this receivable data.

5. Profitability

Revenue, discount and cost postings flow into CO-PA. If account determination is wrong, the profitability report is wrong too, which is why SD, FI and CO teams must design it together.

Common errors and their root causes

  1. "Account determination error": the customer or material account assignment group is empty, or no entry exists for the combination.
  2. Invoice not released to accounting: account determination, tax code or closed period issues leave the invoice unposted.
  3. Cost on the wrong account: material master with a wrong valuation class.
  4. Reversal errors on returns: the return item category and movement type pairing was never checked.

A testing tip

Integration testing should look not only at whether a document is created but at the accounting entry it produces. For each scenario, write down the expected accounts in advance and compare them with the actual posting. The document flow screen shows the whole chain from order to accounting document in one place, making it the most practical tool for this. For an SAP analyst, this end-to-end view means seeing beyond module boundaries.

Frequently asked questions

What is VKOA used for?

VKOA determines which G/L accounts SD invoice lines such as revenue, discounts and freight post to, based on the combination of sales organisation, customer and material account assignment groups and the account key.

What if an invoice was not released to accounting?

Check the error log on the invoice first; the most common causes are a missing account determination entry, a closed posting period or a tax code issue. Once fixed, the invoice is released to accounting again.

Erhan AI — ERP & SAP Assistant

SAP S/4HANA & AI Consulting

Hello! I am Erhan Deniz's ERP and AI assistant. I can answer your questions about SAP S/4HANA (SD, ABAP, CO-PA), ERP consulting or AI solutions. How can I help you?