SporelineSporeline
Sign InStart free

Getting Started

  • Help Center
  • Getting Started

Operations

  • Dashboard
  • Scan
  • Blocks
  • Batches
  • Recipes

Printing

  • Label Templates

Lab

  • Cultures
  • Cryo Storage
  • Agar Plates
  • Liquid Cultures
  • Trials
  • Strains

Analytics

  • KPIs
  • Data Health
  • AI Insights

Logistics

  • Locations
  • Customers
  • Deliveries

Admin

  • Team
  • Settings
  • Billing
  • API Keys
  • Configuration
  • Enumerables
  • Integrations
  • Notifications
  • Import
  • Brand Profile
  • Products
  • Traceability
  • Compliance
  • Reports
  • Log Transcription
  • Switchboard

Guides

  • Your First Batch
  • Moving Blocks
  • Import from Spreadsheets
  • Lots and Spawn
  • Room Readings
  • The New Sporeline Look
  • Lots on Orders
  • Lot Transactions and Lot Audits
  • The Sterilization Log
  • Reports and Their Numbers
  • Auto-assign Lots and Pick Lists
  • Recipes and Planning a NOC Day
  • Stage Schedules and Due Today
  • Planning
  • Notification Rules
  • QC Checkpoints and Release
  • The Lab: Cultures, Cryo, Plates and Liquid Cultures
  • Traceability and Recall
  • Sporeline: Explore Your Lineage
  • Scanning on the Floor
  • Counts by Scan
  • Shared Handhelds
  • Zebra Handhelds
  • Orders and Packing Slips
  • QuickBooks Customers and Products
  • Accounting Export
  • Site Transfers
  • Raw Materials
  • Optional Features
  • Approve AI Changes
  • Configuration Tabs
  • Harvest Workflow
  • Contamination Alerts and the Weekly Digest
  • Label Printing
  • Team Setup
  • The Free Plan
  • Usage Recording
  • Signing Up and Farmhand on Free
  • Start Your Farm from an AI Assistant
  • Privacy and Your Data
  • Connect an AI Assistant
  • Ask Your Assistant
  • Appearance and Dark Mode
  • API Quickstart
  • Shopify Setup
  • Shopify Troubleshooting
  • Migrate With an AI Assistant
  • Spreadsheet Templates for Importing
  • Photos and Files

API

  • Reference
  • Authentication
  • Rate Limits
  • Error Codes

Site Transfers

Send lots from one of your sites to another: make a transfer, ship it to In transit, and receive it at the other end with shortages and extras flagged.

Site Transfers

A transfer moves lots from one of your sites to another, for example from a production building to the packing site. You list the lots and how many of each, ship them when they leave, and receive them when they arrive. While units are on the way they sit at a location called In transit. Units in transit can’t be sold, allocated to an order or assigned automatically.

A site is a top-level location: one with no location above it, such as a building. Racks and rooms inside a site are where units ship from and are received into. Transfers carry lot-tracked batches.

Who can do what

ActionWho
Turn site transfers on for the farmManager, Owner
See transfersEveryone on the team
Make a transfer, ship, receive, closeWorker, Manager, Owner
Cancel a transferManager, Owner

Turn site transfers on

  1. Open Settings in the sidebar.
  2. In the Optional features card, turn on Site transfers.

You can also do this under Configuration > Fulfillment: turn on Site transfers, then click Save fulfillment settings.

Once it is on, Transfers appears in the sidebar under Logistics.


Make a transfer

  1. Open Transfers and click New transfer.
  2. Choose the From site and the To site.
  3. Optionally set Needed by and add Notes.
  4. In Add a lot, type part of a lot code and click the lot in the list. It is added with a quantity of 1.
  5. Set each lot’s quantity. Click the bin to take a lot off.
  6. Click Create transfer.

The transfer gets a number such as TR-0001 and opens. Its status is Open. A lot can be on a transfer only if some of its units are at the from site.


Pick list

The pick list tells whoever loads the truck which rack to go to and how many units of each lot to take from it. Anyone who can see the transfer can open it while the transfer is Open or In transit and something is still left to ship.

  1. Open the transfer.
  2. Click Pick list. The list opens under the transfer.
  3. Click Print to print it, or Close to put it away.

The list is grouped by rack, and the racks are in the order you read their names, so Rack 2 comes before Rack 10 and you can walk the building once. When two racks on the list have the same name, each one shows its room after the name, for example Rack 3 (Room A) and Rack 3 (Room B). Under each rack you see the lot code, how many to Take, and how many of that lot the rack holds now (Of). When a lot is spread over several racks, the list takes from them in name order and never asks for more than a rack holds. The takes for a lot always add up to what is left to ship.

No rack recorded lists units the transfer still needs that no rack at the from site holds, as far as Sporeline knows. They may be on a cart or somewhere that was never recorded. Find them, or move them onto a rack first so they can be shipped from it.

A lot that is fully shipped is not on the list. The list is read when you open the transfer, so open it again after shipping part of the transfer to see what is left.

On the phone

  1. In the app, open More and tap Transfers.
  2. On a transfer that still has units to ship, tap Pick list. It is there for an Open transfer and for one that is In transit with part still to ship.
  3. Tap each row as it goes on the truck. A check appears and the count at the top goes up. Tap it again to clear it.

If the list is read again, for example when the phone gets its connection back, and a row now asks for a different number, that row’s check is cleared so you can count it again.

The checks stay on that phone only. They don’t ship anything and nobody else sees them, so ship the units on the transfer page as usual. The pick list needs a connection, because it reads how many units each rack holds right now.


Ship

Ship when the units leave. Each lot is shipped from one rack at a time.

  1. Open the transfer.
  2. Click Ship next to a lot, or click Scan to ship and scan the lot’s label (or type its code and press Enter).
  3. In From rack, choose the rack, or scan its location label. The list shows the racks at the from site that hold the lot, with how many each holds.
  4. Quantity starts at what is left to ship. Change it if fewer are going.
  5. Click Confirm.

The units move from that rack to In transit, and the lot’s history shows the move with the transfer number. The transfer’s status becomes In transit. To ship the rest of a lot from another rack, ship it again.


Receive

Receive when the units arrive. Count what is actually there.

  1. Open the transfer.
  2. Click Receive next to a lot, or click Scan to receive and scan the lot’s label.
  3. In Into, choose where the units go at the receiving site, or scan its location label.
  4. In Counted, enter how many arrived. It starts at what is still in transit. Under it you see Short or Extra if the count differs from what shipped.
  5. Click Confirm.

What you counted moves from In transit to that place.

  • Short: fewer arrived than shipped. The difference stays at In transit and the line shows Short and the number.
  • Extra: more arrived than shipped. Only what was in transit moves. The line shows Extra and the number, and Sporeline tells you to have a Manager adjust the lot. Nothing is adjusted for you.

A count of 0 is allowed, for a lot that didn’t arrive at all.

Each line shows how many shipped, how many are still in transit and how many were received, with where, when and who for each.


Receive on the phone

The Sporeline Grower app can receive a transfer at the arriving site, with a Zebra handheld’s scanner, a paired scanner or the phone’s camera. Making, shipping and cancelling a transfer stay on the web.

With signal, each receipt is sent the moment you confirm it.

You can also receive where there is no signal, as long as the phone has opened that transfer once with signal. The phone keeps the transfer and the list of open transfers from the last time it read them, and says how old its copy is. Receive as usual: when you confirm, the receipt is saved on the phone and the lot shows how many are waiting to send. The phone sends the receipts in the order you made them when signal comes back, and each one is recorded only once even if it has to be sent again. If someone received the same lot in the meantime, that receipt is refused rather than added on top, and it shows under Sync on the More tab so you can check the rack and count again. A transfer the phone has never opened says This transfer isn’t on this phone yet; open it once where there is signal. Closing a transfer still needs signal and waits until every saved receipt has been sent.

  1. In the app, open More and tap Transfers (under Data). The row is there only when site transfers are turned on for the farm.
  2. Tap the transfer.
  3. Tap Scan to receive.
  4. Scan the lot’s label. A lot code printed without a Sporeline QR code works too when the scanner reads it. You can also tap the lot in the list. To use the phone’s camera, tap Use camera.
  5. Scan the location label of where the units go, or tap Pick a place and choose it. Only places at the receiving site are offered. If you scan a place at another site, the phone says That place isn’t at and the site’s name, and keeps the lot.
  6. Counted starts at what is still in transit. Change it if fewer or more arrived.
  7. Tap Receive. Check what the phone is about to record. If you counted fewer than shipped, it says how many are short and that those units stay in transit until they are received or written off.
  8. Tap Confirm.

The phone shows Received with the count and place, and reads the transfer again. Receive the next lot the same way. The place you picked stays picked.

  • A lost connection after Confirm: tap Confirm again when you have signal. The receipt is recorded only once. If it had already gone through, you see Already recorded. Until Sporeline answers, the transfer says A receive of … went out, but the phone never heard back, with a Retry button that sends the same receipt again. It stays there if you leave the transfer or restart the app, and Close transfer isn’t offered until it is settled, so the transfer is never closed short of units you received. Another receipt for the same transfer waits for it too. It stays even if someone else receives the same lot or closes the transfer, because only Sporeline’s answer to your receipt says whether yours was recorded. If someone else got there first, Retry tells you your count was not added.
  • The phone couldn’t keep a receipt: once in a while a receipt goes through but the phone can’t save the transfer afterwards (for example, when its storage is full). The transfer then says Received … but this phone couldn’t keep it, with a Retry button. It stays there if you leave the transfer or restart the app, and Close transfer waits for it, so the phone never forgets a receipt Sporeline recorded. Tap Retry when you have signal; the receipt is recorded only once, and the line shows it once the phone keeps it.
  • “Lot … was already received by … after your phone last synced”: someone else received that lot first. Your count was not added. The phone reads the transfer again; check the rack and count again if there really is more.
  • “This receive wasn’t saved: the receives waiting on this phone couldn’t be checked”: the phone couldn’t read the receipts it is still holding for this transfer, so it can’t tell what the lot will stand at once they send. Nothing was saved and your count is still on the screen. Tap Try again, and once the waiting receipts show, tap Confirm.

When every shipped lot has a count, Close transfer appears. Tap it, check the number of short and extra lines, and tap Close.

If the connection drops after you tap Close, the transfer says A Close of this transfer went out, but the phone never heard back and won’t save any more receipts for it until that is settled. Tap Retry when you have signal; the transfer is only closed once. If the retry finds the Close already went through, the app says The server says this Close already went through. Checking the transfer and reads the transfer again; the message goes away once the transfer shows as received. If the Close went through but the phone couldn’t save the closed transfer, it says The transfer closed, but this phone couldn’t keep it with Retry, and won’t save any more receipts until a retry or a fresh read of the transfer is kept. On a very large transfer, a retry may confirm the Close without sending the lot counts back; the phone then reads the transfer again to get them. If that read fails, the transfer shows as received and says This transfer closed, but the counts shown may be out of date, with Retry. The message stays if you leave the transfer or restart the app, and goes away once the phone has read the transfer.

Viewers can open transfers on the phone but don’t get Scan to receive or Close transfer.


In transit in Inventory

When site transfers are on, the Inventory page shows units that have shipped and not been received:

  • An In transit tile beside On hand, Allocated to orders and Available.
  • An In transit column in the Lots card, and an in_transit column in its Export CSV file.
  • An In transit row in the building breakdown.

Units in transit are part of On hand, but never part of Available: they can’t go on an order until they are received. A lot with 10 on hand and 4 on a truck shows 6 available.


Close or cancel

  • Close transfer when every shipped lot has been received. The confirmation says how many lines were short or extra. The transfer moves to the Closed tab as Received.
  • Cancel transfer (Manager) only before anything has shipped. Say why in Why. A cancelled transfer shows its reason.

The Transfers page shows open transfers first. Click Closed to see received and cancelled ones.


When something goes wrong

  • “Site transfers isn’t turned on for your farm.” — a Manager turns it on in Settings > Optional features.
  • “Lot … has no units at …” when making a transfer — none of that lot is at the from site. Check the lot’s placements, or pick the other site.
  • ”… units of lot … are promised to order(s) …; ship or release them first” when shipping — orders hold those units. Ship fewer, ship from another rack, or release the order’s allocation first.
  • “That location isn’t at …” — the rack or place you chose is at the wrong site. Ship from the sending site and receive into the receiving site.
  • “That lot isn’t on this transfer.” — the label you scanned is for a lot that isn’t on it. Make a new transfer for it.
  • “The farm’s In transit location changed; reload the transfer” — reload the page and do the step again. Nothing moved.
  • “Receive … first (a count of 0 is fine)” when closing — a lot that shipped hasn’t been counted, or more of it shipped after its count. Receive it, then close.
  • ”… has units in transit; receive them (a short count is fine) and close it instead” when cancelling — something already shipped, so the transfer can’t be cancelled. Receive what arrived and close it.
  • “Lot … on T-… was already received by … (40 counted) after your phone last synced. Your count of 40 was not added.” — someone else received that line before a phone’s receipt was sent. Nothing was added. Check the rack, and record a recount if there really is more.
  • “Lot … on T-… changed after your phone last synced” — the line was shipped or received again before the phone’s receipt was sent. Nothing was added. Open the transfer and count again.
  • An error after clicking Confirm, such as a lost connection — click Confirm again. It is safe: a ship or receipt is recorded only once. If it had already gone through, you see Already recorded.
  • Units stuck at In transit after a short receipt — open the lot, find its In transit placement, and have a Manager move, discard or adjust those units with a reason, as with any lot.

With an AI assistant

If you have connected an AI assistant (see Connect an AI Assistant), you can ask it about transfers between your sites, such as “what is in transit to the south site” or “was TR-0012 received in full”. It reads them with transfer_list, which shows open and in-transit transfers first and closed ones when you ask for them, and transfer_get, which shows one transfer with what was shipped and received on each line and where each lot sits at the sending site. Everyone on the team can ask, as in the app.

If site transfers are not turned on for your farm, the assistant says so and reads nothing. Making, shipping, receiving and closing transfers are still done in the app.

Try this on your own farm. Free for up to 100 blocks a month.

Start free

© 2026 Sporeline · Built by a mushroom farmer, for mushroom farmers.

iPhone app on the App StoreWhat's newSupportNeed help? Email chase@sporeline.com