Skip to content

Batch tracking for Shopify makers

From supplier lot to customer. Traced.

BatchTrail links your raw-material lots, recipes and production runs to every Shopify order. If a supplier lot goes bad, you can see every customer who received it and pull unsold stock from sale, from one screen.

New stores are taken to Shopify to approve the install.

See how a recall works

Example trace in BatchTrail: supplier lot LV-0331 of lavender essential oil went into batch LAV-260912-01 of 240 candles, which shipped in 38 orders to 38 customers. The supplier has flagged the lot, and the recall would remove 202 unsold units from sale.

Made for

  • Cosmetics & skincare
  • Candles & home fragrance
  • Soap & bath
  • Small-batch food
  • Supplements

01 · The problem

Spreadsheets are fine until the day you need a recall.

Makers of cosmetics, candles and food keep good records, but they end up spread across notebooks, spreadsheets and inboxes. These three moments show where the gaps are.

  • Supplier notice

    “Lot 4471 of our shea butter is contaminated.”

    Which of your batches used it? Which orders shipped from those batches? A spreadsheet can’t follow the lot from the supplier to the customer.

  • Audit request

    “Show me the records for this batch.”

    Ingredients, supplier lots, quantities, dates. When these live in notebooks and email threads, putting them together takes days.

  • Expiry slip

    “That oil expired last month.”

    When you pick materials by hand, older lots sit at the back of the shelf until it’s too late, and sometimes they end up in a batch anyway.

02 · How it works

From delivery to doorstep in four steps.

You do the making. BatchTrail keeps the record, and it all happens inside your Shopify admin.

  1. Step 01

    Log materials and supplier lots

    Record each delivery with its supplier, lot number, cost and expiry date. Import a CSV, or upload a supplier document and review what it reads.

    LV-0331 · Lavender EO · exp 03/2027
  2. Step 02

    Build recipes

    Link a Shopify product to the materials that go into one unit, with quantities.

    recipe: Lavender Soy Candle 8 oz
  3. Step 03

    Run production

    BatchTrail picks the oldest-expiring lots first, numbers the batch, and updates the product’s stock and unit cost in Shopify.

    batch LAV-260912-01 · 240 units
  4. Step 04

    Ship and trace

    When an order is fulfilled, the shipped units are linked to their batch and the batch numbers are saved on the order.

    order #1042 ← LAV-260912-01

03 · One-click recall

When a supplier calls, you’ll already have the list.

Search a supplier lot or batch number. BatchTrail follows it through every batch made from it to every order and customer it reached, and lets you act on the result straight away.

  • QuarantineThe supplier lot and every batch made from it are recalled together.
  • Off saleUnsold units are removed from sale in Shopify.
  • BlockedRecalled lots are skipped by future production runs and fulfillments.
  • CSVDownload the affected customers, orders and quantities to contact them and keep a record.
Example recall of supplier lot LV-0331: three batches were made from it, 97 orders and 91 customers were reached, the batches were recalled with 486 unsold units taken off sale, and the customer list is ready to download as a CSV.

04 · Features

Built for the way makers work.

Every batch gets a number, a recipe, a real cost and a list of the customers who received it, and you don’t have to maintain a second system.

  • Oldest-expiring lots go first

    Every production run draws from the materials that expire soonest, and records exactly which lots and how much of each it used.

  • Expiry and low-stock alerts

    Your dashboard lists lots and batches expiring within a window you choose, and materials below their reorder point.

  • Every order linked to its batch

    Fulfilled units are assigned to batches automatically, and the batch numbers are saved on the Shopify order.

  • True cost per batch

    Material costs come from the actual lots used, so each batch has a real unit cost. BatchTrail sends it to Shopify along with the new stock.

  • Import from CSV or a supplier document

    Bring lots in from a spreadsheet, or upload a PDF or photo of an invoice or certificate. You review every row before it’s saved.

  • Trace in both directions

    Start from a batch to see every supplier lot inside it, or start from a supplier lot to see every batch, order and customer it reached.

05 · Compared

The whole chain, without the ERP.

Lot and expiry apps track finished goods but not what went into them. Large manufacturing suites cover recipes but come with a lot of setup. BatchTrail covers the full chain for small makers.

How BatchTrail compares with spreadsheets, lot and expiry apps, and large MRP suites
CapabilityBatchTrailSpreadsheetsLot & expiry appsLarge MRP suites
Trace a supplier lot forward to customersYes: Built inNo: Manual lookupsNo: Finished goods onlyPartly: Often a paid add-on
Recipes and production runsYes: Built inPartly: Hand-built formulasNo: Not coveredYes: Built in
Oldest-expiring materials used firstYes: AutomaticNo: By memoryPartly: Finished goods onlyYes: Usually
Batch numbers on Shopify ordersYes: AutomaticNo: Typed by handYes: UsuallyPartly: Via sync
Recall with unsold stock pulled from saleYes: One screenNo: ManualPartly: Finished lots onlyPartly: Varies
Lives inside Shopify adminYes: Embedded appNo: Separate fileYes: YesNo: Separate system

These columns describe typical tools in each category. Individual products vary.

06 · FAQ

Questions, answered.

Anything else? Install the app and look around. It works alongside the products, inventory and orders you already have.

Do I need to change how I use Shopify?

No. Your products, inventory and orders stay in Shopify. BatchTrail adds materials, supplier lots, recipes and batches alongside them, and when you log a production run it updates that product’s stock and unit cost for you.

What counts as a batch?

Each production run of a recipe creates one batch with its own number, such as LAV-260912-01 (the recipe’s prefix, the date and a sequence). The batch records the exact material lots it used, the quantity made, its cost per unit and its expiry date.

How do orders get linked to batches?

When an order is fulfilled, BatchTrail assigns the shipped units to available batches, oldest-expiring first, and saves the batch numbers on the order in Shopify. You don’t need to scan or type anything at packing time.

What happens when I recall a lot?

Search for a supplier lot or a batch number. For a supplier lot, BatchTrail quarantines it and recalls every batch made from it. Unsold units are removed from sale in Shopify, recalled lots are skipped by future production runs and fulfillments, and you can download the affected customers as a CSV to contact them.

Does BatchTrail make me compliant with cosmetics or food regulations?

No software can do that on its own, and BatchTrail doesn’t certify compliance. It keeps lot-level records, from supplier lot to customer, organized and ready when an auditor asks or a recall happens. Check which rules apply to your products with your regulator or adviser.

How do I get my existing materials in?

Add them one by one, import a CSV using the template in the app, or upload a PDF or photo of a supplier invoice or certificate. BatchTrail reads the lot details from the document, and you review them before anything is saved.

Will it warn me before things expire?

Yes. The dashboard lists material lots and batches that expire within your warning window (you choose the number of days), plus materials that have dropped below their reorder point.

Be recall-ready before you need to be.

Add your materials and your first recipe. From then on, every batch you make is traced from supplier to customer.

New stores are taken to Shopify to approve the install.