load-lifecycle-patterns

Load Lifecycle Patterns - Business Logic for laneweaverTMS

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "load-lifecycle-patterns" with this command: npx skills add linehaul-ai/linehaulai-claude-marketplace/linehaul-ai-linehaulai-claude-marketplace-load-lifecycle-patterns

Load Lifecycle Patterns - Business Logic for laneweaverTMS

When to Use This Skill

Use when:

  • Implementing load status transitions

  • Building billing workflow logic (POD, carrier bills, invoicing)

  • Calculating financial metrics (gross profit, margin, net profit)

  • Handling load cancellations and TONU scenarios

  • Implementing quick pay features for carriers

  • Understanding the "life of load" flow from tender to payment

Load Status Transitions

Status Lifecycle

uncovered → assigned → dispatched → at_origin → in_transit → at_destination → delivered

Valid Transitions Table

Current Status Valid Next Status Trigger

uncovered

assigned , cancelled

Carrier assignment or cancellation

assigned

dispatched , uncovered , cancelled

Dispatch confirmation or carrier bounce

dispatched

at_origin , assigned , cancelled

Carrier arrives or dispatch cancelled

at_origin

in_transit , cancelled

Pickup completed, load departs

in_transit

at_destination , cancelled

Approaching delivery destination

at_destination

delivered , cancelled

Delivery completed

delivered

(terminal state) No further transitions

cancelled

(terminal state) No further transitions

Transition Triggers

uncovered → assigned

  • Carrier is selected and rate is confirmed

  • carrier_id is set on the load

  • carrier_rate is established

assigned → dispatched

  • Carrier confirms pickup commitment

  • Driver information may be captured in load_cognition

  • Dispatch confirmation timestamp recorded

dispatched → at_origin

  • Carrier/driver arrives at pickup facility

  • Check-in time recorded on origin stop

at_origin → in_transit

  • Loading completed

  • Departure time recorded on origin stop

  • BOL (Bill of Lading) may be captured

in_transit → at_destination

  • Carrier approaching delivery facility

  • Optional: ETA updates via tracking

at_destination → delivered

  • Delivery completed

  • Delivery time recorded on destination stop

  • POD (Proof of Delivery) capture begins

Cancellation Rules

Cancellation can happen from ANY non-terminal status:

  • Creates a load_cancellations record

  • Sets loads.is_cancelled = true (synced via trigger)

  • Records cancellation reason and timestamp

  • If carrier was assigned, may trigger TONU (see below)

-- Example cancellation logic INSERT INTO load_cancellations (load_id, reason, cancelled_by) VALUES ($1, $2, $3);

-- Trigger auto-syncs is_cancelled flag: UPDATE loads SET is_cancelled = true WHERE id = $1;

Billing Workflow

Post-Delivery Billing Flow

delivered → POD Received → Carrier Bill Received → Invoice Ready → Customer Invoiced → Carrier Paid

Billing Status Tracking

The load_billing table tracks billing milestones for each load:

Field Purpose

pod_received

Proof of Delivery document received

pod_received_at

Timestamp when POD was received

carrier_bill_received

Carrier's invoice/rate confirmation received

carrier_bill_received_at

Timestamp when carrier bill was received

invoice_ready

Generated column: pod_received AND carrier_bill_received

Invoice Ready Logic

A load is ready for customer invoicing when BOTH:

  • POD is received (proof that delivery occurred)

  • Carrier bill is received (final carrier charges confirmed)

-- Generated column auto-calculates invoice readiness invoice_ready BOOLEAN GENERATED ALWAYS AS (pod_received AND carrier_bill_received) STORED

Customer Invoice Creation

After invoice_ready = true :

  • Create customer_invoices record

  • Link to load via load_id

  • Include line items for:

  • Base freight rate (customer_rate )

  • Customer accessorials

  • Fuel surcharges (if applicable)

  • Set invoice_status to initial state

Carrier Bill Approval and Payment

After carrier bill is received:

  • Review carrier charges against agreed rate

  • Add carrier accessorials if applicable

  • Approve or dispute discrepancies

  • Schedule payment based on payment terms

  • Handle quick pay if requested (see Quick Pay section)

Financial Calculations

Core Formulas

grossProfit = customerRate - carrierRate grossMarginPct = (grossProfit / customerRate) * 100 netProfit = (customerRate + customerAccessorials) - (carrierRate + carrierAccessorials)

Calculation Examples

Basic Load:

Customer Rate: $2,500 Carrier Rate: $2,000

Gross Profit: $500 Gross Margin: 20%

Load with Accessorials:

Customer Rate: $2,500 Customer Accessorials: $150 (detention, lumper) Carrier Rate: $2,000 Carrier Accessorials: $100 (detention)

Revenue: $2,650 ($2,500 + $150) Cost: $2,100 ($2,000 + $100) Net Profit: $550 Net Margin: 20.75%

Implementation Pattern

-- View for financial calculations CREATE OR REPLACE VIEW public.loads_with_financials WITH (security_invoker = on) AS SELECT l.id, l.load_number, l.customer_rate, l.carrier_rate,

-- Gross profit (base rates only)
(l.customer_rate - COALESCE(l.carrier_rate, 0)) AS gross_profit,

-- Gross margin percentage
CASE
    WHEN l.customer_rate > 0
    THEN ((l.customer_rate - COALESCE(l.carrier_rate, 0)) / l.customer_rate * 100)
    ELSE 0
END AS gross_margin_pct,

-- Accessorial totals
(SELECT COALESCE(SUM(amount), 0)
 FROM customer_accessorials
 WHERE load_id = l.id AND deleted_at IS NULL) AS customer_accessorials_total,

(SELECT COALESCE(SUM(amount), 0)
 FROM carrier_accessorials
 WHERE load_id = l.id AND deleted_at IS NULL) AS carrier_accessorials_total,

-- Net profit (including accessorials)
((l.customer_rate + (SELECT COALESCE(SUM(amount), 0) FROM customer_accessorials WHERE load_id = l.id AND deleted_at IS NULL)) -
 (COALESCE(l.carrier_rate, 0) + (SELECT COALESCE(SUM(amount), 0) FROM carrier_accessorials WHERE load_id = l.id AND deleted_at IS NULL))) AS net_profit

FROM public.loads l WHERE l.deleted_at IS NULL;

TONU (Truck Ordered Not Used)

What is TONU?

TONU occurs when a load is cancelled after a carrier has been assigned and has committed resources (dispatched driver, positioned truck, etc.).

When TONU Applies

TONU may be charged when:

  • Load is cancelled after carrier assignment (assigned or later status)

  • Cancellation is NOT due to carrier fault

  • Carrier has incurred costs (deadhead miles, driver time)

TONU Workflow

  • Load Cancelled - User initiates cancellation after carrier assignment

  • TONU Evaluation - Determine if TONU is warranted

  • TONU Amount Set - Negotiate or apply standard TONU rate

  • Record Created - load_cancellations record includes TONU details

  • Customer Billing - TONU amount billed to customer

  • Carrier Payment - TONU amount paid to carrier (minus margin if applicable)

Data Model

-- load_cancellations table captures TONU CREATE TABLE public.load_cancellations ( id UUID DEFAULT gen_random_uuid() NOT NULL, load_id UUID NOT NULL, reason TEXT, tonu_amount NUMERIC(10,2), -- Amount charged for TONU cancelled_at TIMESTAMPTZ DEFAULT now() NOT NULL, cancelled_by INT4, -- ... audit columns );

Business Rules

  • TONU is typically a flat fee (e.g., $250-$500)

  • May be a percentage of the agreed carrier rate

  • Should be documented in carrier agreements

  • Customer may dispute TONU charges

  • TONU still triggers customer invoice (for the TONU amount)

Quick Pay

What is Quick Pay?

Quick Pay is an accelerated payment option where carriers receive payment faster than standard terms (typically net 30) in exchange for a fee.

Quick Pay Terms

Standard Terms Quick Pay Terms Typical Fee

Net 30 1-2 days 1-2% of payment

Net 45 1-2 days 2-3% of payment

Data Model

-- carrier_bills table tracks quick pay requests CREATE TABLE public.carrier_bills ( id UUID DEFAULT gen_random_uuid() NOT NULL, load_id UUID NOT NULL, carrier_id UUID NOT NULL, bill_amount NUMERIC(10,2) NOT NULL, bill_status public.carrier_bill_status NOT NULL,

-- Quick pay fields
quick_pay_requested BOOLEAN DEFAULT false,
quick_pay_fee_pct NUMERIC(5,2),  -- e.g., 2.00 for 2%
quick_pay_fee_amount NUMERIC(10,2),

scheduled_payment_date DATE,
paid_at TIMESTAMPTZ,
-- ... audit columns

);

Quick Pay Workflow

  • Carrier Requests Quick Pay - Sets quick_pay_requested = true

  • Fee Calculation - Calculate quick pay fee

  • Net Payment - Deduct fee from carrier payment

  • Expedited Processing - Move to front of payment queue

  • Payment Execution - Pay within quick pay terms

Fee Calculation

Quick Pay Fee = Bill Amount * Quick Pay Fee Percentage Net Payment = Bill Amount - Quick Pay Fee

Example:

Bill Amount: $2,000 Quick Pay Fee %: 2% Quick Pay Fee: $40 Net Payment: $1,960

Implementation Notes

  • Index quick_pay_requested = true for efficient filtering

  • Track quick pay fee as revenue (margin improvement)

  • Quick pay is optional and carrier-initiated

  • Consider automated quick pay for preferred carriers

Related Tables Reference

Core Load Tables

Table Purpose

loads

Core load record with status, rates

tenders

Customer tender/order source

stops

Pickup and delivery locations

load_billing

POD/carrier bill tracking, invoice ready

Cancellation & TONU

Table Purpose

load_cancellations

Cancellation records with TONU amounts

Invoicing & Payment

Table Purpose

customer_invoices

Customer invoices for loads

carrier_bills

Carrier bills/invoices to pay

customer_accessorials

Additional customer charges

carrier_accessorials

Additional carrier charges

Business Logic Checklist

Load Status Management: [ ] Validate status transitions against allowed transitions table [ ] Record status change timestamps [ ] Sync is_cancelled flag via trigger when load_cancellations inserted [ ] Prevent invalid transitions (e.g., uncovered → delivered)

Billing Workflow: [ ] Track POD receipt separately from carrier bill receipt [ ] Use generated column for invoice_ready calculation [ ] Create customer invoice only when invoice_ready = true [ ] Link all billing records to load_id

Financial Calculations: [ ] Always use NUMERIC(10,2) for money fields [ ] Include accessorials in net profit calculations [ ] Handle null carrier_rate (uncovered loads) [ ] Calculate margin percentages safely (avoid division by zero)

TONU Handling: [ ] Only apply TONU after carrier assignment [ ] Record TONU amount in load_cancellations [ ] Bill TONU to customer [ ] Pay TONU to carrier (if applicable)

Quick Pay: [ ] Carrier-initiated request only [ ] Calculate fee based on agreed percentage [ ] Deduct fee from carrier payment [ ] Track as revenue/margin improvement

Remember: This skill focuses on business logic patterns. For database schema implementation details (columns, indexes, constraints), refer to the laneweaver-database-design skill.

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

geospatial-postgis-patterns

No summary provided by upstream source.

Repository SourceNeeds Review
General

rbac-authorization-patterns

No summary provided by upstream source.

Repository SourceNeeds Review
General

quickbooks-online-api

No summary provided by upstream source.

Repository SourceNeeds Review
General

slack-block-kit

No summary provided by upstream source.

Repository SourceNeeds Review