<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: 전현재</title>
    <description>The latest articles on DEV Community by 전현재 (@_705cc6dba923dce49293c).</description>
    <link>https://dev.to/_705cc6dba923dce49293c</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4078724%2F9a8d4640-3f41-4ec8-9252-f36b5469b0d5.png</url>
      <title>DEV Community: 전현재</title>
      <link>https://dev.to/_705cc6dba923dce49293c</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/_705cc6dba923dce49293c"/>
    <language>en</language>
    <item>
      <title>Subcontracting vs external processing in SAP — same shop floor, different books</title>
      <dc:creator>전현재</dc:creator>
      <pubDate>Sat, 15 Aug 2026 09:31:53 +0000</pubDate>
      <link>https://dev.to/_705cc6dba923dce49293c/subcontracting-vs-external-processing-in-sap-same-shop-floor-different-books-2aia</link>
      <guid>https://dev.to/_705cc6dba923dce49293c/subcontracting-vs-external-processing-in-sap-same-shop-floor-different-books-2aia</guid>
      <description>&lt;p&gt;Both arrangements mean the same thing on the shop floor: an outside vendor performs a step for you. The difference lives in the account determination, and you can identify which one a company actually implemented by reading the keys in the material document.&lt;/p&gt;

&lt;p&gt;Here are the three fingerprints, from a sandbox where I ran all of them on the same product.&lt;/p&gt;

&lt;h2&gt;
  
  
  In-house production
&lt;/h2&gt;

&lt;p&gt;Consumption posts with &lt;strong&gt;VBR / AUF&lt;/strong&gt;. The production order is the cost collector: components go in, the finished material comes out, and the order carries the difference until settlement.&lt;/p&gt;

&lt;p&gt;Nothing surprising — this is the baseline the other two get compared against.&lt;/p&gt;

&lt;h2&gt;
  
  
  Subcontracting
&lt;/h2&gt;

&lt;p&gt;You send components to the vendor (541 movement) and receive back a &lt;strong&gt;different material number&lt;/strong&gt;.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Consumption of the provided components posts with &lt;strong&gt;VBO&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;The subcontracting fee lands via &lt;strong&gt;BSV&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The fee gets its own account (9050 in my build) because it is a purchased service embedded in a material, not internal labour. From the system's point of view the vendor made the part; you supplied ingredients.&lt;/p&gt;

&lt;h2&gt;
  
  
  External processing
&lt;/h2&gt;

&lt;p&gt;The operation stays on &lt;strong&gt;your&lt;/strong&gt; production order. The order remains the cost collector (&lt;strong&gt;VBR / AUF&lt;/strong&gt;), and the external step arrives as an &lt;strong&gt;FRL&lt;/strong&gt; posting against a separate account (9070). The material never leaves your books as a different number — it is still your part, one of whose operations happened elsewhere.&lt;/p&gt;

&lt;h2&gt;
  
  
  The practical consequence for product costing
&lt;/h2&gt;

&lt;p&gt;This is where the choice stops being academic.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Subcontracting&lt;/strong&gt; appears in the standard cost estimate as a purchased price. The itemization gives you one line and no visibility into what that line is made of. If your cost estimate suddenly lost its material breakdown for one component, this is usually why — and it means your variance analysis for that part is blind.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;External processing&lt;/strong&gt; keeps the BOM explosion intact. You still see the components, and the external operation shows up as one more cost element alongside labour and machine time.&lt;/p&gt;

&lt;p&gt;Neither is wrong. But if someone asks "why can't I see what's inside this part's cost," the answer is often that a procurement decision, made years ago for entirely non-accounting reasons, collapsed the structure.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to tell which one you are looking at
&lt;/h2&gt;

&lt;p&gt;Open the material document and read the account determination key. VBO plus BSV means subcontracting. VBR/AUF plus FRL means external processing. VBR/AUF alone means you made it yourself.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;From a dumpling factory built from scratch in S/4HANA to document a full month end-to-end. There is a &lt;a href="https://jeonnow.gumroad.com/l/sarah-sap-sample" rel="noopener noreferrer"&gt;free 16-page sample&lt;/a&gt; of the write-up.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>sap</category>
      <category>erp</category>
      <category>manufacturing</category>
      <category>accounting</category>
    </item>
    <item>
      <title>GR/IR explained with real documents — why buying something has zero P&amp;L impact</title>
      <dc:creator>전현재</dc:creator>
      <pubDate>Sat, 15 Aug 2026 09:23:56 +0000</pubDate>
      <link>https://dev.to/_705cc6dba923dce49293c/grir-explained-with-real-documents-why-buying-something-has-zero-pl-impact-3216</link>
      <guid>https://dev.to/_705cc6dba923dce49293c/grir-explained-with-real-documents-why-buying-something-has-zero-pl-impact-3216</guid>
      <description>&lt;p&gt;A confusion I keep running into: people assume a purchase order does something to the books. It does not. I ran a full procure-to-pay cycle in an S/4HANA sandbox and pulled every document, so here is the actual accounting story with nothing hand-waved.&lt;/p&gt;

&lt;h2&gt;
  
  
  The purchase requisition and the purchase order post nothing
&lt;/h2&gt;

&lt;p&gt;No FI document. No CO document. They are planning objects — a statement of intent and a commitment to a vendor. If you go looking for their financial effect you will not find one, because there isn't one.&lt;/p&gt;

&lt;p&gt;This is worth internalising, because it means the moment money "happens" is later than most people assume.&lt;/p&gt;

&lt;h2&gt;
  
  
  Goods receipt is the first real posting
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Dr  1050 Raw materials      5,000
Cr  9010 GR/IR clearing     5,000
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The warehouse now has stock, and the books now carry a liability-shaped placeholder: &lt;em&gt;we have received goods we have not been billed for&lt;/em&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Invoice receipt closes it
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Dr  9010 GR/IR clearing     5,000
Cr  2100 Vendor (AP)        5,000
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The placeholder is replaced by a real payable.&lt;/p&gt;

&lt;h2&gt;
  
  
  GR/IR is the referee
&lt;/h2&gt;

&lt;p&gt;The GR/IR account exists to hold the disagreement between two departments who measure different things. The warehouse says "we received goods worth X." Accounting says "we were billed for Y."&lt;/p&gt;

&lt;p&gt;When GR/IR does not clear to zero, one of the two is wrong, and the account tells you which direction. That is the three-way match — purchase order, goods receipt, invoice — expressed as a single balance you can look at.&lt;/p&gt;

&lt;h2&gt;
  
  
  The consequence people miss
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;The entire purchasing cycle has zero P&amp;amp;L impact.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Nothing hits expense. Inventory goes up, a liability goes up, the balance sheet gets longer, and the income statement does not move. Cost appears later — when the material is consumed into a production order, or when the finished goods are sold.&lt;/p&gt;

&lt;p&gt;If your P&amp;amp;L moves when you &lt;em&gt;buy&lt;/em&gt; things, something is misconfigured. The usual culprit is an account assignment category sending the receipt straight to a cost center instead of to stock.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why this matters beyond bookkeeping
&lt;/h2&gt;

&lt;p&gt;Once you see procurement as "balance sheet only," a lot of downstream confusion resolves itself. The month where you buy heavily is not automatically a bad month. The cost shows up when the value is actually consumed, which is exactly what you want if you are trying to read a margin.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;This is from a dumpling factory I built from scratch in S/4HANA to document a full month end-to-end, every document number verified. There is a &lt;a href="https://jeonnow.gumroad.com/l/sarah-sap-sample" rel="noopener noreferrer"&gt;free 16-page sample&lt;/a&gt; of the write-up.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>sap</category>
      <category>erp</category>
      <category>accounting</category>
      <category>procurement</category>
    </item>
    <item>
      <title>A 36% margin became 6% at month-end, and nothing was posted wrong</title>
      <dc:creator>전현재</dc:creator>
      <pubDate>Sat, 15 Aug 2026 09:20:55 +0000</pubDate>
      <link>https://dev.to/_705cc6dba923dce49293c/a-36-margin-became-6-at-month-end-and-nothing-was-posted-wrong-56b1</link>
      <guid>https://dev.to/_705cc6dba923dce49293c/a-36-margin-became-6-at-month-end-and-nothing-was-posted-wrong-56b1</guid>
      <description>&lt;p&gt;I built a small manufacturing company end-to-end inside an SAP S/4HANA sandbox — one plant, one product, one month — specifically to watch what the month-end close does to a margin that looks healthy at billing time. Every number below comes from an actual document in that system.&lt;/p&gt;

&lt;h2&gt;
  
  
  At billing, the month looked good
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Revenue&lt;/td&gt;
&lt;td&gt;20,000&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;COGS at standard&lt;/td&gt;
&lt;td&gt;12,800&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Margin&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;7,200 = 36%&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Three days later, after the close, the same month landed at &lt;strong&gt;1,200 = 6%&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Nothing was posted incorrectly. Three gates took the 30 points, in this order.&lt;/p&gt;

&lt;h2&gt;
  
  
  Gate 1 — Cost center revaluation (KSS1 / KSII)
&lt;/h2&gt;

&lt;p&gt;The planned price for the labour activity type was derived the usual way: planned cost divided by planned activity quantity. Production orders consumed hours at that planned rate all month.&lt;/p&gt;

&lt;p&gt;Then the actuals arrived. Depreciation posted &lt;strong&gt;9,000&lt;/strong&gt; against a plan of &lt;strong&gt;3,000&lt;/strong&gt;. Activity quantity did not move. So the actual activity rate came out at roughly &lt;strong&gt;three times&lt;/strong&gt; the planned rate, and every hour any order had already consumed became retroactively more expensive.&lt;/p&gt;

&lt;p&gt;This is the part that surprises people: the damage was decided weeks earlier, in a transaction nobody files under "costing decisions" — planning the activity price.&lt;/p&gt;

&lt;h2&gt;
  
  
  Gate 2 — Order variance (KKS1 / CO88)
&lt;/h2&gt;

&lt;p&gt;With the revalued rate applied (CON2), the production orders no longer settled clean. The difference split across variance categories and settled to &lt;strong&gt;variance accounts&lt;/strong&gt; — not into inventory.&lt;/p&gt;

&lt;p&gt;That distinction matters. If it went to inventory, it would sit on the balance sheet until the goods were sold. It doesn't. It is parked, waiting for the next step.&lt;/p&gt;

&lt;h2&gt;
  
  
  Gate 3 — Actual costing (CKMLCP)
&lt;/h2&gt;

&lt;p&gt;This is the step people forget, and it is where the margin actually dies.&lt;/p&gt;

&lt;p&gt;The actual costing run rolls the variance into the material's periodic unit price, and then moves the portion belonging to what was &lt;strong&gt;already sold&lt;/strong&gt; into COGS. Before this run, the P&amp;amp;L still looked fine. After it, the 6,000 that had been sitting in variance found its way onto the income statement.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I took from it
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;A margin at billing time is a &lt;em&gt;standard&lt;/em&gt; margin. It is a statement about the cost estimate, not about the month.&lt;/li&gt;
&lt;li&gt;The three gates are a pipeline: revalue the rate, recompute the order, move the difference to the sold goods. Skip the third and the books look better than they are.&lt;/li&gt;
&lt;li&gt;A 3x error on planned depreciation is a 3x error on every labour hour the plant books, and it is invisible for four weeks.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you own product costing: how do you catch a drifting activity rate &lt;em&gt;before&lt;/em&gt; the close, rather than explaining it afterwards? I would genuinely like to hear the practical answers.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;This is from a dumpling factory I built from scratch in S/4HANA to document a full month end-to-end. There is a &lt;a href="https://jeonnow.gumroad.com/l/sarah-sap-sample" rel="noopener noreferrer"&gt;free 16-page sample&lt;/a&gt; of the write-up if you want to see the format.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>sap</category>
      <category>erp</category>
      <category>finance</category>
      <category>accounting</category>
    </item>
  </channel>
</rss>
