Fill ServiceLineItem and its four classification axes

Featurekamo-shared-library
Shipped
August 26, 2026 at 7:19 AM UTC
Author
Kamo
Commit
605c64d

ServiceLineItem shipped as an empty 18-line subclass whose only reference in the whole corpus was its own declaration, so a service sold through POS persisted as a PURCHASE row. The four classification enums are the axes US states actually differ on, and the part Kamo owns even when an external engine computes the tax. A repair to tangible personal property, a capital improvement to non-residential real property and an MRRA job on a house are three different taxable events, and the difference is not derivable from a price and a description. labourMinutes is what will join the pricebook to the schedule — the same number prices the line and sizes the appointment. OrderLineItem gains **************** and Order gains discountTotal/shippingTotal, because otherwise every one of those is destroyed the moment a quote becomes an order. discountType reuses QuoteDiscountType rather than a String: two vocabularies that must agree is the bug this block exists to prevent.

All changes

Like what you see shipping?

Every one of these updates lands in your workspace automatically. Start free and watch it grow week after week.

Start Free ForeverView Pricing