Skip to Content

One of my favorite memories during my first SAP deployment was the task to resolve COGI errors after go live. After I was assigned this role, I remember scouring the web, searching ‘What are COGI’s?’ and ‘Tips for resolving COGI errors’ hoping to enlighten myself prior to go live. Not surprisingly, my search turned up mostly forum posts about specific error messages and seemingly helpful articles that required payment. I’m not sure that scanning a few articles would have helped much for the puzzles that lie ahead. Luckily I had an incredible mentor and strong functional teammates to learn from. I even had a plant resource assigned solely to help me resolve COGI’s! By the end of the week, I was jokingly referred to as the ‘COGI Queen’.

My hope for this blog is to provide a useful resource with best practices and common error messages as well as my insights from experience. Ultimately, I think this should be a wiki, and I’d appreciate any advice on where to place this and your insights and comments. Note that this blog will be particularly relevant for a manufacturing environment.

Let’s start with the basics. COGI stands for Controlling Goods Issued and is a standard SAP transaction which shows a report of automatic goods movement errors. Automatic Goods Issues are carried out by the production confirmation if the Backflush indicator is set on the MRP 1 View.

  • Backflushing is a goods issue of materials to the production line.
  • The quantities for backflushing are controlled by the component quantities on the BOM.
  • The storage location from which the components are issued is controlled by the Issue Storage Location on the MRP1 View of the Material Master.

When the master data for finished goods is set up properly, the automatic goods issue will execute without error whenever a production confirmation (partial or final) is entered. The automatic goods receipt may fail for one of the following reasons:

  • The Issue Storage Location field on the material master is blank.
  • The storage location is blocked for that material (eg. during a physical inventory).
  • There is an insufficient level of inventory in the system for the component(s) back flushed.

Now let’s lay the ground rules:

1. Start by viewing COGI in summation view by plant (default view). If you’re viewing this for the first time after go live, relax. You will likely see a very large number of errors, but hopefully many are multiples of the same error. Note that records are grouped by material, movement type, and error message with the number of errors for each record after the error message code. If you dare, try viewing the COGI’s in individual records display (select radio button at bottom of selection screen). Here you will see each error as an individual record. This view is ideal when troubleshooting errors and not for an overall summary. Drill in to a COGI by double clicking on the record. You can navigate right from the COGI error to view the material master, order, stock, and stock/requirements list (depending on your SAP version). Note that transaction COGI is just the starting point for resolving COGI’s. You will need to view and edit material masters, Production/Process Orders, Vendor Masters, post inventory movements, view stock, view stock requirements list, etc. Be ready to dig deep!

2. As a best practice, DO NOT DELETE COGI errors!! This is your only (or at least the easiest) indication that there is an issue with stock that needs to be addressed. Make sure your key users know and live by this rule. It will bite you later if you delete a COGI without addressing it first. There are a few cases where you can delete a COGI after resolving the issue. Typically, pressing the save button and/or refresh button after resolving an error does the trick.

3. Check the COGI report on a daily basis. During go live, this report is a great representation of the accuracy of BOMs. For example, a BOM with the incorrect amount of a material, the wrong material, or the wrong amount of scrap can cause a COGI. Resolving these issues requires correcting the BOM and correcting stock with a physical inventory count. Never let a COGI sit for more than a week. Resolving these errors is very important because it keeps the integrity of orders and stock in SAP.

4. Before cancelling a Production Order confirmation, correct the COGI errors from the original confirmation to avoid creating additional errors.

5. A big part of resolving COGI’s is understanding the story behind the error. The best way to understand is to get in the plant and talk to the people that do the confirmations and can show you and explain what happened. I learned so much about resolving errors by actually seeing the materials I was editing and understanding the types of BOM’s I was working with.

6. Document everything! Unfortunately standard SAP COGI does not keep a record of COGI’s. So after they are deleted or cleared, you have no record of the quantity or type of errors at a given time. I exported the COGI errors for each plant every hour for the first day, and twice a day for four or six weeks after go live. I had several charts showing the decline of COGI’s after go live that were circulated around the team and to leadership. COGI count was a good KPI after go live! You’ll also want to document what you did to resolve COGI’s for auditing purposes and to save time when you see the same error again!

**Note that if someone is viewing a record in COGI, it will be locked. Also note that if a user selects all records and saves, that users name will show as resolving that COGI error… even if another user actually resolved it.

COGI Status:

Unit of Measure conversion error: The conversion of the UOM shown in the COGI error to the base UOM in the material master is missing.  The plant will need to review the error and insert the correct conversion in the material master Units of Measure table. You can also avoid UOM errors by using a universal measurement for materials. For example, measuring string or tape by feet/meters/inches instead of rolls because rolls can differ between vendors.

Not executed – Transfer posting failed: Stock in vendor owned is available to fulfill consumption requirement but when quantity is rounded to next whole base UOM there is not enough stock in vendor owned to fulfill movement.

Multiple vendor records error: Only one consignment vendor may be assigned to a plant/material.  The plant must review their consignment vendors for the plant/material and mark one consignment price record for deletion (MSK2).  If there is stock from the vendor marked for deletion it must be reconciled, either by purchasing the inventory or returning the inventory to the vendor.  This reconciliation should be done before the consignment price record is marked for deletion.

Insufficient stock or No retry due to deficit: This is a very common error shown when there is not enough company or vendor owned stock to fulfill the requirement.  Usually this error is caused because a raw material has not been received at the plant or a semi-finished good material production order has not been confirmed at the plant.

Material locked:  The material is locked at the plant and any material movement transaction will fail.  Once the material is press save in COGI to clear the COGI error.

COGI failed:  Inventory quantity is available to cover the requirement but was received at a later date than the error was encountered.  During the month this overlap of dates is not a problem, but when a COGI error occurs in a previous month than when the inventory is received the system will not process the COGI error.  The plant must manually clean up these errors using the COGI transaction and overlay the date.

Completed: COGI error was corrected.

Common Error Messages:

This is a small sampling of the basic COGI errors you may see. This could be a 10 page blog if I added every error I saw, especially some of the more complicated errors!

M7 021; Deficit of unrestricted stock: Not enough inventory to backflush in the storage location specified. If inventory exists, make the necessary goods receipts (receive stock transfer or purchased goods).

M7 022; Quantity moved exceeded by x: The over delivery tolerance for the production order has been exceeded. If an over delivery tolerance is not set in the material master on the work scheduling view, set one up.  If the over delivery is valid, create a second production order to handle to over-produced good.

F5 286; Period A is not open for account type X: Production confirmations have been entered during closing before the next accounting period has been opened. Once the accounting period is open, select and save the failed records.

M7 018; Enter storage location: This common error is caused when the Issue Storage Location is blank on the Work Scheduling view of the material master. Double click and edit the record in COGI with the correct storage location, then press the Save button.  After correcting the record, update the Issue Storage Location field on the material master with the correct storage location to avoid future errors.

M7 121; You have no authorization for this transaction with movement type XXX: Have a user with the correct authorizations open this COGI and save to clear the error. Ensure that the user that tried to make this movement initially has the correct level of authorization if required.

M7 053; Posting only possible in period XXXX/XX and XXXX/XX in Company Code XXXX: This is not likely something you will see in a Production client, only in test systems, that is unless someone forgot to open the accounting period for accounting and material postings (tsk tsk). Change the posting date if incorrect by opening the COGI or open the correct periods, then save the COGI.

I think what I enjoyed most about my experience with COGI’s was the feeling of accomplishment and pride when that total number dropped below 2000 and then 1000… and those days we saw zero! There was even a healthy competition during my second deployment between the three plants! I really enjoyed being the go-to person for such functionally integrated and fun problems. I hope you get the chance to be a COGI King or Queen!

To report this post you need to login first.


You must be Logged on to comment or reply to a post.

  1. Dave Beldyk


    Thanks for sharing.  This is a very informative and helpful blog.  It brought me back to a time about 15 years ago when I was responsible for the Manufacturing portion of an implementation project.  In that situation we were using a shop floor system that communicated to SAP via IDOCs.  So COGI wasn’t so much what we monitored, but rather IDOCs via transaction WE02.  But otherwise everything you said about routine, timely monitoring and correction still holds true.  The key thing, especially early on, is to stay on top of the situation and resolve issues promptly and systematically.  Otherwise things can spiral out of control quickly and , well… nobody wants to experience that. 🙂


  2. arturo senosain

    Hi Tanya, nice blog. Looks like you learned alot of PP boys!

    + Just one detail, GOGI also log error for automatic Goods Receipt, not only for GI. In this cases, problem could be lack of Storage Location or Batch Number.

    + Im against COGI (and also im not fan of backflushing). COGI is something that require strong compromise of the users and where Im from,  this kind of behavior is not common, so i prefer to dont alow COGIs. Users dont understand the impact in costing  and they left corrections to perid end and if they dont correct the problem damage the cost.

    Backflush is a way to simplify work in the SFC just doing a rule or three, and is acceptable in some manufacturing scenarios (not all), but allow COGI dont work for me.

    thanks for share.


  3. Devendra F


    Instead of allowing COGI to SFC Persons,because SFC Persons mostly treated the system as non value added activity.

    It is better to opt for make mandatory setting for the Goods consumption through REM Profile setting Under Control Data 1 – Error correction for bakflushing- Select Execute correction in dialogue mode with Mandatory option selection,

    With Regards,


  4. Devendra F


    Mr. Arturo commented well that  Users dont understand the impact in costing  and they left corrections to perid end and if they dont correct the problem damage the cost.

    It mostly damage the Balace sheet accounts as the goods movement not clear in time,

    Ever after the SFC Guys to post Inventory stock in next month.

    issue lying with that they manufactured products in current month and post stock in next month,this also damage the balace sheet statement,

    this activity could be avoided by not opening next month period until the previous post done.

    With Regards,


    1. Tanya Duncan Post author

      Hi Devendra,

      Thanks for reading and for your feedback. I feel it is best to explain the impact to shop floor people and help them understand that it negatively affects them to not resolve COGIs. The accounting department or a plant controller should oversee the resolution of COGI’s each month and make sure they are reconciled. You don’t really have the option to wait for corrections to be made before opening the next period. Production needs to continue with the MM and accounting periods open.

      1. Devendra F


        your role of expressions in words are really appreciable,it is really concerned in manufacturing enviro.

        Best Regards,


  5. Rajneesh Saxena

    Hi Tanya

    Happy to see the document…???? Happy because some times back I was also stuck in COGI and believe me I use to think that I am the only person who is that much covered with the complicated data but now come to know there is (was) at least one more.

    With me the problem was that the users were not able to give the reasons clearly so the situation was even worst.

    The document is very helpful too for consultants and the users also.


    Rajneesh Saxena

  6. Harkishan Moorjani

    Hi Tanya, i was really happy to come across such a well explained blog which was concise and not too technical.

    I have a query on COGI, while looking at COGI errors it mentioned for

    – “Enter batch” for 261 mvt and 101 mvt,

    – “Deficit of SL Unrestricted-use” in 261 mvt,

    can you kindly explain me the reasons for such errors, i am trying to check for dummy GRNs prepared to show book stocks which never came in the factory, got consumed, COGI errors cleared and payments were made through issue of fake PO, Invoice and GRN.

    I would like to add you on my LinkedIn profile as well, please share your email id. Looking forward to more interesting conversations.


Leave a Reply