Markdown for agents

This page, as an agent reads it

---
title: "Grocery POS supplier integration: what to connect and test"
description: "Connect purchase orders, accepted deliveries and supplier invoices to accurate grocery stock records. Includes an integration checklist and a short-delivery example."
canonical: "https://sandooq.app/blog/grocery-pos-supplier-integration-purchase-orders"
locale: "en"
updated: "2026-10-25T00:00:00.000Z"
---

# Grocery POS supplier integration: what to connect and test

Connect purchase orders, accepted deliveries and supplier invoices to accurate grocery stock records. Includes an integration checklist and a short-delivery example.

**Tags:** grocery, suppliers, purchasing, operations

Grocery POS supplier integration connects purchasing records to store stock and cost records. The essential links are the purchase order, the quantity actually accepted at delivery, and the supplier invoice. A small shop can maintain that chain with manual receiving; a direct supplier API or EDI connection is an optional way to exchange those records.

Start by asking where each record is created and who approves its effect on stock. This guide provides an integration checklist, a short-delivery example and questions for a POS demo. It describes capabilities to evaluate, rather than assuming every POS includes them.

_Updated October 25, 2026._

## Which supplier integration does your grocery store need?

The right connection depends on delivery volume, supplier capability and the work your team can maintain. Agree product identifiers, units and delivery references before selecting a transport. Sending a file faster does not help if “one case” means different quantities in the two systems.

| Approach | How information moves | What to check |
|---|---|---|
| Manual PO and receiving | Staff send an order and record the physical delivery | Clear references, permissions and a repeatable receiving routine |
| CSV or spreadsheet import | Staff import agreed product, order or invoice fields | Field mapping, units, validation and duplicate handling |
| EDI | Trading partners exchange agreed business messages | Supported message standards, acknowledgements and partner setup |
| API | Connected systems send or retrieve records | Ownership of each field, retries, errors and support responsibility |

GS1 EDI describes documents such as orders, despatch advice and invoices. Receiving advice communicates what was actually received. These are distinct business events: an advance shipment notice is not proof that the goods arrived or were accepted.

Choose the simplest connection that preserves the records your operation needs. For a shop with a small supplier list, manual receipt against a PO may be sufficient. For repeated electronic deliveries, structured exchange may reduce re-entry, but someone still needs to review exceptions. Ask how a failed import is identified and corrected without silently increasing stock twice.

Before comparing vendors, [talk through your supplier handoff with the Sandooq team](/contact). Bring an actual order, a delivery note and an invoice so the discussion can establish the supported workflow instead of relying on a feature label.

## The data that must agree between supplier and POS

A usable connection needs a shared meaning for each field. Map the supplier's product reference to your SKU or GTIN and record the purchase unit separately from the selling unit. A case of 12 units should add 12 sellable units if it is accepted in full, not one and not 144.

| Record | Minimum information to verify |
|---|---|
| Supplier | Stable identifier, contact, agreed payment terms and delivery destination |
| Product mapping | Supplier reference, store SKU or GTIN, purchase unit and pack size |
| Purchase order | Unique reference, ordered quantities, agreed costs and expected destination |
| Physical receipt | PO reference, delivered and accepted quantities, operator and receiving time |
| Perishable batch | Lot, printed date and date type where the store tracks them |
| Invoice | Supplier invoice reference, quantities, charges and links to receipt records |
| Exception | Reason, affected quantity, responsible person and resolution |

Keep payment terms on the supplier record and due dates on the relevant invoice. Payment terms are not a substitute for a stock receipt. Similarly, a supplier's catalogue update should not rewrite the cost of goods already received without a defined adjustment process.

For perishables, establish whether the case label carries batch and date data and how those fields survive an import. The [expiry-date receiving and rotation guide](/blog/perishable-inventory-expiration-tracking) explains why a product scan alone may not identify the lot. Verify that a correction to a product mapping is recorded and that staff can identify which earlier receipts used it.

## Receiving example: ordered 100, accepted 90

Use a discrepancy to test the connection. A perfect delivery can hide the difference between an order, a shipment notice, a physical count and an invoice.

Here is an illustrative delivery of a single product:

| Event | Quantity | Effect to verify |
|---|---|---|
| PO sent | 100 units | Records the request; does not create sellable stock |
| Supplier invoice received | 100 units | Records the supplier's claim; is still subject to matching |
| Physically delivered | 92 units | Records an 8-unit shortage against the order |
| Damaged and rejected | 2 units | Records why these units were not accepted |
| Accepted into available stock | 90 units | Increases sellable stock by 90, with the receipt reference |

The reconciliation is `100 ordered = 90 accepted + 2 rejected + 8 not delivered`. The invoice has a 10-unit difference from the accepted quantity. Staff should record and resolve that difference according to the supplier agreement; the discrepancy does not mean a credit note has already been issued.

If rejected goods remain physically at the store while awaiting collection, keep their held quantity visible without making it available for sale. A later delivery of the missing units needs its own receipt linked to the original order. Do not overwrite the first count to make the PO appear complete.

A goods-received note, or GRN, is the receiving record used to capture these facts. Ask whether stock updates when an authorized receipt is accepted or only at another step. Confirm how staff correct a mistake and whether the history preserves both the original event and the correction. The expected result is an explainable balance, not simply a green “received” status.

## Match invoices and follow the cost into reporting

Three-way matching compares the purchase order, receiving record and invoice. It asks whether the supplier billed the agreed price for the accepted quantity. Price differences, freight, substituted items and partial receipts need an explicit review path rather than a forced match.

In an illustrative example, a store orders 40 units at 3 currency units each. The order value is `40 × 3 = 120`. If it accepts 36 units, their value at the agreed unit cost is `36 × 3 = 108`, before separately recorded charges. An invoice for 120 therefore needs a difference of 12 currency units explained, or a separate record of goods still expected.

Then trace the accepted cost into stock valuation and sales reporting. Ask which costing method the system uses and how invoice corrections, supplier credits and returns affect the relevant records. Updating the next purchase price is a different action from revaluing goods already held or changing a past report.

Use the [POS reporting questions for margin analysis](/blog/pos-sales-reports-retail-analytics) to inspect the result. A report should make the cost period and quantity basis clear enough for the store's bookkeeping process. A screen showing revenue alone cannot establish that purchasing costs flowed through correctly.

Separate supplier liabilities from customer receivables. If the store also offers credit at the till, use a distinct [customer-tab balance and collection process](/blog/customer-tab-retail-shop). Combining money owed to suppliers with money owed by customers makes neither balance easier to reconcile.

## Reorder, monitor and test the exception path

Reorder alerts should inform a purchasing decision without hiding open orders. Before issuing another PO, review stock on hand, quantities already ordered and committed demand. The [cycle-stock and reorder-point examples](/blog/cycle-stock-formula-safety-stock) explain how those inputs differ. Automatic suggestions need the same checks as a manually prepared order.

For perishables, compare the suggested quantity with storage space and the intended selling window. A bulk discount may lower the purchase price while increasing the quantity at risk of waste. Keep the buyer's approval visible and verify which staff can change the order or receiving quantity.

Use these acceptance checks in a demo:

1. Import or enter the same supplier document twice and show how duplication is prevented or flagged.
2. Receive part of an order, then receive the balance without adding the first delivery again.
3. Correct a carton-to-unit mapping and show the audit history.
4. Reject damaged goods while keeping the accepted quantity available.
5. Enter an invoice with a different price and show who reviews it.
6. Trace a supplier credit or return back to the receipt.
7. Close the order with an explainable final quantity and cost.

Monitor suppliers using defined measures, not universal targets. For example, acceptance rate can be accepted units divided by ordered units for a defined set of closed order lines. On-time delivery needs an agreed window and a rule for partial deliveries. State whether a score covers an individual store or the network before comparing suppliers.

Finally, document the manual fallback if an import or connection fails. Keep original references so staff can reconcile records when service returns. A successful integration is one the receiving team can explain and recover, including the exceptions.

## Frequently asked questions

### What integration do I need between grocery POS and suppliers?

Connect supplier product references, purchase orders, accepted deliveries and invoice records. Include batch and date fields where your grocery workflow requires them. A direct API is optional: manual receiving, CSV imports or EDI may fit different suppliers. The essential test is whether quantities and costs remain traceable from the order through receipt and invoice review.

### What is a goods-received note?

A goods-received note is a record of the physical delivery and the quantities the store accepted. It links the receipt to an order and records discrepancies such as shortages, damage or substitutions. It should identify the operator and receiving time. Confirm when the receipt updates available stock and how later corrections remain visible in the system.

### Can I connect suppliers without writing code?

Yes, if the supported workflow uses manual entry, a standard import or an existing connector. EDI and API connections depend on the capabilities of both trading partners and may need setup work. Ask the vendor to demonstrate your supplier's actual document format, including a failed import, before assuming a connection is ready to use.

### Does scanning a delivery automatically capture its expiry dates?

Only if the label includes the relevant data and the receiving software reads and stores it. A barcode identifying a product may contain no lot or date information. Inspect the case label and individual item separately. Where scanning cannot supply the fields, establish who enters or imports them and how staff check the result.

### What should happen when the delivery is short?

Record the quantity physically delivered, any rejected quantity and the quantity accepted into available stock. Keep the difference linked to the original PO and review the invoice against that receipt. Track a supplier credit, replacement or later delivery as a separate event. Do not increase stock to the ordered quantity merely to close the order.

### Should purchase orders automatically change stock levels?

An order records an intended purchase; it does not prove goods are available for sale. A system may show incoming quantities separately for planning. Ask when accepted receipts affect sellable stock and how cancellations or rejected deliveries are recorded. Confirm that reorder suggestions consider open orders so the same shortage does not create repeated purchases.

## Authoritative sources

- [GS1 Electronic Data Interchange](https://www.gs1.org/standards/edi) — standardized business documents, including orders, invoices and despatch advice.
- [GS1 EANCOM receiving advice](https://www.gs1.org/sites/default/files/docs/eancom/s4/recadv.pdf) — recording accepted goods and communicating delivery discrepancies.
- [GS1 Application Identifiers](https://ref.gs1.org/ai/?lang=en) — product, batch and date data used in receiving labels.

## Related reading at Sandooq

- [Recording expiry dates and rotating grocery batches](/blog/perishable-inventory-expiration-tracking)
- [Calculating stock buffers before placing another order](/blog/cycle-stock-formula-safety-stock)
- [Preparing sales history for replenishment forecasts](/blog/demand-forecasting-retail-stock)
- [Checking physical inventory with cycle counts](/blog/inventory-cycle-counts)
- [Managing customer credit separately from supplier balances](/blog/customer-tab-retail-shop)
- [Review the Sandooq grocery POS workflow](/use-cases/grocery)

[Arrange a supplier-receiving workflow discussion](/contact). Use an order with a shortage and a price difference so you can establish which steps Sandooq supports, who handles exceptions and what remains manual.