Skip to content
English
  • There are no suggestions because the search field is empty.

How Bursons Parts Ordering Works

Source: bursons_controller.rb

  • The access code for the Bursons API is HARDCODED in the codebase rather than being per-company — a code comment explicitly states "NOT READY FOR LIVE" which suggests this was intended to be temporary
  • There is a build year parsing inconsistency between the invoice flow and the event flow, which may cause mismatches in vehicle identification
  • Order IDs are validated against outstanding orders; if the order ID is not found in the outstanding list, the system returns 0
  • The vehicle's bursons_vehicle_id is saved from the order header, linking the Workshop vehicle record to its Bursons equivalent
  • Products are auto-created by item_code lookup if a matching product does not already exist in the Workshop database
  • Price update behavior is configurable per company with four options: ALL (update all prices), DIFFERENT (update only changed prices), HIGHER (update only if new price is higher), or default behavior
  • Parts with the part number "LAB" are treated as labor product types rather than physical parts
  • Vehicle matching uses a 4-step fallback cascade: plate number → make → model → customer, stopping at the first successful match

Support scenarios

  • "Parts order returned the wrong vehicle" → Vehicle matching uses a cascade: plate → make → model → customer. If the plate lookup fails, it falls back to less specific matching which can return incorrect vehicles. Verify the vehicle's plate number is correct in Workshop.
  • "Prices didn't update after importing the order" → Check the company's price update setting (ALL/DIFFERENT/HIGHER/default). If set to HIGHER, prices that decreased will not be updated. Change the setting if the workshop wants all price changes applied.
  • "A labor line item came through as a part" → Items with the part number "LAB" are automatically typed as labor. If the Bursons order used a different identifier for labor, it will be treated as a regular part.
  • "Build year doesn't match between the event and the invoice" → There is a known inconsistency in build year parsing between the two flows. The vehicle may need its build year corrected manually after import.