AlmondTill/G3N API

ExemptionCertificate

object type

A tax-exemption certificate — a captured legal document: a valid in-scope cert ZEROES tax at sale for its covered jurisdictions/categories (the calc consumes it; at-USE validity = status active ∧ not past expiresAt ∧ scope match — CONFLICT/EXPIRED per SPEC_ERRORS). Parent = the org group, FIXED AT BIRTH (the / customer host is a later REF, never a reparent). Capture is INLINE. The capture is IMMUTABLE except caption/code/docRef — correct anything else by revoking and re-capturing. active → expired is SCHEDULED; revoke and doom are the caller ops.

Fields

FieldTypeNotes
idID ID!The record’s id — a UUID the platform assigned when the record was created; every reference to this record uses it.
sysIdString String!The group-scoped human-facing system id (XC-…).
typeString String!The kind of record — always ExemptionCertificate here.
captionString String!The record’s display name — what people see it called.
statusString String!The FSM state: active | expired | revoked | doomed.
parentIdID ID!The parent org group; for an ExemptionCertificate parentId === rootId.
rootIdID ID!The org-group family root.
createdAtString String!When the record was created, as a UTC timestamp.
updatedAtString String!When the record last changed, as a UTC timestamp.
revisionNumInt Int!How many times this record has been edited; the first save is 0.
revisionID ID!The OCC revision token — supply it on every mutation of this record; rotates on every write.
refCaptionsRefCaption [RefCaption!]!The server-composed captions of this record's declared references (the referenced-caption rule) — one row per referenced id; see RefCaption.
certTypeExemptionCertType ExemptionCertType!The certificate kind. IMMUTABLE at capture.
certificateNumberString String!The issuer's certificate number. IMMUTABLE at capture.
holderNameString String!The holder as captured INLINE. IMMUTABLE at capture.
jurisdictionIdsID [ID!]!The covered jurisdictions — SHARED-canonical refs, each exists+ACTIVE at capture. IMMUTABLE.
categoryIdsTaxCategory [TaxCategory!]The covered categories — ABSENT = all categories (the blanket-cert shape). IMMUTABLE.
expiresAtStringOptional expiry (UTC ISO-8601) — ABSENT = non-expiring. The scheduler arms active→expired on it; the at-USE check is the calc's. IMMUTABLE.
docRefStringOptional document reference (a blob pointer/URI — upload machinery is NOT this slice). Editable (the paper gets scanned later).
orgCustomerIdIDThe holder linkage: the OrgCustomer this cert belongs to. Set-time gated (in-tenant, NON-doomed); EDITABLE — re-linkable (the ONE exception to capture immutability; the capture-doc parent stays the GROUP). A NON-doomed cert blocks its holder's doom.
codeStringOptional mutable merchant reference code; uniqueness NOT enforced.

Used by