• Home
  • About Me
  • Contact Me
  • Downloads
  • White Papers
  • Web Sites
  • Post List
  • Articles
  • FAQ

Olof Simren - Microsoft Dynamics NAV & 365 Business Central Blog

  • Home
  • About Me
  • Contact Me
  • Downloads
  • White Papers
  • Web Sites
  • Post List
  • Articles
  • FAQ

Reversing Production Output and Consumption

October 27, 2016 Posted by Olof Simren Inventory, Manufacturing 40 Comments

Production orders in Dynamics NAV allows you to consume both less and more than what’s defined on the components and to output both less and more than what’s defined on the operations in the routing. There is no check when you post, which is nice (sometime I which it was like that on sales and purchase orders as well, but that’s a topic for another post). But when you post more than you wanted you need to be able to reverse it. Luckily reversing production output and consumption is easy if you know how to do it (if the production order has not been finished that is). This blog post describes how to reverse output and consumption on production orders, with and without item tracking.

There are two common scenarios for this (other than someone mistakenly posted more that they should); first one is if you have a process where you issue material against a production order and then return some of it to stock (could be a forward flushing of components for example) and the second one is if you output something that does not meet the expectations (e.g. quality rejects it and it needs to be scrapped). In both those cases you want to do the reversal transactions against the production order to get a correct costing, instead of just doing separate journal entries.

Let’s start with how to reverse consumption.

Reverse Consumption

The trick to reversing consumption is to simply post a consumption with a negative quantity, this will bring the component(s) back into inventory. It can be done in either the consumption or production journal, in the case below we are using the consumption journal where the Order No., Order Line No. and Prod. Order Comp. Line No. are first selected, this brings in the item number and description. After this you enter a negative quantity for what you want to bring back into inventory and make sure the location and bin code are where you want it to end up.

reverse-consumption-dynamics-nav

Note the Applies-from Entry, this field can be used to make sure that what goes back into inventory have the same cost as what went out. Not a difference if the component(s) are using the standard costing method, but important if they are using the FIFO or average costing method. What you are selecting in this field is the initial consumption transaction you want to reverse, NAV then links the two transactions and makes sure that if the cost of the initial consumption is changed the corresponding reversal is also changed accordingly.

Posting a negative consumption creates item ledger entries like below. The type is still Consumption, but the quantity is positive and the ledger entry is open.

reverse-consumption-item-ledger-entries-dynamics-nav

On a side note; if you have posted multiple consumption and no output and you want to reverse all the consumption then you can use the Calc. Consumption function in the consumption journal and change the Calculation Base On to Actual Output.

calc-consumtion-to-reverse-dynamics-nav

NAV will then generate a journal line for each component that’s been consumed with the corresponding quantities being negative (since it is looking at the output which is 0 and suggested what to adjust for the consumption to match this output).

reverse-all-consumptions-dynamics-nav

Reverse Consumption with Item Tracking

The next one is to reverse consumption for components that are tracked, in this example we are using a lot tracked component. Entering the journal is done the same as before except that the Applies-from Entry field is not selected.

reverse-consumption-item-tracking-dynamics-nav

Then as normal with tracked items you need to go to the item tracking lines to enter the lot number(s). Note that since this is an inbound transaction the lot number needs to be entered manually, then the Applies-from Entry is selected (same way as for the component without item tracking but this time in the item tracking lines page).

item-tracking-reverse-consumption-dynamics-nav

Posting the above then creates item ledger entries as below.

reverse-consumption-item-ledger-entries-with-lot-no-dynamics-nav

Reverse Output

Output can be reversed the same way as consumption; by doing a transaction with a negative quantity. The difference here is that you also have the capacity costs to potentially reverse. Reversing the output can be done in both the production and output journal, in the below case we are using the output journal where the Order No., Item No. and Operation No. are first entered. Then the output quantity is entered as a negative quantity and if you also want to reverse some of the capacity then you can also enter the setup and/or run time as negative numbers.

reverse-output-dynamics-nav

Note the Applies-to Entry that’s in this case mandatory and it defines what output item ledger entry to reverse. If you are reversing the output for an operation that is not the last one in the routing then you don’t need to enter this value.

If you have the case that some of the output is rejected by quality, then the reversal could be done by entering a negative quantity in the output quantity field and a positive quantity in the scrap quantity field. This way some of the previously posted output is turned into scrap and if you backflush any componants then this is important since you probably want the backflush of the components to be based on the total output including the scrap.

The item ledger entries created when posting the above output journal are as below.

reverse-output-item-ledger-entries-dynamics-nav

And reversing an output also create capacity ledger entries, the quantity here refers to the time (minutes in this case).

reverse-output-capacity-ledger-entries-dynamics-nav

Note that if you want to the setup and run time to default when you enter the output quantity and scrap then this blog post could give you some inspiration; Posting of Actual vs. Expected Production Time.

Reverse Output with Item Tracking

If the item that’s being produced is lot or serial number tracked, then you obviously also need to enter the lot or serial number that’s being reversed. The other difference compared to reversing the output for not tracked items is that you enter the Applies-to Entry in the item tracking pages instead of in the journal. As before this is only required if you are reversing the last operation.

reverse-output-journal-with-lot-no-dynamics-nav

Reverse Output with Subcontracting

This involves doing a purchase credit memo for the vendor, it is a commonly asked questions and I will save this for a separate blog post. Which will be a part 6 in my subcontracting series (the other parts are here if you are interested in subcontracting; Part 1, Part 2, Part 3, Part 4, Part 5).

Reversing a Finished Production Order

This is normally a hot topic, and there is no perfect way of doing it. If a production order has been changed to finished, then you cannot post any more transactions against it. NAV considers it done and have calculated the actual costs and reversed whatever there was in WIP and finalized it from a costing perspective (see production order posting into general ledger for more information). So it is highly recommended that the transactions against a production order are reviewed before finishing it, using the statistics page could help with this.

So, reversing a finished production order typically involves doing journal entries and from a cost and item tracing point of view it will never be perfect (since the costing and traceability in NAV is per production order line and doing something besides this will not affect it). What I have done in the past is a function in the item journal by which a user can select a finished production order and the journal will populate with lines that are as good as you can get from a costing and traceability point of view. This itself deserves a separate post, so stay tuned. 🙂

Remember to share this post if you find it useful.

Share this:

  • Click to share on Facebook (Opens in new window) Facebook
  • Click to share on X (Opens in new window) X

Related


Discover more from Olof Simren - Microsoft Dynamics NAV & 365 Business Central Blog

Subscribe to get the latest posts sent to your email.

Tags: CapacityComponentsConsumptionItem TrackingItem Tracking LinesOutputProductionRouting
40 Comments
Share
10

About Olof Simren

I am a Microsoft Dynamics NAV and 365 Business Central Expert, I started implementing Microsoft Dynamics NAV in 2002, back then it was called Navision Attain. Throughout the years there has been many exciting implementations in different parts of the world, all of them with different challenges but with one common theme; manufacturing. As a consultant, I bring over 20 years of experience in implementing Microsoft Dynamics NAV and 365 Business Central within manufacturing and distribution companies. The services I offer includes project management, consultation, development and training. Feel free to contact me if you need help with anything related to Microsoft Dynamics NAV or 365 Business Central. I work through my company Naviona where I team up with other skilled Microsoft Dynamics NAV and 365 Business Central Experts.

You also might be interested in

Create Production Order from Sales Order for Partial Quantity

Apr 21, 2014

Most of us know that you can create production orders[...]

Additional Outputs on Production Orders

Mar 24, 2014

Having additional outputs on production orders (sometimes refereed to as[...]

Production Lead Time using Routings

Jun 10, 2014

The production lead time if you are using routings in[...]

40 Comments

Leave your reply.
  • Henrik Ohm
    · Reply

    October 27, 2016 at 10:08 AM

    As always very nice description (please read Microsoft).
    One comment though: If you have no output and reverse consumption then you have to post at least one output line to let NAV place costs on. The PO cannot be deleted or finished before this is done.
    Question then arises: What quantity should the output have? If output =1 then this (probably) expensive 1 PCS is put on inventory. If output = quantity from the order then this is wrong too.
    If you output ex. 1 and then reverses -1 and remember to set Apply-to then it’s not on inventory which is correct but the cost still messes up item card Unit Cost.
    If you then also have to reverse capacity then WC/MC unit cost MUST be then same as at the time of consumption. If not then the cost reversed is from then cost consumed.

    Just a small note 🙂

    • Olof Simren
      · Reply

      Author
      October 27, 2016 at 10:56 AM

      Hi Henrik,
      Thanks for the comment.
      Yes, if you want to cancel the entire order and have transactions against it you would need to post an output, finish the order and then do a negative adjustment of the output.
      I always recommend to do this with a quantity of 1, the cost should be 0 if all the other transactions been reversed. Then you just do a negative adjustment in an item journal afterwards.
      I don’t think the cost gets messed up that much in doing this (except if you are using average maybe). You will have to adjust the right ledger entry out though.

      /Olof

  • Henrik Ohm
    · Reply

    October 27, 2016 at 10:11 AM

    Btw. I don’t think you can reverse output AND apply to original output. If I remember correctly then NAV won’t allow this.

    • Olof Simren
      · Reply

      Author
      October 27, 2016 at 10:57 AM

      No sure what you mean. Can you elaborate on this?

      /Olof

  • Diane Beck
    · Reply

    October 27, 2016 at 2:40 PM

    If all consumption and output has been reversed you can add code to verify the ledger transactions net to zero for the production order and allow the status change to finished by bypassing the error.

    • Olof Simren
      · Reply

      Author
      November 6, 2016 at 9:59 PM

      Good point! I think this in combination with Mirko’s solution that allows to change orders back to released from finished will provide some nice additions.

      • Mirko Draskovic
        · Reply

        November 7, 2016 at 2:36 PM

        Exactly…could not agree more.
        You could also have one Work center for correction purposes with specific unit cost setup on WC card,
        to post these reverse value entries. Just an idea, perhaps you really miss some entries on regular Work centers.
        Depends on issue – if you miss some “quantites” or not and you must just correct values on Prod.Order.

        Remember…we could also post negative “quantities” of hours, minutes, values 😉

        And…test first! Post, finish prod.order, inv.adjustment, check in GL.
        Then in production!! 🙂

      • Mirko Draskovic
        · Reply

        November 7, 2016 at 2:44 PM

        Well…Olof, if you look in mail, we’ve done this issue also.
        Reversing of prod.order is cool…as long as you don’t have already applied Output.
        Then…application worksheet is THE anwser.

        And of course…some activities on reversing consumption (Appplies-from in ItemJnlLine!!), capacities.
        Ultimate check is ALWAYS Prod.Order Statistics (F9 classic, F7 RTC). If this is zero, we’ve been successfull 🙂

        And then…of course: some “magic” on codeunit for Prod.Order Status change Released->Finished.

  • Antonio
    · Reply

    October 27, 2016 at 3:10 PM

    “… What I have done in the past is a function in the item journal by which a user can select a finished production order and the journal will populate with lines that are as good as you can get from a costing and traceability point of view. This itself deserves a separate post, so stay tuned. 🙂…”

    TUNED!

  • Mirko Draskovic
    · Reply

    October 28, 2016 at 9:01 AM

    About “hoot topic” : Reversing a Finished Production Order.
    Well…in our standard localisation database Status change Finished->Released is done.
    No big issue, some 2-4 hours developer job.

    It is much much better, to do Finished->Released and post reverse/additional transaction (corrections) to Prod.Order,
    then doing any other stuff (additional item journals etc). You almost always get costing issues on inventory accounts as a result.

    So, if you are interested, we must push this code to NAV developers to put it into standard.

    This is also managed via additional authorisation – only people, who REALLY know, what is done with status change,
    must be authorised. Normally this is someone inside controlling, who checks manufacturing costing at
    the end of the accounting period.

    • Olof Simren
      · Reply

      Author
      October 28, 2016 at 11:04 PM

      Hi Mirko,
      Thanks for you comment, this seems like a great solution.
      What localization is it in?

      Agree, this should be in all databases, not only some localized versions.

      /Olof

    • Antonio
      · Reply

      November 21, 2016 at 1:41 AM

      Hi Olof / Mirko,
      Following your suggestions I have finally come up with a new report that reverses Production Order from Finished Status to Release (pretty simple code). Basically it changes status in 4 tables: Prod. Order, Prod. Order Line, Prod. Order Component and Prod. Order Routing.
      After that, I run a customized process (we post capacity to each single reversed order), and then we change status back to Finished (this is done by calling standard codeunit).
      After some testing it seems to be working fine after we run Adjust Cost – Item Entries (RPT795): COGS is properly updated in all operations with new value).
      I would sincerely appreciate your comments on this procedure and specially if you think I am missing something…

      Olof, I haven’t found any differences in resetting record(s) in table 5896 following your advice in previous posts:

      “You will have to reset the record(s) in table 5896 to initiate a new cost adjustment”

      Seems to me this table has not any effect in what I am doing and that really puzzles me.

      Well, thank you both, and of course anyone interested in this code would be welcome.

      • Olof Simren
        · Reply

        Author
        November 23, 2016 at 9:19 AM

        Hi Antonio,
        Thanks for the information. I have not had time to look into this myself yet (but it is on my to-do list).
        For the tables I think you are missing a bunch of them. Table 5410 to 5416 for example. Look in codeunit 5407, function ‘TransProdOrder’ to see what tables Microsoft is including in a status change.
        I am not sure why it seems to work if you don’t update the records in table 5896. Maybe it is because when you change the order back to finished then the code (in CU 5407, function ‘TransProdOrderLine’) updates those records for you.
        I would also suggest that you look into the general ledger side of this modification. When you finish a production order NAV clears out the remaining WIP, if you change it back to released without changing the g/l and then posts additional output you might get a negative WIP. Just something to test I think.

        /Olof

        • Mirko Draskovic
          · Reply

          November 23, 2016 at 12:20 PM

          Olof,
          i believe we’ve solved this issue with Antonio 😉
          The right solution is in standard NAV status change, that allowes modification Finished->Released.

          So…when beer in Madrid? 🙂

          HND,
          Mirko

          • Antonio

            November 24, 2016 at 4:30 PM

            Mirko/Olof
            Mirko has kindly forwarded me their solution for changing status Finished to Released and, at this moment we are testing it but looks great.

            Beer in Madrid and Paella for lunch!

            Thank you Mirko, thank you Olof

      • Clifton
        · Reply

        August 6, 2019 at 10:19 AM

        Hi would you be so kind as to share this solution

    • Marcin Karpacz
      · Reply

      March 27, 2017 at 10:17 AM

      Hello Mirko!

      I’m here with the same problem as Antonio and the solution you described sounds great :). Is there any way you can pass it through? It would be very helpful.

      • Mirko Draskovic
        · Reply

        March 27, 2017 at 3:47 PM

        Marcin,
        send me an email, no prob. 😉

        M.

        • Marcin Karpacz
          · Reply

          March 28, 2017 at 3:42 AM

          Mirko,

          mkarpacz@eip.pl

          Thank you very much, I’m looking forward! 🙂

        • Hai
          · Reply

          June 27, 2017 at 9:26 PM

          Dear Mirko,

          Would you please also send me the solution via hainh12890@gmail.com?

          Thanks and best regards,
          Hai

        • kelseyk
          · Reply

          April 10, 2018 at 10:53 AM

          Hello Mirko,

          I have the same problem as others. May I know if you could share with me your solution? It sounds great! My email is kelseykong@hotmail.com

        • Derk Bernhardt
          · Reply

          June 5, 2019 at 5:15 AM

          Hi Mirko!

          If possible, it would be really nice if you can also send me a mail regarding the “hot topic”.

          db@consortio.dk

          Thanks a lot!
          Derk

        • Caroline
          · Reply

          August 15, 2019 at 6:35 PM

          Hi Mirko,

          Can you please send me the solution to faulknersabroad@gmail.com?

          Thank you.

          Caroline.

        • Ricster
          · Reply

          July 24, 2020 at 4:53 AM

          Hi Mirko,
          could you also send me the solution? markus.28@gmx.de
          Thank you very much!

  • Antonio
    · Reply

    November 6, 2016 at 3:38 AM

    Hi Olof, we got the opposite issue: we have forgot to post some capacity to a certain number of Production Orders, and these Orders are Finished.
    We have not post item value to G/L yet but many of this goods have already been sold (COGs is wrong due to this capacity cost missing).
    I was planning to make a “special” routine in order to post those capacity cost but I have discovered many inconvenients through item journal line table (there are hundreds of checks for production order to be in Release status than I would have to modify which really freaks me out).
    Now I am thinking on Plan B which consists in change (at brute force) the status of the production order from Finished to Released, do the missing postings and then change it back to Finished, but I am not 100% sure this would work.
    What would you suggest?
    Thank you very much.

    • Olof Simren
      · Reply

      Author
      November 6, 2016 at 9:55 PM

      Hi Antonio,
      I would probably try the plan B, changing the order back to released and then post the missing capacity costs.
      This is similar to what Mirko commented that’s in their local version of NAV.
      You will have to reset the record(s) in table 5896 to initiate a new cost adjustment. When changing the orders back to finished again should then correct the COG for what’s been sold already.
      Do in in a test environment first obviously. 🙂 Let us know how it goes!

      /Olof

  • Michael Opatrny
    · Reply

    November 10, 2016 at 6:29 PM

    To add to Olof’s observations, if you reverse the output at an operation that posted consumption through a routing link code, the consumption is also reversed.

  • John
    · Reply

    April 20, 2017 at 12:23 PM

    Hello Olof,

    Any update on Part 6 of Subcontracting? I’m really curious to see your take on “Reverse Output with Subcontracting”.

    I’m glad I found your website.

    • Olof Simren
      · Reply

      Author
      April 20, 2017 at 9:39 PM

      Hi John,
      Maybe soon, I have been busy with other things lately, but will make an attempt to get start blogging more again.
      Thanks for your comment!

      /Olof

      • John
        · Reply

        October 23, 2017 at 4:05 PM

        Hello Olof,

        Loving the website over the past months. I found this post again and wanted to follow up if you were taking Part 6 on.

        • Greg
          · Reply

          October 3, 2018 at 12:27 AM

          Hi Olof,

          First and foremost, your website has been extremely helpful and I wanted to thank you!

          Along with John and others, I am also very interested in how you would suggest a process for reversing output with subcontracting. I haven’t been able to come up with a straightforward way to handle rejects that must either be sent back to the vendor for rework or be scrapped altogether.

          It seems particularly complicated as responsibility for the cost may be covered by the vendor, covered ourselves (in which case an additional invoice to vendor will need to be paid), or split 50/50. Liability for cost isn’t always able to be determined until returned to vendor, and additionally, subcontracted items may be sent back to the vendor for rework/repair and determined that the item must be scrapped after attempting to do so by the vendor. It’s a real mess if we try to track and keep up with the movement of goods/costs…

          Looking forward to hearing from you.

          Thank you!
          Greg

          • Olof Simren

            Author
            October 14, 2018 at 3:49 PM

            Hi Greg,
            To reverse a subcontracting output you create a purchase credit memo.
            The trick is to copy the original document (either PO, posted purchase receipt or posted purchase invoice) and make sure the recalculate lines option is unchecked. This will copy the production order references that’s on the line of the purchase document into the purchase credit memo. You can then change the amount that will be credited before you post it. After posting it you can look at the capacity ledger entries of the operation to verify that it was reversed.

            /Olof

  • Milos
    · Reply

    June 7, 2017 at 12:17 PM

    Hi Olof,
    i have that stuation in warehouse entry,
    Open Reamining qty
    Rett. negativa 1 STOUT 76203510 O*****\USRNAS -77 NR 1 Sì -1 -1 -77 Reg. consumi OPR17-018863

    How can a negative remaining quantity?

  • Sanath
    · Reply

    July 31, 2017 at 1:24 PM

    Hi, We do FIFO and assembly. Several RPO’s have been closed with adjustment made not on the exact item used in “apply to” step. Hence, there is a net balance in the RPO. Somehow the system permitted the RPO to be closed without zero net amount. and now the RPO is the archive. How can I clear the archived RPO net balances? Why did the system permit archiving of RPO with balances and how to prevent it in future?
    I did try to change the status of archived RPO but the system does not permit it.

  • JimH
    · Reply

    October 30, 2017 at 4:31 PM

    Olof,
    If I reverse consumption of a serial tracked item in a released production order, the serialized item is returned to inventory. However, Item Tracing still shows that the item is contained in the assembly. How do i make Tracing report correctly?

  • Melanie
    · Reply

    August 26, 2018 at 8:03 PM

    Hi Mirko/Olof,

    I have learned a great deal on this discussion.

    If you can please email me the solution, Mirko, related to setting a Prod Order “from Finished to Released” at hthuser@outlook.com.

    Thank you.

    Melanie

  • Kepha
    · Reply

    February 7, 2020 at 5:15 AM

    Hi Simren and thank you for the insight.

    Have you done a post on Reversing a Finished Production Order?

  • ahdevin
    · Reply

    April 10, 2020 at 2:12 PM

    Hi Olof,

    Is there a way to reverse capacity ledger entries for a finished Production ORder?

    • Olof Simren
      · Reply

      Author
      June 5, 2020 at 7:58 AM

      Hi Ahdevin,
      Not in standard NAV. You will have to do journal entries (general journals to adjust the g/l, revaluation journals to adjust the inventory cost, etc..).

  • Abdelatif EL HANI
    · Reply

    November 24, 2020 at 10:58 AM

    Hi, Nice presentation thank you,

    But if the Item Ledger Entries are not Open, you’ll get nothing using the Calc. Consumption function, also if you create the Lines Manually you can’t Apply them. I did try to Unapply using the Application worksheet I can’t also. Any idea.

    Thank you

Leave a Reply

Your email is safe with us.
Cancel Reply

My Dynamics NAV Partner

Naviona, LLC

Developers Wanted

Naviona is looking for NAV/BC developers. Let me know if you want to work with the best (instead of the rest :-)).

Categories

  • Assembly (3)
  • Development (31)
  • Finance (14)
  • General (26)
  • Inventory (22)
  • Manufacturing (34)
  • Miscellaneous (25)
  • Purchase (9)
  • Sales (11)
  • Warehouse (7)

Tags

.net Add-in Assembly Assembly BOM CAL Capacity Components Consumption Contact Costs Customer Development Dimensions Excel Finance Flushing General Ledger Inventory Item Items Lot Size Low-Level Code MRP NAV 2015 NAV 2016 Output PDF Planning Production Production BOM Production Orders Purchase Orders Receipts Reporting Reports Role Center Routing Sales Sales Order Sales Orders Stockkeeping Unit Subcontracting Task List Warehouse Warehouse Shipment

Recent Posts

  • XML Buffer and CSV Buffer Tables
  • Functionality Improvements in NAV 2017
  • Reversing Production Output and Consumption
  • Return Merchandise Authorization (RMA)
  • Sales Quote without Customer
  • Parallel Routings
  • Add Fields to the Item Tracking Lines
  • Field Level Security using Events in Dynamics NAV 2016
  • Schedule MRP
  • Activate WMS Functionality for Existing Location

Categories

  • Assembly
  • Development
  • Finance
  • General
  • Inventory
  • Manufacturing
  • Miscellaneous
  • Purchase
  • Sales
  • Warehouse

Contact Us

We're currently offline. Send us an email and we'll get back to you, asap.

Send Message

Categories

  • Assembly (3)
  • Development (31)
  • Finance (14)
  • General (26)
  • Inventory (22)
  • Manufacturing (34)
  • Miscellaneous (25)
  • Purchase (9)
  • Sales (11)
  • Warehouse (7)

Tags

.net Add-in Assembly Assembly BOM CAL Capacity Components Consumption Contact Costs Customer Development Dimensions Excel Finance Flushing General Ledger Inventory Item Items Lot Size Low-Level Code MRP NAV 2015 NAV 2016 Output PDF Planning Production Production BOM Production Orders Purchase Orders Receipts Reporting Reports Role Center Routing Sales Sales Order Sales Orders Stockkeeping Unit Subcontracting Task List Warehouse Warehouse Shipment

Recent Posts

  • XML Buffer and CSV Buffer Tables
  • Functionality Improvements in NAV 2017
  • Reversing Production Output and Consumption
  • Return Merchandise Authorization (RMA)
  • Sales Quote without Customer
  • Parallel Routings
  • Add Fields to the Item Tracking Lines
  • Field Level Security using Events in Dynamics NAV 2016
  • Schedule MRP
  • Activate WMS Functionality for Existing Location

Recent Comments

  • Isabel de los Santos on Production Lot Sizes
  • Abdelatif EL HANI on Reversing Production Output and Consumption
  • Roshan on Processing of Receipts
  • kuldeep Nama on Subcontracting Part 1: The Basics
  • Janine on Flushing Methods
  • Nathalie on Activate WMS Functionality for Existing Location
  • Georges W on Bill-to vs. Sell-to Customer
  • Richard L on Subcontracting Part 4: Warehouse Receipts

© 2025 · Olof Simren

  • Home
  • About Me
  • Contact Me
  • Downloads
  • White Papers
  • Web Sites
  • Post List
  • Articles
  • FAQ
Prev Next