SAP S/4HANA Intercompany Process Setup Guide: STO, Pricing, Billing and Reconciliation
sap s4hana intercompany process set up guide
Also searched as
- intercompany stock transfer order S/4HANA
- sap intercompany billing setup
- intercompany STO configuration
- sap intercompany reconciliation
Short answer
The intercompany stock transfer flow in S/4HANA runs from a stock transport order (ME21N) in the receiving company, through a delivery (VL10B) and goods issue from the supplying plant, to goods receipt, intercompany billing (VF01 with billing type IV), and an incoming invoice in the receiving company. Setup needs plants, customer and vendor assignments, delivery type, intercompany pricing and account determination.
Applies to: SAP S/4HANA on-premise (1909 and later); steps for ECC are similar, with Business Partner replacing separate customer and vendor masters in S/4HANA
How to set up the intercompany process
- 1Create the plants, and assign each to its own company code (OX18). The supplying and receiving plants belong to different company codes.
- 2Maintain the receiving plant as a customer and the supplying plant as a vendor via Business Partner (BP), and enter these numbers in the plant details so SAP finds them.
- 3Assign a delivery type and checking rule to the document type and supplying plant (OMGN), typically delivery type NL for intercompany STO.
- 4Define a supplying plant for the receiving plant in the purchasing info or the material's procurement settings, so STO and MRP can find the source.
- 5Set the intercompany billing: billing type IV, copy control from the delivery, and an intercompany price condition (commonly PI01 for the price per item or IV01 for a percentage).
- 6Create account determination for the intercompany billing and for the inventory transfer, so the sales and COGS-type postings are separated correctly.
- 7Test the whole cycle: ME21N > VL10B > VL02N (goods issue) > MIGO (goods receipt) > VF01 (IV) > MIRO, then compare balances in both company codes.
Stock transfer versus intercompany sales
A stock transport order (document type UB for intra-company, and a type configured for intercompany use such as NB with supplying plant) moves stock between plants. Within one company code, it moves stock only. Between company codes, the stock movement must be paired with a billing step because legal entities exchange value.
There are two broad designs. In the STO route, the receiving side raises a PO-based transport order and the supplier ships and bills. In the intercompany sales route, the receiving company places an ordinary sales order through a customer record. Both use billing type IV for intercompany billing.
Pricing and the intercompany invoice
Intercompany pricing is a separate price. It is usually the transfer price, not the external sales price. PI01 uses a price per item from a condition record, and IV01 applies a percentage to the cost or sales price. The price is the base for the billing document IV.
The IV billing document creates a receivable in the supplying company and, after the incoming invoice is posted via MIRO, a payable in the receiving company. Both entries are intercompany balances to be eliminated at consolidation.
Transfer pricing is a tax and legal topic. Agree rates with finance and tax before you configure condition records.
Reconciliation
Intercompany receivables and payables will never match unless goods issue, goods receipt and invoice are posted in the same period, so planned timing matters. Use a clearing process or an intercompany reconciliation app (the Fiori apps differ by release) to match open items.
Run a simple stock in transit check, looking at delivered but not received quantities, to see where the process is stuck.
-- Stock in transit: STO items issued but not fully received
SELECT EBELN, EBELP, MATNR, WERKS, MENGE, WEMNG
FROM EKPO WHERE EBELN IN (SELECT EBELN FROM EKKO WHERE BSART IN ('UB','NB'))AND WEMNG < MENGE
Try it here, free
SAP Intercompany Reconciliation Worksheet
Pairwise intercompany balance comparison with difference, percent difference and reason tagging, ready for the close meeting.
Common pitfalls
- !Putting both plants in the same company code and then wondering why no billing happens.
- !Missing customer or vendor number on the plant, so the STO cannot determine the partner.
- !Using the external sales price for intercompany billing without tax review.
- !Posting goods issue and goods receipt in different periods, leaving large in-transit balances.
- !Missing account determination for the new combination.
How an ERP-grounded AI assistant handles this
Finance IT teams use this to find intercompany documents that stopped between delivery, goods receipt and billing. Netray's ERPray can run this kind of lookup in plain language against your own SAP system, read-only by default, showing the query it ran and respecting SAP authorizations, with the model served on your own hardware when the system is on-prem. It explains and finds the data; it does not replace configuration decisions or post documents without human approval.
Frequently asked questions
What billing type does SAP use for intercompany billing?
The standard type is IV (intercompany billing), created from the delivery using copy control and an intercompany price condition. Your system may use a custom billing type derived from it.
Is a stock transport order enough for intercompany transfers?
Only if the plants are in the same company code. For different company codes you need the billing step so the legal entities record the sale and purchase, plus pricing and account determination.
What is PI01 in SAP pricing?
PI01 is the standard intercompany price condition type, a price per item maintained as a condition record. IV01 is the percentage variant used in intercompany billing.
Does S/4HANA change the setup?
The overall flow is the same as in ECC. The main differences are Business Partner for customer and vendor masters, the Universal Journal for postings, and new Fiori apps for monitoring and reconciliation.
Related
How to run intercompany transactions in NetSuite (OneWorld)
Enable the Intercompany Framework and Automated Intercompany Management features (Setup > Company > Enable Features > Company), then create an Intercompany Sales Order or Purchase Order between two subsidiaries in the same NetSuite account; NetSuite auto-generates the matching intercompany transaction on the counterparty subsidiary and posts the elimination journal entries during period close if Advanced Intercompany Journal Entries is also enabled.
Error fixSAP VF04 Billing Due List Is Empty: Why Documents Do Not Appear
VF04 only lists documents that are billing relevant, not yet fully billed, not blocked, complete, and inside the selection dates you entered. When a delivery or order is missing, the cause is almost always one of: goods issue not posted, a billing block, an incompletion, wrong billing relevance on the item category, or a billing date outside the selection range.
Error fixSAP Pricing Error: Condition Record Missing for PR00 in a Sales Order
The error means the pricing procedure expected a price condition such as PR00, found no valid record for the key, and the condition was flagged mandatory. Use the pricing analysis in the order item to see which access failed, then create the record with VK11, or fix the pricing procedure determination if the wrong procedure was selected.
Error fixSAP M7 021: Deficit of SL Stock Quantity
M7 021 fires during a goods issue, delivery, or confirmation when SAP checks the unrestricted-use (SL) stock for the exact plant, storage location and batch combination and finds less than what you are trying to post out. Fix the entry (batch, storage location, quantity) first; only enable negative stock or downgrade the message to a warning if the business genuinely needs to post ahead of a receipt.
Error fixSAP IDoc Status 51: Application Document Not Posted
Status 51 tells you the IDoc reached the application layer and failed to post, but the status text itself is not the error - the real cause sits in the status record's long text or the linked application log. Fix the underlying data or configuration, then reprocess the IDoc through BD87 rather than editing the status.
Error fixSAP Short Dump TIME_OUT: Maximum Runtime Exceeded
A TIME_OUT runtime error means a dialog (or RFC) work process ran longer than the maximum allowed runtime, controlled by profile parameter rdisp/max_wprun_time (600 seconds by default). The fix is almost always to move the long-running work to background processing or tune the underlying program, not to raise the timeout.
AI for ERPAI for SAP S/4HANA, Running On-Prem or in Your Private Cloud
Run AI on SAP S/4HANA without sending ERP data to a public API. On-prem and private-cloud architecture, CDS views, OData, and honest deployment trade-offs.
Stuck on SAP S/4HANA?
Talk to engineers who work inside SAP S/4HANA every week, and who build private AI that answers these questions from your own ERP data.
Keep exploring
Free tools
- SAP Intercompany Reconciliation WorksheetPairwise intercompany balance comparison with difference, percent difference and reason tagging, ready for the close meeting.
- SAP SD Pricing Condition Price CalculatorWalk a sales order line through a typical SD pricing procedure and see net value, invoice total and margin. Sweep the customer discount to see margin erosion.
- SAP SD Milestone Billing Plan CalculatorSplit a contract value across milestones, clear an advance proportionally and see the net invoice and retention for each step.
ERP fixes and how-tos
- Freight Cost in SAP MM: Planned and Unplanned Delivery CostsHow to handle inbound freight in SAP MM: planned delivery costs on the PO, freight condition types, unplanned costs in MIRO, and the GR/IR and stock impact.
- Pricing Procedure in SAP MM, with a Worked PO ExampleHow the SAP MM purchasing pricing procedure works: condition types, calculation schema, schema determination, a worked PO and how freight is captured.
- SAP VF04 Billing Due List Is Empty: Why Documents Do Not AppearVF04 shows nothing to bill? Walk through goods issue status, billing blocks, incompletion, billing relevance and selection dates that hide deliveries and orders.
Guides
- SyteLine Intercompany Trading Setup GuideConfigure intercompany sales and purchase order automation in Infor SyteLine with transfer pricing, automatic PO generation, and elimination processing.
- How to Set Up Intercompany Transactions in SyteLineGuide to setting up intercompany transactions in Infor SyteLine. Configure intercompany trading partners, transfer pricing, elimination entries, and consolidated reporting.
AI on your ERP
- AI for SAP S/4HANA Sales and Distribution (SD) That Explains Orders, Pricing and BlocksAI for SAP S/4HANA SD: order status, delivery and billing blocks, pricing explanations and credit holds in plain English. Read-only, on-prem option.
- AI for SAP S/4HANA Finance Close (FI/CO) That Traces the Universal Journal for YouAI for SAP S/4HANA financial close: query the universal journal, trace allocations and variances, and manage close tasks. On-prem option, read-only by default.
Integrations
- How to add AI agents to SAP S/4HANAAdd AI agents to SAP S/4HANA through released OData APIs, BAPIs and events, with a tool layer, read-first scoping and human approval before any posting.
- How to add WhatsApp to SAP S/4HANAHow to connect WhatsApp Business to SAP S/4HANA: OData APIs, business events, template messages, opt-in rules and two-way replies that post back to SAP.