BRIMS โ user & admin guide
BRIMS (Battery Recycling Inventory & Traceability System) tracks every battery bag from supplier drop-off through sorting, discharge, dismantling, refining, and outbound dispatch. This guide walks operators and administrators through the day-to-day interfaces and the back-office tasks required to keep the system healthy.
The system is split into two application surfaces. The Frontend is the operator workspace โ a focused Livewire/Flux UI used on the plant floor for scanning, weighing, opening bags, and moving lots through the pipeline. The Admin panel (Filament) is where administrators configure master data, manage users and roles, and run reports.
Getting started
Before you begin, make sure your administrator has created an account for you and assigned a role. Roles determine which menus and actions you can see โ see the role matrix.
1.1 Logging in
- Open your browser and navigate to your BRIMS site URL (e.g.
https://brims.yourcompany.local). - Enter the email address and password provided by your administrator.
- Click Log in. If two-factor authentication is enabled on your account you'll be prompted for a 6-digit code next.
- On first login, visit Profile โ Change password to set a password only you know.
1.2 App layout
After logging in you arrive on the Dashboard. The top bar is visible on every page and contains:
- Brand / Dashboard โ click the BRIMS logo at any time to return to the Dashboard.
- Primary navigation โ Dashboard, Bags, Processing, QC / Lab, Outbound. Only items you have permission for appear.
- Role badge โ your active role (e.g. production supervisor).
- User menu โ Profile, Appearance, Log out. Admins also see an Admin Panel link here.
Dashboard
The Dashboard is the at-a-glance summary of everything happening at your site: total bags in the system, active shipments, open lots, pending inspections, and any open exceptions.
What each tile means
- Total Bags / Total kg โ live counts of every bag currently tracked, regardless of status.
- Active Inbound โ shipments currently being received (not yet completed).
- Open Lots โ lots in any processing stage that haven't been closed.
- Pending Out โ outbound shipments waiting on second approval or dispatch.
- Needs Inspection โ bags in status registered awaiting EHS / supervisor approval.
Bag inquiry
The Bags page is the universal lookup for any bag in the system. Search by bag number or RFID EPC to see the full chain of custody, RFID timeline, weights, and exception history.
3.1 How to inspect a bag
- Click Bags in the top bar.
- Type the bag number (e.g.
BG-LI-000147) or paste an EPC into the search box, and press Enter. - Review the profile card: chemistry, bag type, hazard status, weights, current location, and who registered it.
- Scroll down to see the RFID Timeline, Custody Chain, and any Exceptions raised against the bag.
3.2 Approving or quarantining a bag
Users with the bags.approve permission see an Approve button on registered bags. Users with bags.quarantine see a Quarantine button on any non-quarantined, non-cancelled bag.
- Open the bag (section 3.1).
- For approval โ click Approve. The bag moves to status approved and is available for lotting.
- For quarantine โ click Quarantine. A modal opens; enter a reason (required). This creates an open exception and flags the bag until an EHS officer resolves it.
Processing pipeline
The pipeline view is the supervisor's real-time map of the whole plant. Each card is a stage with its count of open lots and queued work. Click a card to drill into that stage.
Stage colors
- Amber โ Receiving ยท Blue โ Sorting ยท Yellow โ Discharge
- Orange โ Dismantling ยท Purple โ Refining ยท Emerald โ Dispatch
Every activity line shows the lot number, the event, who performed it, and when. Click a stage card to jump into its index.
Receiving
Receiving is the entry point for every bag in BRIMS. Operators create an inbound shipment, register bags against it, and record gross weight. Once a shipment is complete, EHS / supervisor approves its bags and they become available for sorting.
5.1 Create a shipment and register bags
- From the Processing menu choose Receiving, then click + New Shipment.
- Select the supplier, enter the shipment number / reference, and save. The shipment opens in status Receiving.
- Open the shipment and click Register bag. Scan or type the bag's RFID EPC, choose bag type and chemistry, and record gross weight.
- Repeat for every bag on the truck. When the manifest count matches, click Complete shipment.
BRIMS_WEIGHT_VARIANCE_THRESHOLD, default 1.0 kg) automatically raise a weight_variance exception โ the bag stays in registered until EHS reviews it.Sorting โ Refining
Sorting, Discharge, Dismantling, and Refining all share the same pattern. Each stage has an index (incoming queue + active lots) and a detail page (bags in lot, outputs, activity timeline).
The typical flow inside any stage:
- Open the stage from the Processing menu.
- In the Incoming Queue, pick a parent lot and click Create {stage} Lot. The new lot inherits the parent's bags.
- Open the lot. Record any stage-specific data (discharge method, output fractions, assay data, etc.).
- When work is complete, click Close Lot. The system validates material balance and blocks closure if open exceptions exist.
- A supervisor signs off โ closed lots move into the next stage's incoming queue.
6.1 Lot detail walkthrough โ Dismantling
Each detail page shows four stat tiles at the top (Bags, Input Weight, Output Weight, Process Loss with yield %). Three columns follow:
- Bags in Lot โ the bags being processed. Colour pills show the bag category; click a bag to jump to its full inquiry page.
- Output Fractions โ materials recovered (Black Mass, Copper Foil, Aluminium Casing, etc.). Click + Add to record a new fraction; enter weight and the percentage auto-calculates.
- Activity โ append-only timeline of everything that happened on this lot.
The Material Accounted bar visualises input vs. output. Anything below the yield benchmark (master data) will create a yield_variance exception when the lot is closed.
QC / Lab
Lab officers use the QC page to review lots awaiting assay and enter chemistry results. Lots are listed regardless of stage โ a lot shows up here once its output fractions have been recorded.
- Click QC / Lab in the top bar.
- Click a lot card to open its detail page.
- For each output fraction, click + Add assay and enter analyte percentages (Li, Co, Ni, Cu, Al, moisture, etc.).
- Save. The assay is attached to the lot output and appears in subsequent reports.
Outbound dispatch
The final stage โ packaging refined outputs for shipment to smelters, refiners, or recyclers. Outbound uses a two-step approval workflow for financial control.
8.1 Create and dispatch a shipment
- Click Outbound in the top bar, then New Shipment.
- Enter the destination (e.g. Smelter Plant A ยท Tema). Save โ the shipment opens in Draft.
- Open the shipment and add closed lots from the refining stage. Each added lot is locked to this shipment.
- When ready, click Submit for approval (needs
outbound.first_approve). Status moves to Pending 2nd. - A production supervisor signs off (needs
outbound.second_approve). Status becomes Approved. - When the truck leaves, click Mark dispatched. All lots in the shipment move to status dispatched and are removed from on-hand inventory.
Admin ยท Users & roles
The admin panel is available to users in the admin or admin_auditor role. Open it from the user menu โ Admin Panel, or visit /admin directly.
9.1 Creating a user
- Navigate to Administration โ Users and click + New user.
- Enter name, email, and a temporary password (users change it on first login).
- Assign one or more Roles. Each role grants a bundle of permissions โ see the role matrix.
- Pick the user's default Site so their dashboard scopes correctly.
- Save. An invitation email is sent if mail is configured.
admin role casually. It grants every permission in the system, including master-data editing and user deletion. Prefer production_supervisor or inventory_controller for operational power users.Admin ยท Master data setup
Master data is the set of configuration records that operational transactions refer to: companies, sites, locations, suppliers, bag types, battery chemistries, EPC versions. Getting this right before go-live is the single most important admin task.
10.1 Recommended setup order
- Companies โ your own legal entities. Add at least one.
- Sites โ physical plants belonging to those companies.
- Locations โ rooms, racks, bays, and bins inside each site. Used as scan points and custody endpoints.
- Suppliers โ external parties that send you spent batteries. Each bag belongs to a supplier.
- Battery Chemistries โ Li-ion NMC, LFP, NiMH, Pb-acid, etc. Drives hazard and yield logic.
- Bag Types โ a bag type binds a colour (BLUE / YELLOW / RED / GREY / BLACK / GREEN), a default chemistry, tare and max gross weights. The bag colour drives UI badges on the plant floor.
- EPC Versions โ active RFID tag formats. Usually only one active version at a time.
- Yield Benchmarks (optional) โ per-chemistry expected output %. Used to raise yield_variance exceptions.
10.2 How every master-data record is managed
All master-data screens follow the same Filament convention:
- List view โ searchable table with filter chips and a + New button.
- Create / Edit form โ fields are validated server-side; Create and Create & another speed up bulk entry.
- Deactivate, don't delete โ most records have an Active toggle. Toggle off to hide from operator dropdowns while preserving history.
- Audit log โ every edit is recorded with user, timestamp, and before/after values (see section 11).
Admin ยท Reports & monitoring
The monitoring area groups three screens: Exception Board for resolving issues, Reports for CSV/PDF exports, and Audit Log for compliance.
11.1 Exception Board
- Filter by Type, Severity, and Status to narrow to what matters.
- Click Resolve on any open row. Enter resolution notes and pick a reason code (operator_error, equipment_fault, process_deviation, false_alarm, other).
- Saving closes the exception. The linked bag or lot unblocks for further processing.
11.2 Material Balance
Use the date-range filter to scope to a shift, week, or month. Click any column header to sort. The Export CSV button produces the same data for finance and EHS records.
11.3 Reports dashboard
What to run and when
- Inbound Reports โ daily: shipment arrivals, supplier summaries, bag registrations.
- Processing Reports โ shift-end: lot events, yield analysis, chemistry breakdown.
- Outbound Reports โ weekly: dispatch summary and approval timelines.
- Exception Reports โ weekly: exception frequency, MTTR, severity trends.
- Compliance Reports โ monthly or on request: audit trails, custody chain, hazardous-material handling.
- RFID Reports โ ad hoc: tag reads, location transitions, verification failures.
Role & permission matrix
The matrix below is the source of truth for who can do what. Rows are the built-in roles (see RolesAndPermissionsSeeder); columns are permission groups. โ = granted, blank = not granted. Admin and Admin Auditor have every permission.
| Role | Register / View bags | Approve / Quarantine | Inbound shipments | Record weight | Lots (create/close) | Override yield | Processing stages | Assay entry | Outbound 1st / 2nd approve | Resolve exceptions | Operational reports | Financial reports | Master data | Manage users |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| receiving_operator | โ | โ Q | โ | โ | โ | โ | Rcv | โ | โ | โ | โ | โ | โ | โ |
| warehouse_operator | V | Q | โ | โ | โ | โ | โ | โ | โ | โ | โ | โ | โ | โ |
| ehs_officer | V | โ all | โ | โ | โ | โ | โ | โ | โ | โ | โ | โ | โ | โ |
| qc_lab_officer | V / open | โ | โ | โ | V | โ | Refining | โ | โ | V | โ | โ | โ | โ |
| production_supervisor | V / open | โ approve | โ | โ | โ all | โ | โ all | โ | 2nd | โ | โ | โ | โ | โ |
| inventory_controller | V | Q | โ | โ | โ (open/close) | โ | Pipe / Dispatch | โ | 1st | โ | โ | โ | โ | โ |
| finance_user | V | โ | โ | โ | V | โ | โ | โ | โ | โ | โ | โ | โ | โ |
| admin | โ | โ | โ | โ | โ | โ | โ | โ | โ | โ | โ | โ | โ | โ |
| admin_auditor | โ | โ | โ | โ | โ | โ | โ | โ | โ | โ | โ | โ | โ | โ |
Legend: V = view only, Q = quarantine only, โ = full, 1st / 2nd = approval step.
Troubleshooting & FAQ
I don't see the Processing menu.
You lack the processing.pipeline permission. Ask an administrator to add one of the processing roles (sorting, discharge, dismantling, refining, or supervisor).
The RFID scan does nothing.
Three common causes: (1) the tag's EPC version isn't active in master data โ check Admin โ EPC Versions. (2) the reader's TID verification failed, which raises a silent exception (visible on the Exception Board). (3) the tag is assigned to a bag in status cancelled.
Why can't I close my lot?
Close-lot validation requires: no open exceptions linked to the lot, material balance within tolerance, and at least one output fraction recorded. The close dialog tells you which check failed.
A bag shows the wrong weight.
Re-weigh on the scale; this creates a new WeightEvent. If the variance exceeds the threshold (default 1.0 kg) it raises an exception that EHS must resolve before the bag can move.
Outbound shipment stuck at Pending 2nd.
A production supervisor must perform the second approval. If none are online, an admin can approve on their behalf โ the audit log records the override.
How do I correct an operator error?
Don't delete records. Use the adjustment workflow: open the affected lot, record a reversing entry, and include the reason code. This keeps the custody chain intact for compliance.
Where are the browser logs if something breaks?
Admins with admin.master_data can visit Admin โ Audit Log for in-app activity. Server errors live in storage/logs/laravel.log on the host; IT handles these.
Light mode is easier to read for me.
Open your user menu โ Appearance and toggle to Light. Dark is the default because most operators work on handhelds under bright warehouse lighting.
A bag has been in quarantine too long.
Bags quarantined beyond BRIMS_QUARANTINE_MAX_DAYS (default 30) automatically raise a quarantine_expired exception. EHS must decide: release, destroy, or re-assay.
Glossary
- Assay
- Laboratory result for a single output fraction โ percentages of Li, Co, Ni, Cu, Al, moisture, etc. Drives commercial value and yield validation.
- Bag
- The smallest traceable unit in BRIMS. Every bag has a unique number, an RFID tag, and carries a single chemistry.
- Bag Type
- Master-data record that combines a bag colour (BLUE, YELLOW, RED, GREY, BLACK, GREEN), a default chemistry, and tare/max-gross weights.
- Black Mass
- The primary recovered fraction from dismantled Li-ion cells โ a powder containing lithium, cobalt, nickel, manganese, and graphite.
- Custody Chain
- The ordered list of transfers โ from user A at location X to user B at location Y โ for a single bag. Required for compliance audits.
- Discharge
- Stage where incoming cells are drained to a safe state-of-charge before dismantling.
- Dismantling
- Stage where cells are opened and output fractions (black mass, copper foil, aluminium casing, plastics) are separated and weighed.
- EPC
- Electronic Product Code โ the identifier programmed onto an RFID tag. BRIMS supports multiple versions but only one is typically active at a time.
- Exception
- Any deviation BRIMS detects automatically (weight variance, missing scan, seal broken, yield variance, quarantine expired) or raises manually. Each has a severity and must be resolved by EHS.
- Lot
- A batch of bags grouped for a single processing stage. Lots flow through stages; each stage creates a new child lot referencing its parent.
- Material Balance
- The mass-in = mass-out + loss equation for a lot. BRIMS validates this on every close.
- Quarantine
- Administrative hold on a bag pending EHS review. Prevents the bag from being added to any lot until resolved.
- RFID / TID
- Radio-frequency identification. TID = Tag Identifier, a read-only serial on the tag chip used to detect cloning.
- Refining
- Final stage before dispatch โ black mass is processed to meet customer spec, assays are run.
- Sorting
- Stage where mixed incoming bags are re-grouped by chemistry and bag type.
- Yield
- Output weight รท input weight, expressed as a percentage. Benchmarks per chemistry live in master data.
โ End of document โ