Skip to content

StockRM blog

How Duplicate Orders Slip Into Cin7 Core (And How to Catch Them Before They Ship)

November 8, 2026 · 6 minutes

Every wholesale team has a story about the order that shipped twice.

A customer emails a purchase order. A rep enters it. The next morning the same customer follows up with the same PO, because they hadn’t had a confirmation yet, and someone else enters it again. Both orders are picked, packed and sent. The customer receives double the stock, and somebody spends the next week sorting out the return, the credit note and the apology.

Nothing about this is anyone being careless. It happens because two people did their jobs correctly with the information in front of them, and nothing told either of them the order already existed.

This article covers how duplicates get into Cin7 Core, what they really cost, why Cin7 doesn’t stop them on its own, and how to catch them at the moment they’re entered.

How Duplicates Get In

Duplicate orders rarely come from one big failure. They come from ordinary, everyday overlaps.

The same customer PO, entered twice

The most common case. A customer sends a PO by email, then re-sends it, or sends it to two people, or phones it through as well. Each entry looks legitimate on its own. Cin7 Core has no idea that “PO 4471” on Tuesday’s sale is the same PO as “PO-4471” on Monday’s.

Two people, one inbox

Shared order inboxes are efficient right up until two people open the same email. Without a lock on who is handling what, the same order can be entered within minutes by two different team members.

Purchases raised twice

It happens on the buying side too. A supplier’s invoice or order confirmation gets recorded against two purchase orders, or the same reorder is raised twice because the first one wasn’t visible yet. Now you’re paying for, or receiving, stock you didn’t mean to buy.

Re-keyed orders after a change

A customer amends an order, and instead of the original being edited, a new one is created. The old one is never voided. Both carry the same reference.

What a Duplicate Actually Costs

The obvious cost is the freight and handling for an order nobody wanted. The less obvious costs are usually bigger:

  • Stock allocated to the wrong order. While the duplicate sits in Cin7, its stock is committed. Another customer can be told an item is out when it isn’t.
  • Credit notes and returns. Someone has to raise them, chase the goods back, restock them and reconcile the account.
  • A customer who now double-checks you. One duplicate delivery is forgiven. Two, and the customer starts checking every invoice, and wondering what else is slipping.
  • Paying a supplier twice. On the purchase side, a duplicate can turn into a duplicate payment, which is much harder to claw back than a duplicate delivery.

None of these show up as a line on a report. They show up as hours, goodwill and margin.

Why Cin7 Core Doesn’t Catch It

Cin7 Core does block one kind of duplicate: it won’t let you record the same supplier invoice number twice. That’s genuinely useful.

But the references that matter most for duplicate orders aren’t checked:

  • The Customer reference on a sale, where the customer’s PO number usually goes.
  • The memo, comment and additional attributes on a purchase, where teams record supplier order numbers and invoice references.

And even where a check exists, it needs an exact match. “PO 4471”, “PO-4471” and “po4471” are the same reference to a person, and three different strings to software.

The Usual Workarounds

Most teams try one of these:

  • Search before saving. It works when people remember to do it, and when they search for the exact format the last person typed.
  • A weekly duplicates report. Useful for clean-up, but by the time it runs the order may already have shipped.
  • One person owns order entry. It reduces the risk, and creates a bottleneck and a single point of failure.

All three put the burden on a person remembering to check. The better approach is for the check to happen on its own, at the exact moment the reference is typed.

How Duplicate Guard Works

Duplicate Guard is a StockRM module for Cin7 Core teams. It runs in the StockRM Chrome extension and watches the reference fields as your team works in Cin7.

It keeps its own index of your references. Every sale and purchase reference in your Cin7 account is indexed and refreshed every five minutes. Checks run against that index, so they’re instant and don’t add load to your Cin7 account.

It matches references the way a person would. References are normalised before they’re compared, so “PO 4471” and “PO-4471” are treated as the same thing. Dates, times and amounts are ignored so they don’t trigger false alarms.

It checks the right fields.

  • On sales: the Customer reference, compared against that same customer’s other orders.
  • On purchases: the memo and comment, plus any of the ten additional attributes you choose. You decide whether to compare against the same supplier only, or across every supplier.

It warns, it never blocks. When a reference is already on another order, a banner appears on the screen with links to the matching orders. Open the existing one in a click, or carry on if it’s genuinely a separate order. Duplicate Guard never stops a save and never writes anything to Cin7.

It ignores voided orders. A cancelled order with the same reference won’t set it off.

Setting It Up

You need three things:

  1. Google Chrome with the StockRM extension installed for each person entering orders.
  2. A Cin7 Core API key. API access is free on every Cin7 plan, and we walk you through creating one.
  3. Your choice of which purchase fields to check. The default is memo and comment.

Duplicate Guard doesn’t need HubSpot or any other system. It works entirely with Cin7 Core.

Frequently Asked Questions

Does Duplicate Guard change anything in Cin7? No. It only reads. The warning is shown by the Chrome extension, and your order saves exactly as it would without it.

How quickly does a new order become checkable? New orders join the index within five minutes. A saved order that someone opens is refreshed straight away.

Will it flag every order with a similar number? No. It looks for the same reference after normalising spacing, punctuation and case, and it skips dates, times and decimal amounts. On sales it only compares against the same customer.

What does it cost? $9 USD a month for your whole team, with unlimited users. It’s currently open by waitlist.

The Bottom Line

Duplicate orders aren’t a training problem. They’re what happens when several people handle orders quickly and nothing connects what they’re doing. The fix isn’t asking everyone to search harder. It’s a check that runs on its own at the moment a reference is entered, and tells the person in front of the screen what they need to know.

Join the Duplicate Guard waitlist →