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

How Inspection to Invoice/Event Conversion Works

Source: autosoft-workshop/app/controllers/inspections_controller.rb

  • Converting an inspection back to an invoice requires a default labor product to be configured in the company's inspection settings
  • The inspection must be in finalized status before it can be converted to an invoice — draft inspections cannot be converted
  • Only approved items are transferred to the invoice — unapproved and refused items are excluded
  • When transferring, items are grouped by product_id — multiple inspection items with the same product become a single invoice line
  • PartsTech integration bypasses grouping and creates individual line items instead of consolidated ones
  • When an inspection item has no estimated time, it defaults to 1 hour during transfer
  • Descriptions are truncated to 255 characters when multiple items are combined into one line — long descriptions will lose their tail
  • Unit price logic: if the averaged price of grouped items is greater than 0, that average is used; otherwise customer-specific pricing applies; final fallback is the default product price
  • Motor Labour integration also overrides the grouping behavior, creating separate line items similar to PartsTech

Support scenarios

  • "I can't convert the inspection to an invoice" → check that a default labor product is set in inspection settings AND the inspection is finalized
  • "Not all items came through to the invoice" → only approved items transfer; unapproved or refused items are intentionally excluded
  • "The invoice has fewer lines than I expected" → items with the same product are grouped into one line; PartsTech and Motor Labour items are exceptions
  • "The price on the invoice doesn't match what I expected" → pricing uses averaged values for grouped items, then falls back to customer-specific, then default product pricing
  • "The description got cut off on the invoice" → descriptions are truncated to 255 characters when items are combined
  • "The hours are wrong on the transferred item" → blank estimated time defaults to 1 hour during conversion