Copy Control
SD / O2Cintermediate

Configuring Copy Control: Requirements, Routines, and Field-Level Controls

Go deeper into how copying requirements, data transfer routines, and item-level control fields shape pricing, quantities, and document flow updates during copy control processing.

Explanation

Once a consultant understands that copy control exists at header, item, and schedule line levels, the next essential skill is understanding the mechanics of the three core building blocks that make copy control actually work: copying requirements, data transfer routines, and item-level control indicators such as pricing type, copy quantity, and positive/negative quantity handling. Copying requirements are validation routines, identified by a number, that are checked at runtime before a copy is allowed to proceed. They are implemented as ABAP form routines within a designated program (in standard SAP, these live in reserved routine pools reserved for copy control logic). A copying requirement typically checks conditions such as document status, completeness, blocking flags, or custom business logic (for example, requiring that a credit check status is not blocking before allowing a billing document to be created from an order). If the requirement is not met, the system either suppresses the specific item, blocks the entire document, or issues an error or warning message, depending on how the routine is written and where it is checked (header versus item level). Consultants rarely write these routines directly from scratch in a vanilla implementation; more commonly, they select an existing standard requirement number that matches the business need, or work with a developer to create a custom routine when standard numbers do not cover a specific rule, following the extension approach recommended for the release in use. Data transfer routines control how individual field values are transferred from the source document to the target document. Rather than a blind field-to-field copy, these routines allow transformation logic: for example, deciding whether a reference document number, a purchase order number, or a specific pricing element should be copied as-is, recalculated, or left blank in the target document. Like copying requirements, data transfer routines are numbered and are selected per item category combination at the relevant level (header, item, or schedule line). Beyond requirements and routines, several item-level control fields deserve close attention because they directly affect pricing accuracy and quantity handling, which are frequent sources of production defects: - Pricing type: this field determines whether pricing conditions are copied unchanged from the source document, whether pricing is redetermined completely, or whether only certain elements (such as taxes or freight) are recalculated while others are retained. Getting this wrong is one of the most common root causes of invoice price discrepancies, since an incorrect pricing type can cause stale conditions to be carried into an invoice that should have reflected updated pricing conditions, or conversely cause a full price redetermination when the business expected the originally quoted price to be honored. - Copy quantity and positive/negative quantity indicator: these control how the target document quantity is derived from the source, and whether the quantity should be added or subtracted in the running total used for completeness tracking (relevant for scenarios like returns, where a negative quantity indicator is needed so that the return properly offsets the original delivered quantity in document flow tracking). - Update document flow: this indicator determines whether the link between source and target document is recorded in the document flow table used for tracking and reporting purposes; disabling it (rare, and generally not recommended for standard scenarios) breaks the visual and reporting trail between documents. A practical configuration exercise a consultant performs is copying an existing, well-tested copy control entry (for example, from standard order type OR to delivery type LF) as the starting template for a new custom document type, then carefully reviewing every one of these fields rather than assuming defaults are correct, since defaults copied from an unrelated document type pairing can silently introduce pricing or quantity errors that only appear in specific edge-case scenarios during production, such as partial deliveries or return processing.

Code example

ABAP Code
Example: Item-level copy control configuration comparison for two scenarios Scenario A - Standard order (OR) to invoice (F2), item category TAN, transaction VTFA:  Copying requirement: 002 (Item - not fully invoiced, no credit block)  Data transfer routine: 003  Pricing type: 'B' (carry out new pricing, common when invoicing directly from order without delivery)  Copy quantity: 'C' (copy from order, remaining open quantity)  Pos./neg. quantity: '+'  Update document flow: X Scenario B - Standard order (OR) to returns order (RE), item category REN, transaction VTAA:  Copying requirement: 303 (Returns order specific check)  Data transfer routine: 251  Pricing type: 'D' (copy pricing elements unchanged, since the return should reference original pricing for credit calculation)  Copy quantity: unchecked (quantity entered manually by user during returns creation)  Pos./neg. quantity: '-' (negative, so returns reduce the cumulative delivered/invoiced quantity in document flow)  Update document flow: X Note: exact standard routine numbers vary by SAP release and should always be verified in the actual system rather than assumed from memory.

Real project scenario

During a S/4HANA on-premise implementation, the pricing team reported that invoices created directly from sales orders (bypassing delivery, for a services process) were showing outdated prices that did not reflect a mid-cycle price list update. Investigation traced the issue to the pricing type field in the VTFA copy control entry between the service order type and the billing type, which was set to copy pricing unchanged from the order rather than redetermine it. Because services orders in this process were sometimes invoiced weeks after order creation, the business actually needed fresh pricing at billing time. The consultant changed the pricing type to trigger new pricing determination at the item level, tested it against a representative sample of open orders, and coordinated the change through a transport with sign-off from the pricing and finance teams because it affected revenue recognition timing.

Common mistakes

โ€ข Changing the pricing type in copy control without understanding the downstream impact on already-priced open orders and in-transit documents. โ€ข Confusing data transfer routines with copying requirements, since both are numbered fields but serve different purposes (one validates, the other transforms field values). โ€ข Assuming a copying requirement failure always produces a clear error message, when some routines silently skip an item without an obvious message, leading to confusing missing-item support tickets. โ€ข Setting the positive/negative quantity indicator incorrectly for returns or credit processes, causing document flow quantities and open-order reporting to be wrong even though individual documents look correct. โ€ข Making copy control changes directly in a shared development client without testing across the full order-to-cash chain, causing regressions in unrelated document type combinations that share the same item category.

Best practices

โ€ข Always verify actual routine numbers and behavior in the target system rather than relying on memorized standard values, since custom implementations frequently add or modify these routines. โ€ข Change pricing type deliberately and only after confirming with business stakeholders whether original quoted pricing or current pricing should apply at the point of invoicing. โ€ข Test copy control changes using representative documents from each affected item category and order type combination, not just one example. โ€ข Keep a change log for copy control modifications, including business justification, since these settings have wide-reaching impact on financial reporting and document consistency. โ€ข Coordinate copy control changes affecting pricing or quantity indicators with finance and controlling teams, since these fields directly influence revenue recognition and reporting accuracy.

Interview angle

A common intermediate-level interview question asks the candidate to explain the difference between a copying requirement and a data transfer routine, and to give an example of how pricing type in copy control can cause an invoice to show the wrong price. Strong candidates also mention that these are release- and system-specific settings that must be verified in the actual configuration rather than assumed, demonstrating awareness that memorized routine numbers are not universally reliable across all SAP versions and custom implementations.