User Documentation

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.

This guide uses UI mockups generated from the BRIMS codebase โ€” they mirror the app's real dark-mode interface. Layouts in your environment may differ slightly depending on your role's permissions.
1.

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

Figure 1.1 Login screen โ€” enter the email your administrator issued.
  1. Open your browser and navigate to your BRIMS site URL (e.g. https://brims.yourcompany.local).
  2. Enter the email address and password provided by your administrator.
  3. Click Log in. If two-factor authentication is enabled on your account you'll be prompted for a 6-digit code next.
  4. On first login, visit Profile โ†’ Change password to set a password only you know.
Forgot password? Use the link on the login screen. If email isn't configured at your site, contact an administrator to reset it for you.

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.
2.

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.

Figure 2.1 Dashboard โ€” key metrics, bag-status breakdown, and 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.
The Open Exceptions panel auto-refreshes every 10 seconds. Critical items are red; high orange; medium yellow. Click any exception (or visit the Exception Board in the admin panel) to act on it.
3.

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.

Figure 3.1 Bag Inquiry โ€” full profile for BG-LI-000147, currently in quarantine.

3.1 How to inspect a bag

  1. Click Bags in the top bar.
  2. Type the bag number (e.g. BG-LI-000147) or paste an EPC into the search box, and press Enter.
  3. Review the profile card: chemistry, bag type, hazard status, weights, current location, and who registered it.
  4. 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.

  1. Open the bag (section 3.1).
  2. For approval โ€” click Approve. The bag moves to status approved and is available for lotting.
  3. 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.
4.

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.

Figure 4.1 Pipeline Overview โ€” open/queued counts per stage plus recent activity.

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.

5.

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.

Figure 5.1 Receiving stage โ€” active and completed shipments.

5.1 Create a shipment and register bags

  1. From the Processing menu choose Receiving, then click + New Shipment.
  2. Select the supplier, enter the shipment number / reference, and save. The shipment opens in status Receiving.
  3. Open the shipment and click Register bag. Scan or type the bag's RFID EPC, choose bag type and chemistry, and record gross weight.
  4. Repeat for every bag on the truck. When the manifest count matches, click Complete shipment.
Weight discrepancies larger than the configured tolerance (BRIMS_WEIGHT_VARIANCE_THRESHOLD, default 1.0 kg) automatically raise a weight_variance exception โ€” the bag stays in registered until EHS reviews it.
6.

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:

  1. Open the stage from the Processing menu.
  2. In the Incoming Queue, pick a parent lot and click Create {stage} Lot. The new lot inherits the parent's bags.
  3. Open the lot. Record any stage-specific data (discharge method, output fractions, assay data, etc.).
  4. When work is complete, click Close Lot. The system validates material balance and blocks closure if open exceptions exist.
  5. A supervisor signs off โ€” closed lots move into the next stage's incoming queue.

6.1 Lot detail walkthrough โ€” Dismantling

Figure 6.1 Lot detail โ€” bags in lot (left), output fractions (center), and activity (right).

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.

7.

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.

Figure 7.1 QC / Lab โ€” lots with output counts and assay counts at a glance.
  1. Click QC / Lab in the top bar.
  2. Click a lot card to open its detail page.
  3. For each output fraction, click + Add assay and enter analyte percentages (Li, Co, Ni, Cu, Al, moisture, etc.).
  4. Save. The assay is attached to the lot output and appears in subsequent reports.
8.

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.

Figure 8.1 Outbound Dispatch โ€” shipments grouped by status.

8.1 Create and dispatch a shipment

  1. Click Outbound in the top bar, then New Shipment.
  2. Enter the destination (e.g. Smelter Plant A ยท Tema). Save โ€” the shipment opens in Draft.
  3. Open the shipment and add closed lots from the refining stage. Each added lot is locked to this shipment.
  4. When ready, click Submit for approval (needs outbound.first_approve). Status moves to Pending 2nd.
  5. A production supervisor signs off (needs outbound.second_approve). Status becomes Approved.
  6. When the truck leaves, click Mark dispatched. All lots in the shipment move to status dispatched and are removed from on-hand inventory.
Dispatched shipments are read-only. To correct an error, create a reversing adjustment via the admin panel โ€” do not delete.
10.

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

  1. Companies โ€” your own legal entities. Add at least one.
  2. Sites โ€” physical plants belonging to those companies.
  3. Locations โ€” rooms, racks, bays, and bins inside each site. Used as scan points and custody endpoints.
  4. Suppliers โ€” external parties that send you spent batteries. Each bag belongs to a supplier.
  5. Battery Chemistries โ€” Li-ion NMC, LFP, NiMH, Pb-acid, etc. Drives hazard and yield logic.
  6. 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.
  7. EPC Versions โ€” active RFID tag formats. Usually only one active version at a time.
  8. Yield Benchmarks (optional) โ€” per-chemistry expected output %. Used to raise yield_variance exceptions.
Figure 10.1 Admin โ†’ Bag Types โ†’ Create โ€” the standard Filament create form.

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).
You can change a bag type's display name, tare, or hazard notes at any time โ€” existing bags keep their original bag_type_id reference, and the new display value propagates to all views automatically.
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

Figure 11.1 Admin โ†’ Exception Board โ€” filterable table of open and resolved exceptions.
  1. Filter by Type, Severity, and Status to narrow to what matters.
  2. Click Resolve on any open row. Enter resolution notes and pick a reason code (operator_error, equipment_fault, process_deviation, false_alarm, other).
  3. Saving closes the exception. The linked bag or lot unblocks for further processing.

11.2 Material Balance

Figure 11.2 Admin โ†’ Material Balance โ€” input / output / loss / yield per lot.

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

Figure 11.3 Admin โ†’ Reports โ€” six report families, each with CSV / PDF export.

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.
All exports honour the date range and filters you apply on screen. The CSV button downloads immediately; PDF is queued and emailed when ready on large ranges.
B.

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.

C.

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 โ€”