Lot Transactions and Lot Audits
Every movement of every lot in one list you can filter and download, adjustments in the Activity report, who made each history entry, a lot's audit PDF, and lot actions on the phone with or without signal.
Lot Transactions and Lot Audits
Every lot keeps a history: started, moved, sold, used, discarded, adjusted, stage changes and contamination reports. Each lot’s page shows its own history. For an audit or a recall you need more than one lot at a time, so Sporeline gives you four views of the same records:
- Reports > Lot transactions: every entry of every lot, filtered and downloadable.
- Reports > Activity: lot adjustments (shrinkage, corrections) with the reason.
- The lot page’s History card: who made each entry.
- The lot page’s Audit PDF: the lot’s whole history as one PDF.
Who can do what
| Action | Who |
|---|---|
| See Lot transactions, download its CSV | Manager, Owner |
| See lot adjustments in Activity | Manager, Owner |
| Make a lot’s Audit PDF | Manager, Owner |
| Adjust a lot (with a note) | Manager, Owner |
| See the lot page and its History card | Everyone on the team |
Workers and Viewers don’t see the Lot transactions report or the Audit PDF. Both name customers on sales.
Find every movement in a date range
- Go to Reports and open Lot transactions.
- Pick the dates. The report starts on the last 30 days and covers up to a year.
- Narrow it with the filters if you need to:
- Type: one kind of entry, for example Discarded or Adjusted.
- Location: entries at, from or to a place. A building covers every room and rack inside it.
- Item type: one kind of lot, for example G2 or Block. Lots that never had a type set are counted under the type Sporeline gives them on their own page, so a G2 spawn lot shows up under G2 even if nobody picked a type for it. A type you retired is still in the list, marked (retired), so you can find its old lots.
- Strain: lots of one strain from your strain library. A lot made from a recipe that serves any strain is listed under the strain picked for that lot.
- Lot code: one lot. Type the code and click Apply.
- Filters combine. Item type G2 with Strain HE-CNS lists only G2 lots of HE-CNS.
Each line says when it happened, the lot (with its item type and strain under the code), what happened, the change in units, how many were left after, where, who made the entry, the order or batch the units went to, and the reason or note. Click the lot code to open the lot.
If nothing matches, the report says which filters are on. Click Clear filters to start again.
Download the CSV
Click Download CSV. The file has the same lines as the screen, with these columns: when, lot code, batch id, item type, strain, type, change, moved quantity, after, location, from location, to location, who, reason, note, order number, customer, used in batch, shipped at and entry id.
When the report can’t show everything
One report reads at most 300 lots that changed in the range, and shows the newest 2,000 lines. When it reaches either limit it says so above or below the table. Narrow the dates, or filter by type, location, lot code, item type or strain, until the note goes away. The report never passes a short list off as the whole.
Adjustments in the Activity report
An adjustment corrects a lot’s count: shrinkage, a miscount, units found. Only a Manager or Owner can adjust a lot, and the note is required.
Every adjustment shows in Reports > Activity under the Lots category as Adjusted lot units by −3 (or +5), with who made it and the note as the reason. Adjustments also show in Lot transactions with the Adjusted type.
Who made each history entry
Open a lot. Each line of its History card says when it happened, who made the entry and how many units were left after. The person is their email, or Former member for someone no longer on your team.
A lot’s audit PDF
- Open the lot.
- Click Audit PDF at the top, next to Traceability Report.
- The PDF opens in a new tab.
You can also make it from Compliance > Batch Audit Report by entering the lot’s batch id.
The PDF has:
- The lot code, its item type, recipe and strain, its status, and how many units it started with and has on hand.
- The files kept with the batch.
- Every history entry, oldest first, on your farm’s clock: what happened, the change, how many were left after, where (for a move, from where to where and how many units), who made it, the order and customer for a sale, the batch for a use, both stages for a stage change, and the reason and note.
- The details the lot page shows with an entry: which QC check failed (or how many passed), each reading before and after a field update with (out of range) where it was, readings taken with a stage change, the sterilization run and inoculation, a use’s weight, and for a harvest correction each figure before and after (a deleted harvest keeps every figure it had), in your farm’s units and stage names.
- For a sale or a use entered on a later day, the day it really happened beside the day it was recorded, for example Shipped on: Oct 3, 2026 (recorded Oct 6, 2026).
Long names and notes wrap onto the next line. Nothing is cut off.
If you filled in your farm’s brand profile under Settings > Brand Profile, the PDF starts with your farm name, producer name and producer address, and a line in your primary colour, so whoever you hand it to can see whose record it is. The audit PDF does not print your logo. With an empty brand profile the PDF starts with its title, as before.
A lot with more than 5,000 history entries is more than one PDF holds. Sporeline says so instead of printing part of it. The Owner’s full data export has every entry of every lot.
On the phone, with or without signal
The Sporeline phone app keeps your farm’s open lots on the phone, so a worker on the floor can move, change the stage of, discard from or use a lot where there is no signal. What they do is saved on the phone and sent when the phone is back online. It lands in the lot’s history like a change made on the web, with the phone named as the device.
Turn it on
Lot actions on the phone follow the farm setting Lot actions on phones. A Manager or Owner turns it on in Settings > Optional features. It is off unless someone turns it on, and off is how every farm works today. While it is off, the phone shows lots but no lot buttons, with the line “Lot actions on the phone are off for this farm.”
Find a lot
- Tap Batches, then Lots. The list shows each lot’s code, its stage, units on hand and box-by date, soonest box-by first. Units on hand count what this phone did and hasn’t sent yet, the same as on the lot (“15 on hand incl. 1 unsent”). Type part of a lot code in the search box to find it. A scanner that types what it reads lands there too.
- Or scan the lot’s label. It opens the lot.
The four actions
Open a lot and tap one of these:
| Button | What it does |
|---|---|
| Move | Moves units from one rack (or from Not placed) to another rack. |
| Change stage | Moves the whole lot to its next stage word, and its units to the rack you pick. If the stage it is leaving has a QC checklist, the phone asks every question first, and Move to … stays off until each one has Pass or Fail. If your farm asks readings when a lot moves into the new stage (batch fields in Custom Fields), the phone asks them too, under Readings for …, and Move to … stays off until the required ones are filled. They are sent with the stage change, offline too, and Redo opens with them filled in. A Fail on the QC checklist keeps the lot where it is, so the readings are not asked then. |
| Discard | Takes units out with one of the lot type’s reasons. Other needs a note saying what happened. In a stage your farm marked Released by a Manager, a Worker can’t discard. The sheet becomes Report contamination instead. It offers only contamination reasons and confirms with Report. The units stay on the lot until a Manager discards them. |
| Use in batch | Records units that went into one of your batches, on a day you choose (today unless you change it), with their weight if you want it. The phone offers the same batches as the web: your newest 100, open lots and live unit batches, never the lot itself. It keeps them, so they are offered offline too. Open Lots or a lot while online once to load them. |
A stage change shows the lot’s old stage with “(stage change waiting to send)” until Sporeline has it. The new stage appears once it is sent.
Scan a rack to move a lot
You can move a lot by scanning where it goes instead of picking the rack from a list.
- Open the lot. Scan its label, or tap Batches, then Lots, and pick it. In Move by Scan, scanning a lot’s label opens the lot with the camera already on.
- Pull the trigger on the rack’s label (a Zebra handheld or a paired scanner), or tap Scan a rack and point the camera at it.
- Move opens with that rack as To. Type how many units go there and tap Move. If the lot sits on more than one rack, pick the one they come from first.
If the whole lot is in one place and the rack is set up for another stage (its default stage in Locations), scanning it opens Change stage instead, with that stage and that rack already chosen, the same as on the web lot page. A lot spread over several racks opens Move, since a stage change moves the whole lot. Answer the QC checklist and readings if your farm asks them, then confirm. A rack set up for the stage the lot is already in, or for no stage, opens Move.
While Move or another sheet is open, the scanner waits, so a stray scan can’t change what you typed. To send the units somewhere else, tap another rack under To, or tap Cancel and scan again. Scanning another lot’s label opens that lot. Anything that isn’t a rack label shows “Scan a rack label” and nothing is saved.
It works without signal. The move or stage change is saved on the phone and sent like the other lot actions, with the numbers you saw. The phone needs to know the rack: if a rack was added after the phone’s last sync and there is no signal, it says “That rack isn’t on this phone yet. Sync and try again.” and nothing is saved. Online, the phone looks the rack up.
Scanning works only while Lot actions on phones is on. While it is off, the lot has no Scan a rack button and a scan does nothing.
What the numbers on the lot mean
-
20 on hand incl. 2 unsent: 20 is what the lot holds once the 2 actions still waiting on this phone are sent.
-
1 contamination report waiting to send. A Manager discards the units.: a report doesn’t take units off, so the count stays the same. Once it is sent, the lot shows Sporeline’s answer, for example “Saved and flagged. Incubating is released by a Manager, so a Manager has to discard the units.”
-
Flagged for contamination, so it can’t be used in a batch until a Manager clears the flag.: the lot carries a contamination flag, shown with its badge (for example “Contamination: monitoring (Trichoderma)”). Use in batch is off, as on the web, because Sporeline refuses it. Move, Change stage and Discard still work. The phone keeps the flag, so it is still there after the app restarts. While your own report is still waiting to send, Use in batch is off too, with “A contamination report on this lot is waiting to send”.
-
As of 2h ago: the phone is offline, or hasn’t refreshed its lots for over a minute. The numbers are from that time, plus what this phone did since.
-
1 unsent action doesn’t match these numbers: the lot changed since that action was saved on the phone. Either Sporeline already has it (the phone missed the answer) or someone else changed the lot first. The numbers shown are what Sporeline will hold. The action is checked when it sends, and if it is refused it shows under Not sent with Redo.
-
Rack counts not loaded: the phone knows how many units the lot has but not how many are on each rack. Move, Discard and Use in batch are off, with “Rack counts for L-0412 didn’t load. Sync again before moving it.” Change stage still works. Open the lot while online to load the racks.
-
Sporeline hasn’t answered an earlier action on L-0412, and the lot has changed since: the phone can’t tell whether Sporeline already has that action. The buttons stay off until it sends and Sporeline answers, which happens on its own once the phone is online.
-
Couldn’t load the lots or Couldn’t load this lot, with the reason and Retry: the phone is online but Sporeline didn’t answer. Nothing is missing. Tap Retry, or wait for signal and sync. When the phone already has the lots, they stay on screen with Couldn’t refresh.
When the lot changed meanwhile
The phone sends the numbers you saw with every action: units on hand, the units the action takes, the units at that rack, and the stage. If someone else changed the lot first, Sporeline doesn’t act on numbers you never saw. It refuses the action, and the phone shows why, for example:
“Lot L-0412 changed since it was scanned: now 20 units (8 at Rack 1, 12 at Rack 2), Incubating; you confirmed 10 at Rack 1. Scan it again.”
A contamination report stays a report. If, by the time it sends, the stage no longer needs a Manager’s release or your account has become a Manager’s, Sporeline doesn’t discard the units. It refuses the report with “This was confirmed as a contamination report, but it would now discard 5 units of the lot. Open the lot and confirm it again.”
The refused action stays in More > Sync > Failed items, and it is shown on the lot under Not sent with Redo. Redo opens the same action filled in as you entered it, against the lot’s numbers now. Check them and confirm again. If Sporeline already accepted the action, there is no Redo: the lot says “Sporeline already has this action; it is in the numbers above.”
Not on the phone yet
Counts and receiving a transfer from another site are not on the phone app yet. Use the web for those. A kiosk scan station can move lots as well; see Move lots at the station.
With an AI assistant
A connected assistant can read one lot’s history the way the Lot transactions page shows it, through the lot_transactions_list tool, for Managers and Owners just like the page. Ask it something like “What happened to lot 093026-AB-13 last week, and who moved it?” Anyone on the farm can also ask for a lot’s newest history entries through batch_get, which reads the lot page itself.