A recall is a case you open when a supplier, manufacturer or regulator tells you stock is unsafe or defective. The recall lists the affected lots (or serial numbers) of one item, calculates from the stock ledger how much is still on hand, reserved and already shipped (and to which customers), and when activated blocks the affected stock from leaving the warehouse.
As the screen says: "A recall flags affected lots or serial numbers and calculates the impact from the canonical stock ledger. It does not notify customers or create accounting entries." Contacting customers, returning goods to the supplier and issuing credit notes (in SolaCount) are done outside the recall.
Quality officers and inventory managers use it.
Where to find it
| Sidebar | Traceability → Recalls |
| URL | /inventory/recalls; new at /inventory/recalls/new; one recall at /inventory/recalls/{id} |
| Plan | Batch and expiry tracking feature |
| View | View lots, serials, expiry & traceability |
| Create / activate / close | Create / activate / close recall cases |
Screen tour: the recall list
- Header Recalls, with New recall at the top-right (greyed out without the manage permission; hover: "You do not have permission for this action.").
- The description sentence quoted above.
- Columns:
| Column | Meaning |
|---|---|
| Recall # | Your recall number; click to open. |
| Item | SKU · name. |
| Scope | Lot or Serial number. |
| Reason | Short reason, or —. |
| Status | Draft, Active, Closed. |
The 50 most recent recalls are shown, newest first; there are no filters. Recalls are organization-wide (not limited to your warehouses).
Empty: No recalls — "Open a recall case to trace and quarantine affected stock." Error: Recalls could not be loaded — "Check your connection and try again." with Try again.
Create a recall
-
Traceability → Recalls → New recall (top-right). The page New recall case opens. Without permission a yellow banner shows the reason and Save draft is disabled.
-
Fill in the header:
Field Required Rules / defaults Notes Recall number Yes Max 50 characters; must be unique in your organization Your reference, e.g. RC-2026-004. A duplicate number is refused ("The recall case could not be saved.").Item Yes One item per recall Changing the item clears the lines. Scope — Lot (default) or Serial number Changing it clears the lines. Reason No Max 255 Shown in the list. Notes No Internal notes. -
Under Affected lots (or Affected serial numbers) — "Choose an item first." until an item is picked — click + Add line for each lot or unit:
- Lot: pick from the lot list ("LN-2409-17 · 180 available · expires …"). Only lots that still have stock appear, and lots already Expired, Quarantined or Recalled are greyed out and cannot be picked.
- Serial number: choose from Select a serial number… (shows serial · status; up to 200 units of the item).
-
Choose a Disposition per line: Quarantine (default), Return, Destroy or No action. Disposition records your intended handling; it does not change what activation does.
-
Remove a line with × (Remove affected line). With no lines: "No affected lines yet."
-
Click Save draft (bottom right) or Cancel (back to the list).
- No line with a lot/serial chosen: "Add at least one affected lot or serial number."
- Success: "Recall case created." and the recall opens as Draft.
A draft cannot be edited or deleted from the screen. If you made a mistake, leave it as a draft (it blocks nothing) and create a new recall with a new number.
The recall detail page
- Header: recall number and status badge.
- Summary: Item, Scope, Reason, Affected on-hand quantity, Affected reserved quantity, Affected shipped quantity (totals of all lines, calculated live).
- Impact tab (default) — Affected stock with Export CSV on the right:
| Column | Meaning |
|---|---|
| Lot | The lot's internal number, e.g. #57 (— for serial recalls). |
| Serial number | The unit's internal number (— for lot recalls). |
| On hand / Reserved | Current balance of the lot, across all warehouses. |
| Shipped | Quantity shipped to customers. |
| Warehouses | Internal numbers of warehouses still holding it, e.g. #1, #4. |
| Shipped documents | e.g. "3 shipments" / "No shipments". |
| Customers | Names of customers who received it. |
Empty: No affected stock — "No stock impact has been recorded for this recall."
- Actions timeline tab: Created (Recall case drafted.), Activated (Recall activated; affected lots were marked as recalled and serial numbers were quarantined.), Closed (Recall closed.), each with date and time. Empty: "No actions recorded."
For a serial-number recall, On hand and Reserved show the whole item's balance (not just the unit); Shipped and the customer list are per unit.
Export the impact
Click Export CSV. The file RC-2026-004-impact.csv has columns item_id, lot_id, serial_id, on_hand, reserved, shipped, warehouses, customers (customers separated by |). It opens correctly in Excel, including Arabic names. Export works in any status and needs only view access.
Activate a recall
- On a Draft recall click Activate recall (bottom).
- Activate recall? — "Activating the recall marks affected lots as recalled and serial numbers as quarantined. They cannot be shipped without an override." Click Activate (or Cancel).
- "Recall activated." The status becomes Active.
What happens: each lot's status becomes Recalled; each serial becomes Quarantined; the on-hand/reserved/shipped figures at that moment are stored on the recall lines (used by the Recall Impact report). Existing reservations stay, but the stock cannot be picked, shipped or transferred without Ship quarantined / recalled lots (override).
Close a recall
- On an Active recall click Close recall (red).
- Confirm Close recall — "This closes the recall workflow. Review affected items and outstanding actions before continuing."
- "Recall closed."
Closing does not release the stock: lots stay Recalled and units Quarantined. Release a lot with Mark active on Lots / Batches, or write it off with an adjustment and Mark consumed. A closed recall cannot be reopened.
Errors: "The recall action could not be completed." If the connection drops: Status not confirmed — "We could not confirm whether the change completed. Check the current status before submitting again."; click Check current status.
Statuses & lifecycle
| Status | Meaning | Allowed action |
|---|---|---|
| Draft | Saved; nothing blocked. Impact is live. | Activate recall |
| Active | Lots Recalled / units Quarantined. | Close recall |
| Closed | Finished; kept for history. | Export only |
Permissions
| Role | View & export | Create / activate / close |
|---|---|---|
| Owner, SolaStock Administrator | Yes | Yes |
| Organization Manager / Member without a SolaStock role | Yes | Yes |
| Organization Viewer, Warehouse User (legacy) | Yes | No |
| Accountant; scoped warehouse roles | No | No |
| Custom role | If view ticked | If Create / activate / close recall cases ticked |
Worked examples
Example 1: precautionary serial recall (quick)
The manufacturer flags two power banks, serials PB-7741 and PB-7742 (SKU PB-20K).
- Sara Khan: New recall →
RC-2026-005, itemPB-20K, Scope Serial number, reason Battery swelling report; two lines, Disposition Return. Save draft. - Impact:
PB-7741shipped to Gulf Mobiles LLC;PB-7742still in stock. - Activate recall → Activate.
PB-7742is now Quarantined and disappears from shipment pickers.
Example 2: lot recall end to end (full scenario)
Al Noor Trading LLC, lot LN-2409-17 of BF-800 (600 received).
- Omar Haddad creates
RC-2026-004, Scope Lot, lineLN-2409-17, Disposition Return, reason Supplier contamination notice. "Recall case created." - Impact: Affected on-hand quantity 180.0000, Affected reserved quantity 40.0000, Affected shipped quantity 420.0000; Warehouses
#1; 7 shipments; 5 customers. - Export CSV; the sales team calls the 5 customers.
- Activate recall: lot → Recalled. Sales order
SO-00431(40 reserved) can no longer be picked; the team cancels its reservation and reserves from lotLN-2410-05. - 180 tins go back to the supplier by stock-out adjustment (an administrator ticks the quarantine override). Lot on hand → 0. Returned customer tins come in on sales returns and are adjusted out the same way.
- Customer credit notes are issued in SolaCount (the recall creates none). The adjustment posts an inventory reduction to SolaCount if connected.
- Close recall → "Recall closed." Omar marks the lot Consumed. The Recall Impact report keeps the snapshot: 180 / 40 / 420.
How it connects
| Screen / app | Connection |
|---|---|
| Lots / Batches, Serial Numbers | Activation changes their status; release them there. |
| Sales & fulfilment, Transfers, Adjustments | Blocked by the recall unless overridden. |
| Reports | Recall Impact (snapshot at activation), Lot Trace Report. |
| SolaCount | No entries from the recall; credit notes and write-off journals come from the documents you post. |
Tips & common problems
| Problem | Cause | Fix |
|---|---|---|
| The lot I need is not in the line picker | Only lots with stock appear, and Expired/Quarantined/Recalled lots are greyed out. | Mark it Active first (then activation recalls it), or trace a fully-shipped lot via its Shipments / returns tab. |
Lot/warehouse shown as #57 |
The impact table shows internal numbers. | Use the lot code from Lots / Batches; the Recall Impact report shows codes. |
| Stock still blocked after closing | Closing doesn't release stock. | Mark active on the lot. |
| Duplicate recall number refused | Numbers are unique. | Use a new number. |
| Typo in a draft | Drafts can't be edited on screen. | Create a new recall; leave the wrong draft unactivated. |