Detention is owed when a trailer waits past the free time in the contract, and it is rarely billed because the proof is scattered. Detention Claim reads trailer positions from Samsara's trailer stats and GeofenceEntry and GeofenceExit events at addresses typed customerSite or vendor, Motive asset geofence events with start_time, end_time, and duration, and ARRIVED_AT_STOP and DEPARTED_STOP events on the project44 shipment. It reads the free time and rate for that shipper from a table you keep in Airtable.
When dwell exceeds free time, it proposes an invoice for the excess in NetSuite or QuickBooks Online with the evidence lines, and a claim record. Billing approves.
This is a reference listing. It documents what Fibric would read from Detention Claim and what it could propose, based on the vendor's published interfaces. Fibric builds it under a managed deployment when you request it; selecting it here installs nothing.
Inputs
Trailers from Samsara through GET /fleet/trailers, and their gps through GET /fleet/trailers/stats, keyed to the load by trailer name or licensePlate
GeofenceEntry and GeofenceExit events from Samsara at addresses whose addressTypes include customerSite or vendor
Motive asset geofence events through GET /v1/geofences/asset_events with geofence_id, start_time, end_time, duration, and the asset's license plate
Shipment stops with stopType PICKUP or DELIVERY and ARRIVED_AT_STOP and DEPARTED_STOP events from project44's tracking history
The free time in hours and the detention rate per shipper or consignee, read from an Airtable table with filterByFormula
Invoices already raised for the same shipment in NetSuite or QuickBooks Online, so a claim is not billed twice
Proposed actions
Target capability: propose an invoice through POST /services/rest/record/v1/invoice in NetSuite with entity, memo, and an item line for the detention hours
Target capability: propose a QuickBooks Online Invoice with Line items and a CustomerRef, with the arrival, departure, and free-time figures in the line Description
Target capability: propose a claim record through POST /v0/{baseId}/{tableIdOrName} in Airtable with the shipment, stop, dwell, and invoice id
Target capability: propose a Slack message to the billing channel through chat.postMessage summarizing each claim and its evidence
Proposed actions are target capabilities. Every action runs propose-first and needs a validated deployment and the appropriate permissions.
What you can build
Bill a consignee from Samsara dwell
Read GeofenceEntry and GeofenceExit for the trailer at the customerSite address, subtract the free time from the Airtable row, and propose a NetSuite invoice for the excess with both timestamps in the memo.
Use the visibility record when the trailer has no gateway
Take ARRIVED_AT_STOP and DEPARTED_STOP from project44 tracking as the dwell evidence, and propose a QuickBooks Online Invoice with the times in the line Description.
Read /v1/geofences/asset_events for the trailer, match duration against the counterparty's free time, and propose the claim record in Airtable before the invoice.
Post each proposed claim to the billing Slack channel with the load, the times, the hours over free time, and the amount, so approval happens where the team already works.
Trailer tracking with geofences at the shipper and consignee sites: Samsara or Motive
A shipment record that links the trailer to the load and the stop: project44 tracking, or your own load table
A contract table with free time and detention rate per counterparty, in Airtable or a sheet the job can read
The accounting system where the invoice will be raised: NetSuite or QuickBooks Online
Authentication
A Samsara API token with Read Trailers, Read Trailer Statistics, and webhook scopes, or a Motive API key; a project44 client ID and secret for OAuth 2.0 client credentials; an Airtable token with access to the rates base; NetSuite token-based authentication or a QuickBooks Online OAuth 2.0 grant.
Limits
Dwell is measured at the geofence boundary; a site with no geofence, or one drawn too small, cannot be measured
Free time usually starts at the appointment time, not arrival; the job uses the rule you set per counterparty
project44 tokens last about 12 hours and the API allows 600 requests a minute per organization; polling is paced
The job proposes an invoice; whether the counterparty accepts a detention charge is a commercial matter
Access and pricing
Reference listing. Fibric builds the operator under a managed deployment when you request it. Your quote covers the build, capabilities, usage, and support.
One proposal per stop over free time: the shipment, the trailer, arrival and departure with their source, the free time and rate applied, the hours billed, and the invoice as it will be created. Approving creates the invoice and the claim row. Rejecting stores the reason.
What proof is kept with a claim?
The geofence or stop event ids with timestamps, the trailer and load identifiers, the contract row used, the arithmetic, the invoice id once created, the approver, and the time. The row stays if the invoice is later credited, so the history is complete.
Could it invoice a customer without anyone looking?
No. Invoices exist only after approval, and each shipment stop is proposed once. If an invoice for that shipment already exists in the accounting system, the job flags a possible duplicate instead of proposing another.
Ask about Detention Claim
Ask about the capabilities and requirements in this listing.
This operator is developed, published, and supported by Fibric. Third-party names and logos identify the systems an integration connects to; they are the property of their respective owners, who are not affiliated with Fibric and do not sponsor or endorse this listing. Trademark policy