bms.transaction¶
The central module for billing and transactions. It covers AR Billing (producing, confirming, exporting and importing charges, and the QuickBooks hand-off), the trade ledger, and fuel charges. The screens here assume the flow of reviewing a charge on the dashboard and confirming it before leaving.
41 endpoints - system bms - module gate applies
What this module covers - Companies, bookings, equipment, loads, billing setup, rates, presets. Once a charge is confirmed it accumulates as a transaction.
Presets are calculation presets held per company, and setup/rates is the rate definition that goes into such a preset. The two API names are similar but do different jobs.
Endpoints¶
| Method | Path | What it does | Evidence |
|---|---|---|---|
| GET | /bms/ar-billing/commercial-trucking-occurrence |
Read the recorded commercial trucking charge occurrences | handler bmsArBillingCommercialOccurrenceRead() · tables T_EQUIPMENT_LOAD_COMMERCIAL_OCCURRENCE |
| POST | /bms/ar-billing/commercial-trucking-occurrence |
Register a commercial trucking charge occurrence | handler bmsArBillingApiValue() |
| POST | /bms/ar-billing/confirm |
Confirm a charge - until this happens it only appears on the dashboard | handler bmsArBillingApiValue() · calls accounting-import-dashboard.js, ar-billing.js |
| POST/DELETE | /bms/ar-billing/exclusion |
Add or remove an item that is excluded from billing | handler bmsArBillingApiBody() · calls accounting-import-dashboard.js |
| POST | /bms/ar-billing/export-booking-confirm |
Run the export of charges on the confirmed-booking basis | handler bmsArBillingApiValue() · calls accounting-import-dashboard.js |
| GET | /bms/ar-billing/export-booking-detail |
Read the data needed to export charge detail per booking | handler bmsArBillingApiValue() · calls accounting-import-dashboard.js |
| GET | /bms/ar-billing/export-dashboard |
Read the aggregated data used to export the billing dashboard | handler bmsArBillingExportDashboard() · tables T_BILLING_SETUP, T_BOOKING, T_COMPANY +3 more |
| GET | /bms/ar-billing/import-applicability-preview |
Preview whether the billing data to import fits the current schema | handler bmsArBillingApiValue() |
| GET | /bms/ar-billing/import-dashboard |
Read the source billing dashboard data before an import | handler bmsArBillingImportDashboard() · tables T_BOOKING, T_COMPANY, T_DELIVERY_ORDER +2 more |
| PUT | /bms/ar-billing/internal-note |
Save an internal note on a charge | handler bmsArBillingApiValue() · calls accounting-import-dashboard.js |
| GET | /bms/ar-billing/invoice-detail |
Read an invoice in detail | handler bmsArBillingApiValue() · calls accounting-import-dashboard.js |
| GET | /bms/ar-billing/invoice-number-check |
Check whether an invoice number is already used | handler bmsArBillingApiValue() · calls accounting-import-dashboard.js |
| POST/PATCH/DELETE | /bms/ar-billing/manual-charge |
Register, edit or delete a manual charge line | handler bmsArBillingApiBody() · calls accounting-import-dashboard.js |
| GET | /bms/ar-billing/options |
Read the billing input options (commodity, company) | handler bmsArBillingOptions() · tables T_COMMODITY, T_COMPANY, T_TRANSACTION_TYPE · calls ar-billing.js, kj-view-company.js |
| GET | /bms/ar-billing/presets |
List the billing presets per company | handler bmsArBillingListPresets() · tables T_BILLING_PRESET, T_COMPANY · calls ar-billing.js, kj-view-company.js |
| POST | /bms/ar-billing/presets |
Register a billing preset | handler bmsArBillingApiValue() · calls ar-billing.js, kj-view-company.js |
| DELETE | /bms/ar-billing/presets/(?P<uuid>[0-9a-fA-F-]{36}) |
Delete a billing preset | handler bmsArBillingApiValue() |
| PATCH | /bms/ar-billing/presets/(?P<uuid>[0-9a-fA-F-]{36}) |
Edit a billing preset | handler bmsArBillingApiValue() |
| POST | /bms/ar-billing/preview |
Calculate a preview of the amount before the charge is applied | handler bmsArBillingApiValue() · calls ar-billing.js |
| POST | /bms/ar-billing/qbo-sync |
Sync a confirmed charge to QuickBooks Online | handler bmsArBillingApiValue() · calls ar-billing.js |
| PATCH | /bms/ar-billing/rates/form |
Save the billing rate form values | handled by an inline closure in the route table |
| GET | /bms/ar-billing/rates |
Read the trucking rates per company that apply to a charge | handler bmsArBillingRegisteredRates() · tables T_COMPANY, T_TRUCKING_RATE |
| GET | /bms/ar-billing/readiness |
Check the preconditions for starting billing | handler bmsArBillingApiValue() · calls accounting-import-dashboard.js |
| GET | /bms/ar-billing/setup/customers |
List the customers covered by the billing setup | handler bmsArBillingSetupCustomerOptions() · tables T_COMPANY · calls billing-setup.js |
| GET | /bms/ar-billing/setup |
Read the current billing setup | handler bmsArBillingNormalizeUuid() · calls billing-setup.js |
| GET | /bms/ar-billing/setup/history |
Read the change history of the billing setup | handler bmsArBillingNormalizeUuid() |
| POST | /bms/ar-billing/setup |
Save the billing setup | handler bmsArBillingSaveSetup() · tables T_BILLING_PACKAGE_RATE_REVISION, T_BILLING_SETUP, T_BILLING_SETUP_HISTORY · calls billing-setup.js |
| GET | /bms/ar-billing/setup/rates |
List the rates registered in the billing setup | handler bmsArBillingNormalizeUuid() · calls billing-setup.js |
| POST/PATCH | /bms/ar-billing/setup/rates |
Register or edit a rate in the billing setup | handler bmsArBillingRateEdit() · calls billing-setup.js |
| GET | /bms/ar-billing/workbench |
The billing workbench - the charges waiting to be processed | handler bmsArBillingWorkbenchPage() · tables T_BOOKING, T_COMPANY, T_DELIVERY +3 more · calls api_catalog.php, ar-billing.js |
| GET | /bms/companies/(?P<id>\d+)/billing-address |
Read the billing address of a company | handler bmsTransactionValue() |
| POST/PATCH | /bms/fuel/form |
Register or edit a fuel charge | handled by an inline closure in the route table · calls popup.core.js |
| GET | /bms/fuel/(?P<id>\d+) |
Read a fuel charge in detail | handler apiTableMutationReadRow() |
| POST | /bms/transactions/apply-final-transload |
Apply the final transload amount to a transaction | handler bmsTransactionIds() · calls popup.core.js, transload-edit-modal.js |
| POST | /bms/transactions/chassis/bulk-input |
Enter several chassis at once | handler bmsTransactionWrite() · calls chassis-input-modal.js, popup.core.js |
| PATCH | /bms/transactions/close |
Close a transaction | handler bmsTransactionIds() · calls transaction-complete-modal.js, popup.core.js |
| DELETE | /bms/transactions |
Delete a transaction entirely | handler bmsTransactionIds() |
| POST/PATCH | /bms/transactions/form |
Register or edit a transaction | handler bmsTransactionApiFormMutation() · calls popup.core.js |
| GET | /bms/transactions/(?P<id>\d+) |
Read a transaction in detail | handler bmsTransactionValue() |
| DELETE | /bms/transactions/(?P<source>trucking|transload|chassis|scale-ticket) |
Delete a transaction by source (trucking, transload, chassis, scale ticket) | handler bmsTransactionApiAccount() |
| POST | /bms/transactions/(?P<source>trucking|transload|chassis|scale-ticket) |
Register a transaction by source (trucking, transload, chassis, scale ticket) | handler bmsTransactionApiAccount() |
Topics this module shares with other modules¶
- Rate - this topic is spread across 3 modules and 6 endpoints.
Tables this module reads¶
T_COMPANY (7x) · T_BOOKING (3x) · T_EQUIPMENT (3x) · T_EQUIPMENT_LOAD (3x) · T_BILLING_SETUP (2x) · T_EQUIPMENT_LOAD_COMMERCIAL_OCCURRENCE · T_TRANSACTION · T_DELIVERY_ORDER · T_COMMODITY · T_TRANSACTION_TYPE · T_BILLING_PRESET · T_TRUCKING_RATE · T_BILLING_PACKAGE_RATE_REVISION · T_BILLING_SETUP_HISTORY · T_DELIVERY · T_TRANSLOAD
The description is a summary read off the route path, the handler, the tables it reaches and the screens that call it. Nothing is guessed without evidence: where the handler has to be read, it says so. The full evidence is on each endpoint page.