Skip to main content

Weighbridge Tickets

Record manual vehicle weights, retain numbered tickets and review the quantity of a linked Odoo receipt or delivery. The app supports two-pass weighing and one-pass weighing with a known tare. It does not connect to weighing hardware.

Installation and requirements​

Install corvus_weighbridge_tickets on Odoo 20.0. Its direct dependencies are Inventory (stock) and Discuss (mail). Add the addon directory to your configured addons path, update the Apps list, and install Weighbridge Tickets. Use the standard administrator installation process for your server.

Tested on Odoo 20.0 Enterprise: installation with and without demo data and focused workflow and access checks passed. Standard Community dependencies do not establish Community runtime qualification; Community has not been qualified. No external service, Python package or scale driver is required.

A fresh installation supplies a ticket sequence and the application menus. Demo data is optional and is not required for normal operation. If enabled, it creates fictional yard partners, a bulk product, one draft receipt and representative weighing tickets. Demo loading sends no external messages.

Roles and company access​

In Settings, open a user's access rights and assign a Weighbridge role. The installer administrator receives Manager access by default.

  • Operator: create and edit unfinished tickets, record readings, finalize, print, and review/apply eligible move demand. This role also grants the native Inventory User role so linked transfers can be opened and updated normally.
  • Manager: all operator capabilities plus reasoned corrections, voiding and removal of unused draft tickets. Recorded tickets and replacement drafts cannot be deleted.

Tickets are restricted to the user's allowed companies. The operator must have access to the ticket company. A linked picking and move must belong to that company, and the move must belong to the selected picking. Permissions are enforced on the server, including imports and remote calls.

Initial setup​

  1. Assign the appropriate role and allowed companies to each desk user.
  2. Select the active company before creating a ticket.
  3. Use the native kilogram or tonne unit. Custom units and pounds are outside this version's scope. Readings use Odoo's Product Unit decimal precision. Values with additional precision are rejected rather than silently rounded.
  4. Confirm your internal procedure for establishing and checking known tare. A known tare is entered manually; the app does not maintain a vehicle tare registry or certify its accuracy.
  5. If inventory linking is wanted, prepare an incoming receipt or outgoing delivery with a bulk-material move in kilograms or tonnes. Keep separate truckloads on separate moves. One active ticket can link to each move.

The default sequence prefix is WB/%(year)s/ with five digits. Administrators may change its prefix or padding through the standard technical sequence configuration. The sequence is normal reference data protected from module upgrades. Never reset a live sequence in a way that duplicates ticket numbers.

Create a ticket​

Open Weighbridge > Tickets, then New. Enter the vehicle registration or yard identifier, driver, partner and external source reference as needed. Choose the mode, weight unit and responsible operator. The first-reading time defaults to now and is shown in the user's timezone. Enter the declared load weight if you want a variance comparison; it is a manual expectation and is not automatically copied from the linked move.

In the Inventory Link tab, optionally select a receipt or delivery and its single material move. A transfer alone is useful as a reference; a move is required for the demand-review action. Set the link before recording the first weighing, because load identity is then locked.

Two-pass example​

Cedar Vale Aggregates delivers recycled aggregate on vehicle CVA-204. Its delivery note declares 19,800 kg.

  1. Create a two-pass ticket, select Gross first, enter 32,840 kg and the time of the loaded reading. Enter 19,800 kg as the declared weight.
  2. Click Record First Weight. The ticket moves to First Weighing; vehicle, unit, first reading, declared weight and transfer link become locked.
  3. After unloading, enter the second reading of 12,840 kg. Enter the actual second-reading time; if left empty, finalization uses the current time.
  4. Click Finalize Ticket. Gross is 32,840 kg, tare is 12,840 kg, net is 20,000 kg and variance is +200 kg, approximately +1.01%.
  5. Print the ticket or review the linked move demand as described below.

For an empty vehicle weighed before loading, choose Tare first. The first reading becomes tare and the second becomes gross. The second timestamp must not precede the first. Until both readings exist, net and variance show zero and are provisional. Finalization requires positive gross and tare, with gross greater than tare.

One-pass known-tare example​

Choose Known tare, enter a measured first/gross reading of 24.56 tonnes, and enter a known empty-vehicle tare of 12.40 tonnes. With a declared load of 12.00 tonnes, Finalize Ticket produces 12.16 tonnes net and a +0.16 tonne variance. No second pass or timestamp is required. The first-reading type is ignored in known-tare mode: the first reading always represents gross.

Final tickets cannot be edited directly. A repeated finalization is rejected. Use a manager correction when a finalized value is wrong.

Review and apply transfer demand​

On a final ticket with a linked move, click Review Transfer Demand. The dialog shows the move's current demand, the proposed quantity converted from net weight, and the move's unit. Conversion uses native Odoo units and Product Unit precision with half-up rounding.

Click Apply Net Weight to Demand to replace the move's demand. This is an explicit action, not an automatic effect of recording or finalizing a ticket. For example, the Cedar Vale ticket replaces 19,800 kg with 20,000 kg. The Inventory Link tab retains the previous demand, applied demand, unit, user and time. Use the Transfer smart button to continue the normal Inventory workflow.

The action is intentionally limited to a draft, waiting or confirmed incoming or outgoing move that has no operation lines and no lot/serial tracking. It cannot alter assigned, completed or cancelled moves. If inventory staff have already entered operations or reservations, handle the discrepancy using the native Inventory workflow instead. The app does not unreserve automatically.

A ticket can apply demand only once. A review becomes stale if another user changes the move demand or unit before confirmation. Close that dialog and open a fresh review to inspect the new values. Concurrent updates are rejected with an instruction to try again. Separate truckloads need separate native moves; the app does not allocate a single move across multiple vehicles.

Applying demand does not fill completed quantities, move stock, validate a transfer, modify valuation, create invoices or post accounting entries.

Corrections and voiding​

A Manager opens Correct / Void, selects an operation, and enters a clear reason. A blank reason is rejected.

  • Create corrected ticket is available for a final ticket. It marks the original Corrected and creates a new numbered draft with its readings and load details copied. The draft links back to the original. Edit the error, then complete the normal weighing steps. For two-pass replacements, record the first weight again before finalizing. The original remains unchanged.
  • Void ticket is available for a draft, first-weighing or final ticket. It retains the ticket with a Void status and the reason, user and time. Use it when an unfinished first reading is wrong or a load is cancelled.

Each original can have one direct replacement; later corrections form a chain through successive final tickets. Corrected and void tickets cannot be revised again. The Revision History tab shows the original, replacement, finalization and revision details. Chatter records lifecycle changes and supports internal notes and follow-up activities.

Voiding or correcting never reverses previously applied inventory demand. Check the linked transfer separately. A final replacement can apply its own reviewed net weight only while the move still meets all eligibility rules. If the transfer is already completed, use the native return/correction process.

Duplicating a ticket creates a new unlinked draft and clears measured weights and timestamps. It does not duplicate a final approval or an inventory update. Use the correction action when an audit link to the original is needed.

Register, searching and printing​

The register displays number, time, vehicle, partner, net, unit, variance, transfer and status. Optional columns include gross, tare, mode, declared weight, operator, company and whether demand was applied. Mixed units are not totalled together.

Search by ticket number, vehicle, source reference, partner or transfer. Filters show Awaiting Second Weight, Final Tickets, Voided / Corrected, Declared Variance and Demand Applied. Group by status, vehicle, partner, weight unit or reading day. No default filter hides historical tickets.

Use Print > Weighbridge Ticket to request the ticket PDF on a server with a working Odoo PDF engine. The report is configured for A5 paper. Its native HTML output has been verified; server PDF output has not been qualified in the tested environment. The report includes company address, numbered reference, vehicle/driver, source and transfer references, measurement times, gross/tare/net, declared variance and operator. Historical and unfinished tickets carry a status warning. The report identifies manually entered known tare and does not represent a calibration certificate.

Upgrade and retained configuration​

Back up the database and filestore using your normal Odoo process before an upgrade. Update the addon through the standard module upgrade process. The ticket sequence is marked non-updatable, so changes to its prefix and padding are preserved. Existing readings, correction links and reasons remain data records; upgrading does not replay their workflows or apply quantities again.

Do not uninstall the addon while its ticket history is required: uninstalling removes its models and data. Export or retain a proper backup first according to your organization's records policy.

Troubleshooting​

The app or correction button is missing. Check the user's Weighbridge role. Corrections require Manager; Inventory User alone is insufficient.

The weight is rejected. Use a nonnegative numeric value at Product Unit precision. Gross and tare must both be positive, and gross must exceed tare to finalize. Check that kilograms and tonnes have not been confused.

The first reading cannot be changed. It is locked after Record First Weight. Ask a Manager to void the unfinished ticket and create another.

A move cannot be selected or already has an active ticket. Check company, transfer and unit. Review its existing ticket; split separate loads into separate native moves. Do not create duplicates to bypass the control.

Demand review is unavailable or refused. The ticket must be Final and unapplied, with an eligible move. Assigned moves, operation lines, lot/serial tracking, completed/cancelled moves and cross-company links are excluded. Use Inventory to handle those cases, retaining the weighbridge evidence.

A review is stale. Another user changed the demand or unit. Close the dialog and reopen it; inspect the refreshed demand before applying.

A ticket is missing in another company. Select an allowed company or ask your administrator to review company access. The app does not bypass native Inventory permissions.

A voided ticket still shows applied demand. This is retained history. Voiding does not reverse inventory changes. Review the native transfer.

PDF generation fails. Ask your administrator to confirm that your Odoo server's PDF engine is installed and healthy. Native HTML report rendering has been verified; server PDF output was not qualified in the tested environment.

Limits and support​

Manual input only; no scale connection, legal metrology certification, calibration management, vehicle registry, commodity pricing, automatic stock posting or financial posting. Kilograms and tonnes only; one active ticket per stock move. Native Inventory remains authoritative for physical stock.

Corvus Nexus Technologies LTD

Website: https://corvusnexus.com

Support: support@corvusnexus.com

License: Odoo Proprietary License v1.0 (OPL-1).

Availability​

This guide covers the Odoo 20 package. Older-version packages are not part of this release.

Browse the Corvus Odoo Apps catalogue.