Whenever one company code sells or transfers material to another company code within the same organization — say, a manufacturing plant in one legal entity supplying a sales entity in another — that's an intercompany process. It looks similar to a normal sales or procurement flow on the surface, but there are two company codes involved instead of one, which changes both the document flow and the configuration behind it.
The two flavors of intercompany process
Most intercompany scenarios in SAP fall into one of two patterns:
- Intercompany Stock Transfer — material physically moves from a plant in one company code to a plant in another, with no "sale" to an external customer involved yet.
- Intercompany Sales — a sales order is placed on one company code (the selling entity), but a different company code (the delivering plant) actually supplies and ships the goods, which triggers a separate intercompany billing document between the two company codes.
Intercompany Stock Transfer — the document flow
This runs through a Stock Transport Order (STO) rather than a standard purchase order, though it behaves similarly:
ME21N— create the STO (a special PO document type, typicallyUB), referencing the supplying plantVL10B— create the outbound delivery from the supplying plantVL02N/PGI— post goods issue, which removes stock from the supplying plantMIGO— post goods receipt at the receiving plant, which brings stock in
Intercompany Sales — where billing comes in
This is the more commonly discussed intercompany scenario because it touches both SD and MM. The flow looks like:
- Customer places an order with the selling company code — a standard sales order
- The order is sourced from a plant that belongs to a different company code (the delivering entity)
- The delivering plant ships directly to the end customer
- Two billing documents get created: a standard customer invoice from the selling company code, and a separate intercompany billing document (billing type
IV) from the delivering company code to the selling company code
The intercompany invoice uses its own pricing procedure, typically driven by condition type PI01, which represents the internal transfer price — separate from what the end customer is actually charged.
Key configuration pieces to know
- Plant assignment — the delivering plant must be assigned to a different company code for the system to even recognize this as an intercompany scenario
- Internal customer/vendor linkage — each company code needs to be set up as a customer (for billing) and/or vendor (for procurement) of the other
- Intercompany pricing procedure — separate from customer pricing, this determines the internal transfer price via condition type
PI01 - Order type / billing type — intercompany billing runs on its own billing type (
IV), distinct from the standard customer invoice (F2)
Where this usually goes wrong
The most common issue: the intercompany billing document doesn't generate at all. Nine times out of ten, that traces back to either the plant-to-company-code assignment being incomplete, or the internal customer/vendor master records not being linked correctly between the two company codes. If the delivery goes through fine but billing is stuck, that's the first place to check — not the pricing procedure.
Watch the full walkthrough above for how this looks end-to-end in a live system.
Subscribe for more →