Physical inventory


  • Pre-steps into Physical inventory
    • How does the Physical Inventory Management Process count process look like?
  • What are physical inventory options?
    • Periodic inventory
    • Continuous inventory
    • Cycle counting
    • Inventory sampling
  • Data model
  • Customizing
  • Development
  • Reporting
  • What else to consider?
    • Stock types
    • Serial numbers
  • Physical Inventory of Handling Units
  • Hints
  • Additional information
    • Printing the document
    • 202834 Determ. of book quantity within physical inventory
    • 2867898 - Physical Inventory for Serial Numbered Materials, Equals, CountedStck, BookInvent.
    • 2926186 - How to carry out a handling unit inventory correctly?
    • 2539063 - Authorization Check: authorization objects in Inventory Management
    • 2554230 - Create physical inventory document via BAPI


Pre-steps into Physical inventory 

How does Physical Inventory Management Process count process look like?

  • Physical Inventory Preparation
    • Complete open chains of documents (processes) as it should be followed to keep the inventory transaction history sequen.ced properly.
    • Put away all the materials that are being counted in the warehouse into a right section for the easier count;
    • Identify the material stock that t hasn’t physically left the warehouse from the rest of the warehouse as the stock should be complete 
  • Creating the Physical Inventory Count Document (MI01)
    • Use Phys. inventory no. and Phys. Inventory Ref.Posting Block
    • Including Deleted Batches
    • Physical inventory can be carried out both for a company's own stock and for special stock
      • Inventory for a company's stock and for special stocks (such as, consignment stock at customer, external consignment stock from vendor or returnable packaging) must be taken separately (in different physical inventory documents).
    • Physical inventory takes place at the storage location level
      • A separate physical inventory document is created for every storage location.
    • A material for which a goods movement has taken place and for which the stock balance is currently zero. A physical inventory must be carried out in this case.
    • Posting block: Indicates that no goods movements involving the materials listed in the physical inventory document can be posted until the count results are posted.
    • Freeze book inventory: This indicator has the effect that the current book inventory balance is recorded in the physical inventory document. The system compares the counted stock with the frozen book inventory balance to determine any inventory differences.
    • The program reads the actual warehouse stock (table MARD, MCHB, MSKU, ...) and writes this in ISEG-BUCHM.
    • A physical inventory can be carried out for the following stock types:
      • 1 unrestricted-use stock in the warehouse
      • 2 quality inspection stock
      • 4 blocked stock
  • Printing the Physical Inventory Count Document (MI21)
  • Counting and Recounts
    • Entering the Count (MI04)
    • If a user made an error when entering the count document, they can use Transaction MI05 to change the physical count.
    • If a count is made without a physical count document, the count can be entered directly into a transaction MI10 and then be immediately posted
      • define the limits or tolerances of value differences in local currency found
      • during the physical inventory process at the following two levels ( document, item of a document )
    • The posting block is automatically canceled when you post the counting results for the physical inventory document.
    • If there was no 'Freeze book inventory' before, the system calculates the current book quantity and updates ISEG-BUCHM with this quantity.
      • --> Physical inventory difference = ISEG-MENGE - ISEG-BUCHM
    • Physical inventory indicator will be updated.
  • Analyze the Difference list
    • The count can be compared against the book inventory by using Transaction MI20.
  • Recount
    • If management doesn’t accept the discrepancy, or the discrepancy is above a certain tolerance, then those materials need to be recounted. (MI11)
  • Physical Inventory Posting (a final inventory figure for each counted material) MI07
    • For each line item on the count document, the user posts the difference and a reason code to clearly show why the count doesn’t correspond with the book quantity.
    • Movement types
      • 701: GR phys.inv.: unrestricted stock (stock type 1) (positive phys.inv. dif. for unrestricted stock)
      • 702: GI phys.inv.: unrestricted stock (stock type 1) (negative phys.inv. dif. for unrestricted stock)
      • 703: GR phys.inv.: quality insp. (stock type 2) (positive phys.inv. dif. for quality insp.)
      • 704: GI phys.inv.: quality insp. (stock type 2) (negative phys.inv. diff. for quality insp.)
      • 707: GR phys.inv.: blocked stock (stock type 4)(positive phys.inv. diff. for blocked stock)
      • 708: GI phys.inv.: blocked stock (stock type 4)(negative phys.inv. diff. for blocked stock)
    • Physical inventory indicator will be updated
  • Accounting of Inventory Differences
  • Check analytical reports
    • Displaying the physical inventory documents for a material (RM07IMAT)
    • Displaying the physical inventory data for a material (RM07IINV)
    • Displaying the physical inventory overview (RM07IDOC)
    • Displaying the physical inventory list (RM07IDIF)
    • Displaying the list of physical inventory differences (RM07IDIF)
    • Displaying changes to physical inventory documents (RM07ICDD)

What are physical inventory options?

Periodic inventory

All stocks in the company are physically counted on the balance sheet key date. Every material is counted, and the materials kept in a storage location are blocked for any goods movement to avoid the unseen differences.

Continuous inventory

The idea is to count all materials at least once a fiscal year.

Cycle counting

Materials are physically counted at regular intervals throughout the fiscal year. Materials can be logically segregated into groups to be counted in sort order.

  • Transaction OMCO: the time interval at which physical inventory must be carried out for material.
    • Fill the indicator for segregation in the material master data  (plant/storage location level) and CC fixed indicator
  • Transaction MIBC (ABC Analysis for Cycle Counting)
  • Transaction MICN Create a physical inventory document automatically 

Procedure 

  • Mark all materials that are to be included in cycle counting with a cycle counting indicator in the material master record (storage data)
    • The cycle counting indicator is used to group the materials together into various cycle counting categories (for example, A, B, C, and D). The time intervals at which the materials are counted are defined for each category. Physical inventory indicator for cycle counting: 
      • MARC-ABCIN Indicates that the given material is subject to the cycle counting method of inventory.
      • CC fixed: MARC-CCFIX: Specifies that the cycle counting indicator cannot be changed for cycle counting by an ABC analysis.
    • You can mark the materials as follows:
      • manually in the material master record (storage data)
      • automatically using ABC analysis
        • To perform an ABC analysis, use program RMCBIN00. In this analysis, the system assigns the materials to the individual categories according to consumption or requirements. You can also specify whether this analysis is to consider only the materials with cycle counting indicator or all materials. The cycle counting indicator can be updated automatically while the ABC analysis is run.
    • For the planning of cycle counting, run program RM07ICN1 at regular intervals. This program checks all cycle counting materials to determine whether a physical inventory is due to be carried out. If a material needs to be counted, use the program to create a batch input session for creating physical inventory documents.

Customizing (Transaction OMCO)

Table T159C
  1. Define the allowed cycle counting indicators in the plant.
  2. Number of physical inventories per fiscal year:
  3. At least one physical inventory count per year has to be performed. 
  4. Float time (workdays):
  5. Number of workdays by which the planned count date may vary from current date.
  6. Example: for a plant the float time is 5 days. A physical inventory has been planned for a material for June, 1. On expiration of the float time (after June, 6) the physical inventory has not been carried out. The material will be included in the log in the next cycle counting run.
  7. Percentage of performance measure for cycle counting indicator.

Inventory sampling

Materials are selected on a random basis on the balance sheet key date for a physical count. If variances exist between the physical count, we make the assumption is that the inventory balances for other materials do also exist.

If an inventory sampling is not successful, a complete physical inventory must be carried out for the stock management units not counted.

Transactions

  • MIS1 Create Inventory Sampling
  • MIS2 Change Inventory Sampling
  • MIS3 Display Inventory Sampling
Main program: SAPMM07S.

Inventory sampling processes

  1. Select stock management level
      • In this step, the stock management levels (plant and storage location or storage number and storage type), for which the inventory sampling will be created are selected.
      • The table SBSE (Stock Mngmt Levels for Inventory Sampling) will be filled with this information.
    1. Stock population
      • In this step, the materials or storage bins that are participating in the inventory sampling process will be determined.
      • The table SLGH (Elements of Stock Population) will be filled.
    2. Stratification
        • Depending on the value, the participating elements will be sorted into classes and strati.
          • The table SSCH (Strata of Inventory Sampling) will be populated.
        1. Random selection
          • With a randomizer, the elements that have to be counted will be determined.
          • These elements will be marked in table SLGH. XSPEL stands for sampling element, XVERR stands for element in the complete count area.
        2. Creation of PI documents
          • The PI documents will be created and are processed in the same manner as other PI documents.
        3. Update
          • Counted and difference posted PI documents will be detected and stored in table SLGH.
          • Probably subsequent random selection has to be made (P4_NACHERHEBUNG).
        4. Extrapolation
          • With the parameters and the posted PI differences, the systems determine, if the status of the inventory sampling is successful.

        Data model 

        • IKPF physical inventory document header-data
          • IBLNR Physical inventory document number
          • GJAHR Fiscal year
        • ISEG physical inventory document segments
          • IBLNR Physical inventory document number
          • GJAHR Fiscal year
          • ZEILI Line number only ISEG
        In every stock table there are indicators for the PI process. These are used to monitor the PI status.
        MARD...SPERR:
        • No physical inventory defined for material
        • 'X' Due to phys. inv., material is blocked for movement
        • 'A' Physical inventory not yet completed for material
        • --> No physical inventory possible, if SPERR = 'X' or 'A'.
        KZILL Physical inventory indicator for whse stock in current year....

        Customizing

        Materials Management > Inventory Management and Physical Inventory--> Physical Inventory:

        1. Field selection for physical inventory:
          • Field ISEG-GRUND (Reason for inventory diff.) can be changed to:
            • Input, required, display, hide, highlighted.
        2. Default values for physical inventory:
          • Default values (at plant level) for stock type, batch in background, alternative unit of measure, reason for difference
        3. Settings for physical inventory
          • Activate 'Change document'
          • Adjust book inv. Balance 
            • When the indicator "Adjust book inventory balance" is set, the system checks whether the goods movement would have affected the book inventory balance if the goods movement had been posted earlier. If this is the case, the book inventory balance in the physical inventory document and the inventory difference are adjusted by the amount of the goods movement.
        4. Serial numbers
          • Whether existing serial numbers should be displayed as input help in the dialog box for entering serial numbers, when entering an inventory count:
          • Indicator Display serial numbers
          • Whether, and with how many lines, serial numbers should be printed, when printing physical inventory documents.
          • Indicator Inventory document printout with serial numbers
          • How many lines should be printed for serial numbers per physical inventory document item when printing physical inventory documents. Indicator Number of printed serial numbers lines
        5. Default values for batch input
        6. Maintain copy rules for reference documents
          • You can decide whether the positions in MI07 are pre-selected or not.
        7. Allow freezing for book inventory balanced in the storage location
        8. Define tolerances for physical inventory differences

        Development

        • YISEG physical inventory document segments (for checks)
        • XISEG physical inventory document segments (filled with data from YISEG. Used to update the physical inv.doc. on database).
        • IKPF physical inventory header
        • YDM07I Fields: Dialog Control for Module Pool SAPMM07I (physical inventory)
        • YVM07I Fields for Update Control of Module Pool SAPMM07I (physical inventory)

        MM07IFB0: In form 'beleg_buchen' you can set a breakpoint to see how the system will create/update the inventory document and material document.

        Serial numbers

        Form 'SERIALNUMBER_HANDLING'
        You will find the important part of the serial numbers source code in include MM07IFS1. The main form is named 'SERIALNUMBER_HANDLING'. The program will call this form for almost every transaction in the physical inventory. In this form you can see what the program will do for each transaction:

        As you can see all important physical inventory transactions will use the form 'SERIALNUMBER_HANDLING':
        MI01, MI02, MI04, MI05, MI07, MI08, MI09, MI10 and MI11.

        For each transaction there is a block of coding where forms are called to perform the needed steps. These are the forms:

        SERIALNUMBER_COUNT
        SERIALNUMBER_POST
        SERIALNUMBER_BOOK_INVENTORY
        SERIALNUMBER_OBLIGATORY_CHECK
        SERIALNUMBER_RENUMBER
        SERIALNUMBER_DIFFERENCE
        SERIALNUMBER_DELETE
        SERIALNUMBER_NEW_POSITIONS
        SERIALNUMBER_STATUS_UPDATE
        SERIALNUMBER_STOCK_TYPE

        Reporting

        • MI20 List of Inventory Difference
        • MI24 Physical Inventory Difference List
        • MI21 Print Physical Inventory Document
        • MI22 Physical Inventory Document for Material
        • MI23 Physical Inventory Data for Material
        • MIDO Physical Inventory Overview
        • MI12 Changes to Physical Inventory Document

        What else to consider?

        Stock types

        Inventory for a company’s stock and for special stocks (such as consignment stock at customer, external consignment stock from vendor, or returnable packaging) must be taken separately (in different physical inventory documents).

        Note: the blocked stock returns and the stock in transfer cannot be inventoried. 

        Serial numbers

        When carrying out a physical inventory for materials that have serial numbers, you can enter the serial numbers while you are entering the results of the physical inventory count.
        • In the material master record, a serial number profile must be entered
          • In the material master record, a serial number profile must be entered containing the serialization procedure MMSL (Maintain goods receipt and goods issue document), with the indicator for Serial number usage configured in such a way that serial numbers must be assigned.
          • The stock check indicator in the serial number profile should be configured in such a way that an error message is displayed in the event of inconsistencies in inventory management.
        • Configure serial number management for physical inventory in the Settings for Physical Inventory
        • When you enter or change an inventory count, you can edit the serial numbers entered for each item from the collective processing or overview screen by choosing Edit -> Change serial number. Position your cursor on the line number whose serial numbers you want to change. You can display the serial numbers when displaying a physical inventory document item. To do this, choose Goto -> Serial number.
        • The inspection lot comparison (stock type 2) with serial numbers is not supported.


        Warehouse Management

          • The PI process in the warehouse management is totally different from the PI process in materials management. Also a MM PI document can not be created for a storage location for which one the warehouse management is active.
          • With transaction LI21 (Clearing of differences in inventory management), the PI differences in warehouse management will be posted with our function 'MB_CREATE_GOODSMOVEMENT'  . The movement types 711 - 718 will be used to post the differences.
          • In the customizing for the movement types (table T156-XINVB) you can set an indicator, that during the posting an PI document will be created in the background. Attention: This indicator will only work for the movement types 711-718 and should not be used for other movement types.

        A PI document can only be created for the current FI year and for the previous FI year. The criterion in which FI year the PI document will be created depends on the (planned) count date.


        Physical Inventory of Handling Units

        Handling unit inventory was designed for the purposes of physical inventory in HU-managed storage locations where conventional inventory management is not possible.


        Hints 

        • Some companies create variance locations to move lost and found material to and from, as a way of showing the variances without creating adjustments.
        • Deciding what to count is important because counting the wrong materials can waste time and effort.
        • Usually intial stocks are uploaded with the Go live via the movement type 561. If we uploaded the stocks and after some time we recognize missings ( not accurate stock was uploaded), then it might be better approach is to adjust the stock quantities using the physical inventory process. This method prevents internal and external audit objections that may arise because auditors expect to see initial stock uploads in the SAP system only once.

        Additional information 


        202834 Determ. of book quantity within physical inventory

        Wiki

        https://wiki.scn.sap.com/wiki/display/ERPSCM/Physical+Inventory+General+Process

        Printing the document 

        ME9K is certainly not used to print physical inventory documents, they are printed with MI21 with program RM07IDRU and a sapscript form INVENT (if you talk about physical inventory in inventory management), and this form is assigned to the program in transaction OMBU

        the physical inventory document in WM is not even a form, it is just write statements in an ABAP.

        SCMs eWM has a smartform as you can see in OSS Note 1405435 - Printing the physical inventory count document

        2867898 - Physical Inventory for Serial Numbered Materials, Equals, CountedStck, BookInvent

        You perform a Physical Inventory against a Material that is Serialized. After performing the count, and posting the differences, you check the 'Serial Numbers' tab of the Material Document and are unsure as to what the three different check boxes (Equals, CountedStck, BookInvent.) mean.

        Only one of these checkboxs will be selected during display mode. The value displayed is determined from comparing the Inventory balance object list (OLTPI = 1) with the Counted stock object list (OLTPI = 2) in table SER07. Each values is determined as follows,

        • Equals - The Equals checkbox is selected if, the Inventory balance object list and the Counted stock object list contain the same values. This means that the Serial Numbered Materials stock has not changed during the count, the stock still exists.

        • CountedStck - The CountedStck checkbox is selected if, the Counted stock object list contains a value that the Inventory balance object list does not. This means that your current stock is missing a Serial numbered Material that exists in your Physical Inventory. As we can see below,

          KBA1.PNG

        • BookInvent. - The BookInvent. checkbox is selected if, the Inventory balance object list contains a value that the Counted stock object list does not. This means that your current stock contains a Serial numbered Material that does not exist in your Physical Inventory. As we can see below,

          KBA2.PNG

        2926186 - How to carry out a handling unit inventory correctly

        1. Create a handling unit inventory via transaction HUINV01
        2. Select the handling unit(s) in HUINV01
        • click on the save button or press Ctrl+S
        • the system creates the inventory document
        • the inventory number can be seen at the bottom of the screen
        3. Change or delete the inventory document in HUINV02
        • if any changes made on the document please save it with pressing the 'Save' button or Ctrl+S
        4. Count the handling unit stock in HUINV03
        • the user can decide first if the handling unit exists or not with using the 'HU Exists' or 'HU does not exist' button
        • it's important to choose any of these buttons because later on HUINV05 won't allow the clearing and the following message will come: No postable items were found
        • the user can increase or decrease the counted quantity or it can be set automatically to zero with the 'Zero Count' button
        • in both cases the 'Counted' flag is set automatically, it shows to the user if the item has already been counted
        • the count can be saved with the 'Save' button or pressing Ctrl+S
        • re-count is possible, run again HUINV03 and do the necessary steps
        5. Check the difference in HUINV04
        • it shows the details coming from the difference counting
        6. Write off the difference in HUINV05
        • the previously selected button ('HU Exists' or 'HU does not exist') is being marked on the screen, it helps to the user to double check
        • 'Counted' is also being marked
        • mark the item and click on 'Clear Items' or press F9
        • the system saves the data automatically and inactivates the INIV status and activates INVE
        7. Remove the INVE status in HUINV06
        • the inventory process finishes with removing the INVE status
        • highlight the handling unit and click on 'Save' or use Ctrl+S
        • if the handling unit doesn't have the active INVE status then the following error comes: No handling units found with the required criteria Message No. VHU01103
        • in this case please check the HUSSTAT table and do the necessary step, see more information at the 'Resolution' part
        Cause
        The handling unit inventory was created to be able to count nested handling units.

        The handling unit inventory sets various statuses during the inventory process and these are blocking the document to be corrupted and preventing inconsistencies.

        Resolution
        1. After creating the inventory, the system acvtivates the INIV status on the handling unit, so that cannot be changed/modified until the last step of the inventory.
        2. After the user clears the differences via HUINV05, the system removes automatically the active INIV status and sets INVE status. This one can be removed via transaction HUINV06. After this step the HU can be used again.
        3. The statuses can be check in transaction BS23:
        - INIV status - I0539
        - INVE status - I0540
        4. If the user immediately deletes the inventory document after the creation in HUINV02, then the system removes the INIV status automatically and makes the handling unit available again. These statuses can be checked in HUSSTAT database tables, please copy the handling unit internal number from the header table (VEKP-VENUM) of the handling unit and open the HUSSTAT database table. The handling unit number should be copied via leading zeros then please extend this number with HU characters like: HU + 000000001 > then insert this number to the OBJNR field like: HU000000001
        5. The INACT column shows which statuses are activated on the handling unit, it helps to the user to find the upcoming step to remove or change the status. These statuses can be seen also in HUMO transaction after opening the HU and go to 'Status' tab. The system status row shows the currently active statuses.
        6. REMARK: the handling unit inventory can be carried out on a handling unit managed storage location. Please check in database table T001L if the field XHUPF has the 'X' value for the plant and storage location combination. If the handling unit management hasn't been activated for the storage location then the inventory document creation fails with the following error in HUINV01: Plant &1 storage location &2 is not managed using HUs HUINV008
        7. The handling unit management can be set on the following path for the storage location: SPRO > Logistics General > Handling Unit Management > Basics > Material Management > Inventory Management > HU Requirement for Storage Locations and Default Values for Deliveries

        2539063 - Authorization Check: authorization objects in Inventory Management

        Please see following authorization objects listed:

        Goods Movements:
        Object  M_MSEG_BWA - Goods Movements: Movement Type
        Available activities:
        01 Add or Create
        02 Change
        03 Display

        Object  M_MSEG_WWA - Goods Movements: Plant
        Available activities:
        01 Add or Create
        02 Change
        03 Display
        04 Print, edit messages
        Object  M_MSEG_LGO - Goods Movements: Storage Location
        Available activities:
        01 Add or Create
        02 Change
        03 Display
        Goods Receipt:
        Object  M_MSEG_BWE - Goods Receipt for Purchase Order: Movement Type
        Available activities:
        01 Add or Create
        02 Change
        03 Display
        Object  M_MSEG_WWE - Goods Receipt for Purchase Order: Plant
        Available activities:
        01 Add or Create
        02 Change
        03 Display
        04 Print, edit messages
        Object  M_MSEG_BWF - Goods Receipt for Production Order: Movement Type
        Available activities:
        01 Add or Create
        02 Change
        03 Display
        Object  M_MSEG_WWF - Goods Receipt for Production Order: Plant
        Available activities:
        01 Add or Create
        02 Change
        03 Display
        04 Print, edit messages
        Material Documents:
        Object  M_MSEG_BMB - Material Documents: Movement Type
        Available activities:
        01 Add or Create
        02 Change
        03 Display

        Object  M_MSEG_WMB - Material Documents: Plant
        Available activites:
        01 Add or Create
        02 Change
        03 Display
        04 Print, edit messages
        06 Delete
        69 Discard
        Object  M_MBNK_ALL - Material Documents: Number Range Maintenance
        Available activites:
        01 Add or Create
        02 Change
        03 Display
        Physical Inventory:
        Object  M_ISEG_WZL - Physical Inventory: Count in Plant
        Available activites:
        01 Add or Create
        02 Change
        03 Display
        04 Print, edit messages
        Object  M_ISEG_WDB - Physical Inventory: Difference Posting in Plant
        Available activites:
        01 Add or Create
        03 Display
        04 Print, edit messages
        Object  M_ISEG_WZB - Physical Inventory: Count and Difference Posting in Plant
        Available activites:
        01 Add or Create
        Object  M_ISEG_WIB - Physical Inventory: Physical Inventory Document in Plant
        Available activites:
        01 Add or Create
        02 Change
        03 Display
        04 Print, edit messages
        06 Delete
        Reservations:
        Object  M_MRES_BWA  - Reservations: Movement Type
        Avaliable activities:
        01 Add or Create
        02 Change
        03 Display
        06 Delete
        65 Reorganize
        70 Administer
        Object  M_MRES_WWA - Reservations: Plant
        Avaliable activities:
        01 Add or Create
        02 Change
        03 Display
        06 Delete
        65 Reorganize
        70 Administer
        Inventory Sampling:
        Object  M_SKPF_WRK - Inventory Sampling: Plant
        Avaliable activities:
        01 Add or Create
        02 Change
        03 Display
        Object  M_SKPF_VGA - Inventory Sampling: Transaction
        Avaliable activities:
        01 Add or Create
        02 Change
        Others:
        Object  M_MWOF_ACT - Control for Split Calculation of Value (MBWO)
        Avaliable activities:
        03 Display
        23 Maintain
        63 Activate
        Object  M_MPRIO - Requirement Prioritization
        Avaliable activities:
        01 Add or Create
        02 Change
        03 Display
        06 Delete
        21 Transport

        Object  M_IDINVLDG - Inventory Ledger for Chile
        Avaliable activities:
        03 Display
        Object  /PSPRO/_US - Overwrite User Status Checks
        Avaliable activities:
        89 Force Posting

        2554230 - Create physical inventory document via BAPI

        Create your own program calling the following BAPIs:
        1. BAPI_MATPHYSINV_CREATE_MULT Used to create one or more physical inventory documents.
        2. BAPI_MATPHYSINV_COUNT Used to enter the count for items in a physical inventory document.
        3. BAPI_MATPHYSINV_POSTDIFF Used to post differences for physical inventory documents.
        4. BAPI_TRANSACTION_COMMIT Used to save the data to the database.
        5. BAPI_TRANSACTION_ROLLBACK Used to provide the possibility to rollback.

        Function Modules that are not released for the customer should not be used, you can check this information with transaction SE37


        Comments