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 (isReversed)

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: LABOR · Persisted record: labor

A technician's hours and labor rate posted against a job.

Recorded by a Labor posting.

Parts

Posting request: PARTS · Persisted record: parts

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: TIRES · Persisted record: tires

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: OUTSIDE_PARTS · Persisted record: outsideParts

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: OUTSIDE_LABOR · Persisted record: outsideLabor

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: OUTSIDE_TIRES · Persisted record: outsideTires

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: WARRANTY_PARTS · Persisted record: warrantyParts

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: WARRANTY_LABOR · Persisted record: warrantyLabor

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: WARRANTY_TIRES · Persisted record: warrantyTires

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: MISC · Persisted record: miscellaneous

A one-off charge that doesn't fit labor, parts, or tires.

Recorded by a Miscellaneous posting.

Shop

Persisted record only: shop

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: tax

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 (isReversed = true)

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, sourceTransaction set to the original's transaction number

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.


Related tasks

See also