Damage Capture & Estimates¶
Once a Work Order exists for a container, the order detail page walks it through inspection (recording what's actually wrong with the container) and then pricing that damage into a customer-facing estimate. This page covers both the Inspection tab and the Estimate tab on the order detail page.
Before you start¶
- The Work Order must already exist, with a container attached (Repair, Cleaning, PTI, or Survey type — not Gate or Conversion, which has its own flow, see Conversion Templates).
- For a Repair order specifically, damage capture depends on catalogue data configured under
Settings → Repair:
- Catalogue tab → Damage Codes and Container Components sub-tabs (what's damaged, and where on the container).
- Damage Matrix tab → which Repair Codes are actually allowed for a given damage code. Without a Damage Matrix mapping, the Repair Code dropdown for that damage will be empty even if both the damage code and repair code exist independently.
- Resources tab → Inventory Items and Labour Types, used for parts/labour costing in Job Cost.
- For any estimate to actually generate a price, a Repair Rate Book must exist, be Published, and be within its effective date window.
Walkthrough¶
Inspection tab (Repair orders)¶
- Open the order and go to the Inspection tab. If no inspection report exists yet, click Start Inspection Report.
- Upload overview Photos of the container (JPEG/PNG/GIF/WEBP) via the dashed upload tile.
- Add a free-text Remarks note (saved with a Save Remarks button once you've typed something — this text appears in the printed inspection PDF).
- Click Add line to record one damage item. This is a 4-level cascading form:
- Location * — e.g. Left Side, Right Side, Front Wall, Rear Wall, Roof, Floor, Left Door, Right Door, Corner Posts, Top Rails, Bottom Rails, Cross Members, Forklift Pockets.
- Component * — filtered to components valid for that location (from Settings → Repair → Catalogue → Container Components).
- Damage Code * — filtered to damage codes that apply to that component.
- Repair Code * — filtered to only the repair codes explicitly mapped to that damage code in the Damage Matrix. A repair code marked with a ★ is the IICL-preferred repair for that damage. If this list is empty, the damage code has no Damage Matrix mapping yet — the Damage Code and Repair Code both existing as standalone records is not enough.
- Once a repair code with a matching tariff rule is chosen, the tariff item auto-resolves ("Tariff item auto-resolved from damage/repair combination"). Then: Qty, Length mm / Width mm (become required, highlighted amber, when the matched IICL rule carries a size threshold), Responsibility (O — Owner/Wear & Tear, U — User/Lessee, D — Depot Write-off), and free-text Notes. Click Add Line.
- Each damage line can carry its own photo (camera icon in the Photo column).
-
When done, click Submit Report.
Submitting locks the report
"Once submitted, the report cannot be edited." Damage lines must be locked before they can price an estimate — editing them afterwards would silently desync the numbers from a generated estimate.
Estimate tab¶
For Repair orders, this tab is driven by the submitted inspection report. For Cleaning, PTI, and Survey orders (no inspection flow), it's a simpler, directly-authored estimate.
- If no estimate exists:
- Repair: click Generate from Report — disabled with a tooltip ("Submit the inspection report first — submitting locks its damage lines so the estimate can't go stale") until the inspection report's status is Submitted.
- Cleaning / PTI / Survey: click Create Estimate directly.
- Once generated, the estimate shows its status chip, estimate number, and (while Draft) a Tax Components selector that recalculates totals live.
- Totals summary cards: Man Cost, Material Cost, Tax (if any), and Total.
- The line-items table shows Description, Man Hrs, Man Rate, Mat Cost, Margin, and Total per line. While Draft, click Add line to add a manual line — either picking a Tariff Item (pre-fills Description/Man Hours/Man Rate/Mat Cost/Margin) or entering everything manually.
-
Actions by status:
- Draft or Rejected → Regenerate from Report (Repair only, same submitted-report gate as above) and Submit for Approval.
- Submitted → Approve and Reject (reject requires a typed reason).
- Download PDF is always available once an estimate exists.
Portal-gated approval
If the shipping line on this order has an active portal contact, Approve is disabled in the staff app with a tooltip: "This shipping line has an active portal contact — approval must be given through the customer/shipping-line portal, not the staff app." You can still Reject from the staff side. See Shipping-line portal.
How estimate pricing actually resolves¶
Every priced line resolves through the Repair Rate Engine, which checks scopes in order from most to least specific and stops at the first match:
- Customer + Shipping Line + explicit container size
- Customer + Shipping Line
- Customer + explicit size
- Customer override (negotiated rate, any size/line)
- Rate Book + Shipping Line + explicit size
- Rate Book + Shipping Line
- Rate Book + explicit size
- Rate Book (the customer's assigned book)
- Default Rate Book (house rates) — last resort
Collapsed to the practical summary: customer+size override → customer override → rate book → default book.
No silent $0 pricing
If nothing matches at any of the nine levels, estimate generation is refused with an explicit error rather than pricing the line at zero. Only a Published rate book inside its effective date window is considered — a rate book still in draft, or outside its effective window, is skipped (and the resolution trace notes why), never used to price live work.
Related pages¶
- Creating a Work Order
- Conversion Templates — the equivalent flow for Conversion-type orders
- Repair Rates / Rate Books — Catalogue, Damage Matrix, and Rate Book configuration
- Tariff Resolution — the storage/D&D equivalent of this pricing engine
- Invoices — an approved estimate feeds into invoicing
- Shipping-line portal — where portal-gated approvals actually happen
Who can access this¶
- Admin, Manager: full read/write/approve on orders.
- Viewer: read-only.
- Gate Operator, Yard Operator, Billing: no access.