Transaction types
Overview
A transaction is the individual record created on a job each time a charge is posted — labor, parts, a part kit, a non-inventory part, a tire, a miscellaneous charge, a warranty entry, an outside/sublet charge, or a system-generated ledger line such as shop supplies or tax. Every transaction carries a type value that classifies what it represents, along with the amount, date, and posting details for that entry. Use this reference to look up what a transaction's type value means, what fields appear on the record once it's posted, and what happens to a transaction when it is reversed. It does not cover how to choose a posting type at posting time (see Posting types) or how transaction amounts roll up into job costs (see How postings affect costs).
Reference content
Transaction record fields
These are the fields that make up a transaction once it has been posted to a job.
Name | Permitted values / data type | Definition | When it applies |
|---|---|---|---|
Transaction number | Integer, assigned automatically | A sequential number identifying the transaction within its job. Used to link a reversal entry back to the transaction it offsets. | Present on every transaction. |
Type | See Transaction type values below | Classifies what kind of charge or activity the transaction represents (labor, parts, tires, misc, warranty and outside variants, or a system-generated shop/tax line). | Present on every transaction; determines which cost category the entry belongs to. |
Item number | Text | The part number, labor item, or other item identifier associated with the transaction. | Populated for part, part kit, tire, and labor transactions; typically blank for Miscellaneous entries. |
Description | Text | A free-text description of what was posted. | Present on every transaction; shown in the job's transaction list. |
Price | Decimal | The unit price posted for the transaction. Price multiplied by quantity is the amount charged to the job. | Present on every transaction. |
Quantity | Decimal | The quantity posted (for example, hours for labor, count for parts or tires). | Present on every transaction. |
Cost | Decimal | The internal cost basis for the item posted, tracked separately from the billed price. | Present on every transaction; used internally, not shown as a customer-facing "cost" column alongside price. |
Posting date / posting facility | Date / facility identifier | When, and at which facility, the transaction was posted. | Present on every transaction. |
Posted by | Employee/mechanic reference | Identifies who posted the transaction. | Populated for transactions tied to a technician (for example, Labor); not populated for entries not tied to an employee. |
Reversed flag | Boolean ( | Indicates whether this transaction has been reversed. | Set automatically once a reversal is confirmed — see Reversing a transaction below. |
Source transaction | Integer, references another transaction's transaction number | Present on a compensating (reversal) entry; points back to the transaction number of the original entry it offsets. | Only present on a reversal entry, not on an original, unreversed transaction. |
Transaction type values
Every transaction type has two spellings you may encounter: the value submitted when a posting is made, and the value stored on the persisted transaction record. Both are shown below because either may appear depending on whether you're looking at a posting action or a job's transaction data.
Name | Permitted values / data type | Definition | When it applies |
|---|---|---|---|
Labor | Posting request: | A technician's hours and labor rate posted against a job. | Recorded by a Labor posting. |
Parts | Posting request: | An inventory or non-inventory part, or a part kit component, posted against a job. | Recorded by a Parts, Part Kit, or Non-inventory part posting. |
Tires | Posting request: | A serialized tire mount or dismount posted against a job. | Recorded by a Tires posting, available only where Tire Posting is enabled for the tenant. See Posting types. |
Outside parts | Posting request: | A parts charge billed by an outside/sublet vendor. | Recorded by an Outside Parts posting on a job marked Outside Work. |
Outside labor | Posting request: | A labor charge billed by an outside/sublet vendor. | Recorded by an Outside Labor posting on a job marked Outside Work. |
Outside tires | Posting request: | A tire charge billed by an outside/sublet vendor. | Recorded by an Outside Tires posting on a job marked Outside Work. |
Warranty parts | Posting request: | A parts transaction posted as warranty work rather than billable work. | Recorded by the Warranty posting type with its Parts sub-type selected. |
Warranty labor | Posting request: | A labor transaction posted as warranty work rather than billable work. | Recorded by the Warranty posting type with its Labor sub-type selected. |
Warranty tires | Posting request: | A tire transaction posted as warranty work rather than billable work. | Recorded by the Warranty posting type with its Tires sub-type selected. |
Miscellaneous | Posting request: | A one-off charge that doesn't fit labor, parts, or tires. | Recorded by a Miscellaneous posting. |
Shop | Persisted record only: | A system-generated shop supply charge. | Generated automatically by the system, not by a customer choosing a posting type; has no posting-request equivalent. |
Tax | Persisted record only: | A system-generated tax line. | Generated automatically by the system, not by a customer choosing a posting type; has no posting-request equivalent. |
Reversing a transaction
Reversing a transaction does not delete it. It flags the original entry and creates a new, linked entry that offsets it.
Name | Permitted values / data type | Definition | When it applies |
|---|---|---|---|
Reversed original | Boolean ( | The transaction being reversed stays on the job's transaction list, marked reversed, rather than being removed. | Set the moment a reversal is confirmed; cannot be reversed again. |
Reversal (compensating) entry | New transaction, | A new transaction created alongside the reversal, carrying the same type as the transaction it reverses and referencing the original by transaction number. | Created automatically when a reversal is confirmed; itself cannot be reversed again. |
Reverse permission | Permission: Post — Reverse | The permission required before the reverse action is available on a transaction. | Required for every transaction type; without it, the reverse action is hidden or disabled. |
Reversal availability | Job/line status: Open or Partial | A transaction can only be reversed while its job is still open or partially complete. | Applies to every transaction type; once a job is closed, its transactions can no longer be reversed. |