Record fixed-price job materials without an extra charge
Test fixed-price service materials separately from customer charges. Trace included consumption, unapproved extras and authorized additions to the draft bill.
For a fixed-price service job, record the material actually used while keeping the customer's charge tied to the approved scope. A consumption record answers what left stock. It does not, by itself, authorize another invoice line.
That distinction should be demonstrated before technicians begin using a product catalog on live work. Odoo 19's Field Service catalog is enabled through Time and Material Invoicing, and its documentation describes products added to tasks flowing into invoicing. Treat that connection as something to control in the proposed fixed-price design, rather than assuming all material entries are cost-only records. Odoo 19 Field Service product management.
Keep the commercial promise and consumption record separate
Consider a fictional service company offering an agreed fixed-price replacement. The quote includes the main part and ordinary installation materials. During the visit, the technician records the part and two fittings actually used.
The office needs the consumption evidence for inventory and job review. The customer should receive the bill supported by the agreement. Adding a material record must not accidentally create a second charge for something already included.
Use this classification before configuring products or invoice policies:
| Recorded item | Commercial treatment to establish | Evidence needed |
|---|---|---|
| Main part included in the quote | Already covered by the agreed scope | Accepted quote or scope reference |
| Ordinary included material | Consumption recorded without an unintended extra charge | Defined inclusion rule |
| Proposed additional repair | Awaiting a commercial decision | Description and approval state |
| Authorized extra | Charged according to its approved basis | Approval reference and amount or agreed calculation |
| Unused material returned | Correct the operational record as appropriate | Return record linked to the job |
These are business classifications for the acceptance test. They do not prescribe a specific accounting entry, zero-price workaround or default Odoo product configuration.
Ask for the configured path, not a verbal assurance
Have the implementer show which record captures consumption, which record holds the customer's charge, and how the two remain connected. Identify any configuration or extension needed. A statement that the system “supports fixed price” is incomplete until the team sees what happens after a technician adds material.
Odoo's invoicing-policy documentation distinguishes ordered and delivered quantities. Changing that policy alone does not answer whether an item was included in a fixed price or separately authorized. The commercial rule must remain explicit. Odoo 19 invoicing policies.
Use the completed-job billing test to inspect the broader handoff. This narrower exercise focuses on preventing included material from becoming an unintended additional charge.
Run three drafts with the same starting scope
First, complete the fictional job exactly as quoted and record the included materials. Ask the office to prepare the draft bill. Compare every line against the accepted scope and any prior billing. Keep the resulting draft as the normal-case reference.
Second, introduce additional work that remains unapproved. Record the technician's observation, but do not authorize the charge. Prepare the draft again. The acceptance condition is that the unresolved extra remains visible to its decision owner and does not quietly become a customer charge.
Third, approve a defined extra through the business's chosen process. Repeat the handoff. The office should be able to trace the additional charge to that approval and distinguish it from the included materials.
These tests must use the actual technician and billing roles. Administrator access can hide missing permissions or controls. The Field Service worksheet guide helps keep the technician's evidence clear without asking that person to make an unauthorized commercial decision.
Inspect stock and corrections too
After each test, review the material quantities and location with the person responsible for stock. Odoo's Field Service documentation ties task materials to a default warehouse, so include the chosen warehouse in the test record. A correct draft invoice does not prove that the consumption came from the right place. Odoo Field Service warehouse behavior.
Finally, correct an overstated quantity and repeat the billing review. Check that the correction does not duplicate a charge, remove the accepted scope or leave an unexplained stock difference. Keep posted-invoice corrections under the accounting owner's approved procedure.
Accept the design when the team can trace included consumption, authorized extras and customer charges separately. The evidence should be clear enough that a billing reviewer who did not attend the visit can explain the resulting draft.