Inventory Discrepancy Checker
1. Overview
The Inventory Discrepancy Checker compares the sales‑record data from the point‑of‑sale (POS) system with the delivery information supplied by vendors. It identifies any items that are missing, duplicated, or have different quantity counts and produces a plain‑language list of all discrepancies.
2. Business Value
- Prevent stock‑outs: By catching mismatches early, the business avoids selling items it doesn’t actually have.
- Reduce waste: Detects over‑delivered or mis‑reported items before they affect inventory accounting.
- Improve supplier relationships: Provides clear evidence for any needed adjustments with suppliers.
- Save time: Automates a task that would otherwise require manual line‑by‑line review.
3. Operational Context
| Situation | When to Run | Who Uses It | Frequency |
|---|
| After the daily sales file has been exported and the supplier’s delivery manifest has been received | Inventory Manager (or any designated inventory team member) | Typically once per day for high‑volume retailers, or after each batch of shipments for smaller operations | Daily or per shipment, depending on the volume of transactions |
| When a periodic inventory audit is required | Inventory Manager | As part of regular audit cycles (weekly, monthly, etc.) | Weekly, monthly, or as needed |
4. Inputs
4.1 Point‑of‑Sale (POS) Data
Name / Label: POS Sales List
Type: List of items sold, each item containing a few key data points.
| Field | Description | Example |
|---|
| Product Name | The name as it appears in the POS system. | “Blue‑Stripe T‑Shirt” |
| SKU | Stock‑keeping unit; the unique product code used by the retailer. | “TSH‑0012” |
| Quantity Sold | Number of units sold during the reporting period. | 45 |
| Sale Date (optional) | Date of the sales period (e.g., “2025‑08‑10”). | “2025‑08‑09” |
| Store Location (optional) | The location or store identifier (if multi‑site). | “Store‑A” |
4.2 Supplier Manifest
Name / Label: Supplier Delivery List
Type: List of items delivered, each item containing a few key data points.
| Field | Description | Example |
|---|
| Product Name | The name as listed on the supplier’s manifest. | “Blue‑Stripe T‑Shirt” |
| SKU | The supplier’s product code (often the same as the retailer’s SKU). | “TSH‑0012” |
| Quantity Delivered | Number of units delivered in the shipment. | 50 |
| Delivery Date (optional) | Date the shipment was received. | “2025‑08‑08” |
| Supplier Name (optional) | The name of the vendor. | “Acme Apparel” |
Note: The two lists are provided as one set per run (i.e., a single POS list and a single supplier manifest for the same period).
5. Outputs
5.1 Discrepancy Report
Name / Label: Inventory Discrepancy Report
Contents: A list of any mismatches identified between the POS list and the supplier’s manifest. Each entry includes:
| Field | Description |
|---|
| Product Name | As identified in the input data. |
| SKU | The product’s identifier. |
| Issue Type | One of: Missing in Supplier Manifest, Missing in POS Data, Quantity Mismatch. |
| Details | Explanation of the mismatch (e.g., “Quantity sold 45 vs. quantity delivered 50”). |
| Suggested Action | Recommended next step (e.g., “Verify with supplier”, “Adjust inventory count”, “Flag for manual review”). |
Formatting Rules
- List each discrepancy as a separate bullet point.
- Use plain language, no system IDs or code.
- If no discrepancies are found, output a single line: “No inventory discrepancies identified.”
- Keep the order of items as they appear in the POS list (or alphabetical by SKU if desired).
6. Detailed Plan & Execution Steps
- Collect the data – Receive the POS Sales List and the Supplier Delivery List for the same reporting period.
- Validate required fields – Ensure each entry has a Product Name and a SKU. Flag any record missing these for manual review.
- Normalize text – Trim leading/trailing spaces and standardize case (e.g., “Blue‑Stripe T‑Shirt” vs. “blue‑stripe t‑shirt”) for both lists.
- Create lookup tables
- Build a “POS lookup” keyed by SKU (or by Product Name if SKU missing).
- Build a “Supplier lookup” keyed the same way.
- Detect missing items
- For each SKU in the POS lookup:
a. If the SKU does not exist in the supplier lookup → Missing in Supplier Manifest.
- For each SKU in the supplier lookup that is not in the POS lookup → Missing in POS Data.
- Check quantities
- For each SKU present in both lists: compare Quantity Sold (POS) with Quantity Delivered (Supplier).
- If the two numbers differ → Quantity Mismatch; record both values.
- Handle duplicates
- If the same SKU appears more than once in a list, sum the quantities before comparing.
- Assemble the report
- For each identified discrepancy, create a bullet with the fields defined in Section 5.1.
- If any items were flagged for missing required fields, add a bullet: “Item missing required fields – review manually.”
- Finalize – If the list of discrepancies is empty, output the “No inventory discrepancies identified” line.
- Deliver output – Present the Discrepancy Report in the format specified in Section 5.1.
7. Validation & Quality Checks
- Presence check – Verify that both input lists contain at least one record.
- Field completeness – Ensure every entry in both lists has a non‑blank Product Name and SKU. Flag any violations.
- Duplicate handling – Confirm that duplicate SKUs have been summed before comparison.
- Quantity sanity – Quantities must be numeric and non‑negative. Flag any non‑numeric values as errors.
- Report completeness – The report must contain at least one bullet if any discrepancy exists; otherwise it must contain the “No inventory …” line.
- Consistency – Each output bullet must include the four fields (Product Name, SKU, Issue Type, Details, Suggested Action) exactly as defined.
- Final check – Review the final list for duplicate entries; remove duplicates if any appear.
If any validation step fails, stop processing, flag the run as “Error – Manual Review Required,” and return no Discrepancy Report.
8. Special Rules / Edge Cases
- Missing SKU but matching Product Name – Treat as the same item if the product name matches exactly (case‑insensitive).
- Multiple SKUs for the same product name – Use the SKU as the primary key; do not merge across different SKUs.
- Zero quantities – If a quantity is zero on either side, treat it as a valid entry (e.g., “0 delivered”).
- Partial data – If either list is missing optional fields (e.g., Delivery Date) the process can continue; optional fields are ignored for matching.
- Duplicate entries – Sum duplicate quantities before performing any comparison.
- No POS data – If the POS list is empty but a supplier manifest exists, create a “Missing in POS Data” entry for each item in the manifest.
- No supplier data – If the supplier manifest is empty but POS data exists, create a “Missing in Supplier Manifest” entry for each POS item.
- All fields missing – If a record has neither Product Name nor SKU, exclude it from the comparison and flag it for manual review.
- Large data sets – The process works for any list length; no hard limit is imposed.
9. Example
Input
POS Sales List (the data you provide for this run):
- Product Name: Blue‑Stripe T‑Shirt, SKU: TSH‑0012, Quantity Sold: 45
- Product Name: Red‑Polka T‑Shirt, SKU: TSH‑0015, Quantity Sold: 30
- Product Name: Green‑Cap, SKU: CAP‑0201, Quantity Sold: 10
Supplier Delivery List (the data you provide for this run):
- Product Name: Blue‑Stripe T‑Shirt, SKU: TSH‑0012, Quantity Delivered: 50
- Product Name: Yellow‑Hat, SKU: HAT‑0302, Quantity Delivered: 5
- Product Name: Green‑Cap, SKU: CAP‑0201, Quantity Delivered: 10
Expected Output – Discrepancy Report
- Blue‑Stripe T‑Shirt (SKU: TSH‑0012) – Quantity Mismatch – POS sold 45, Supplier delivered 50 – Suggested Action: Verify the difference with the supplier.
- Red‑Polka T‑Shirt (SKU: TSH‑0015) – Missing in Supplier Manifest – No delivery record for this item – Suggested Action: Check if the item was omitted from the shipment; follow up with supplier.
- Yellow‑Hat (SKU: HAT‑0302) – Missing in POS Data – Item delivered but no sale recorded – Suggested Action: Verify if the sale occurred under a different SKU or if the item is a new stock item.
(All other items match and therefore do not appear in the report.)
If the two lists were perfectly aligned, the output would be:
No inventory discrepancies identified.
Appendix A – FAQ
Q1: What if the SKU values are different between my POS system and the supplier?
A: Use the Product Name for matching if the SKUs differ but the names are identical. Document the mismatch in the “Details” field and suggest a review with both parties.
Q2: Can I run this process for a single store only?
A: Yes. Provide the POS data and supplier manifest for that store only. The process will work with any subset of the data as long as both lists belong to the same period.
Q3: How should I handle items that have been returned after sale?
A: Return transactions should be reflected in the POS data before running the checker. The process does not handle returns automatically.
Q4: What if a product appears in the supplier manifest with a different product name (e.g., “Blue‑Stripe T‑Shirt” vs “Blue Stripe T‑Shirt”)?
A: The process normalizes case and trims whitespace, so minor differences like extra spaces or case differences are ignored. If the name differs more substantially, treat them as separate items and note the discrepancy.
Q5: I have a huge number of items. How can I verify the report quickly?
A: After the report is produced, you can sort or filter the list by SKU or Product Name to focus on specific categories. The report’s plain‑language format is designed for quick visual scanning.
Q6: What if quantities are negative?
A: Negative quantities indicate a data entry error. The process will flag such records for manual review and will not include them in the final report.
Q7: How do I know if a “Missing in POS Data” item is a new product?
A: Check your product master list. If the item is new, add it to the catalog; otherwise investigate why the sale wasn't recorded.
Q8: What should I do if the report shows “No discrepancies” but I suspect there is an error?
A: Double‑check that both input files are for the same date range and that all required fields are present. If the issue persists, review the raw data for hidden characters or formatting issues.
Q9: Can the report be exported to another system?
A: The output is a plain‑language list that can be copied into a spreadsheet, database, or any system that accepts text. If the downstream system requires JSON, the same structure can be transformed easily.
Appendix B – Glossary
| Term | Definition |
|---|
| POS (Point‑of‑Sale) | The system or register that records sales transactions in the store. |
| SKU (Stock‑Keeping Unit) | A unique alphanumeric code that identifies a product. |
| Supplier Manifest | The document supplied by the vendor that lists each product delivered and the quantities. |
| Quantity Sold | The total number of units recorded as sold in the POS for the reporting period. |
| Quantity Delivered | The number of units the supplier says they delivered in a shipment. |
| Discrepancy | Any difference between the POS record and the supplier’s record, including missing items or quantity differences. |
| Discrepancy Report | A plain‑language list that outlines every mismatch found in a comparison. |
| Inventory Manager | The person responsible for maintaining correct inventory levels and reconciling stock records. |
| Issue Type | The categorisation of a discrepancy (e.g., missing, quantity mismatch). |
| Suggested Action | A recommendation for how to address a specific discrepancy. |
| Optional Field | A data field that may be omitted without stopping the process (e.g., Store Location). |
Appendix C – Reference Materials
C.1 List of Issue Types (Standardized for the Report)
| Issue Type | Definition | Example |
|---|
| Missing in Supplier Manifest | An item appears in the POS data but not on the supplier’s manifest. | A product sold but no delivery record. |
| Missing in POS Data | An item appears on the supplier’s manifest but not in the POS data. | A product delivered but not recorded as sold. |
| Quantity Mismatch | The item appears in both lists but the numbers differ. | Sold 45, delivered 50. |
| Missing Required Fields | An entry does not contain a Product Name or SKU. | The line only contains a quantity with no name. |
| Duplicate Entry | The same SKU appears multiple times in one list without aggregation. | Two lines for the same SKU with separate quantities. |
C.2 Data‑Entry Guide for Input Lists
- Use exact product names as they appear on both systems; avoid abbreviations unless they are part of the official product title.
- SKU format: keep the exact characters (including dashes, underscores, etc.) as they appear in your system.
- Quantities: enter whole numbers (no decimals) unless you track fractional units; do not include commas or currency symbols.
- Date fields (optional): use the ISO format
YYYY‑MM‑DD.
C.3 Formatting Guidance for the Report
- Bullet format – each discrepancy as a separate bullet, starting with the product name and SKU in bold.
- Issue Type – written in title case, preceded by a dash (‑).
- Details – short, plain‑language description.
- Suggested Action – short, actionable instruction; keep it under 15 words.
Example bullet
Blue‑Stripe T‑Shirt (SKU: TSH‑0012) – Quantity Mismatch – Sold 45, Delivered 50 – Suggested Action: Verify with supplier.
C.4 Troubleshooting Checklist
- Verify input completeness – Both lists must be present.
- Check for empty fields – If any entry lacks a product name or SKU, flag it.
- Look for duplicate SKUs – Sum the quantities before comparison.
- Ensure same date range – Both lists should cover the same reporting period.
- Re‑run after corrections – If errors are flagged, correct the data and re‑run the process.
Additional Tips
- Keep a master product list that maps each SKU to a standardized product name to reduce mismatches caused by spelling differences.
- Run the checker after each major delivery to keep inventory records up‑to‑date.
- If the same product appears under multiple SKUs (e.g., variants), treat each SKU as a separate item.
**