Skip to main content Enter
ERP.AI CPQ & Quote-to-Cash

CPQ & Quote-to-Cash

Start now
Pricing Questions Get started
Build with Proto

Modules

ConfiguratorBuild sellable product combinations with guided options, required components and clear configuration checks. Pricing rulesApply the right price book, volume breaks and promotions while keeping discounts, floors and billing values aligned. QuotesPrepare configured proposals, track buyer decisions and preserve the exact prices and terms each revision carried. ApprovalsRoute concessions and special terms to the right reviewers, with decisions tied to the exact quote revision.
ContractsCarry signed commercial terms into effective agreements, controlled amendments and clearly priced renewals. OrdersRelease the accepted configuration to fulfillment while preserving agreed quantities, discounts and billing obligations. BillingTurn accepted orders into reconciled invoices, apply cash and handle credits without losing the original transaction history.

CPQ & Quote-to-Cash

Start now
Pricing Questions Get started
Build with Proto

Processes

Quote to cashConnect a configured proposal to its approvals, executed terms, fulfilled order and reconciled invoice. Configure and priceBuild a complete product configuration and a traceable price before submitting the quote for review. Discount approvalReview concessions and terms against the complete proposal, with clear authority, delegation and revision history.
Acceptance to orderVerify the executed sale and release only the quantities, terms and value the buyer authorized. Schedule to invoiceActivate the agreed billing plan, issue each obligation once and reconcile cash and credits to the account. RenewalPrepare the next service term from current contracted entitlements and the renewal terms the buyer accepted.

CPQ & Quote-to-Cash

Start now
Pricing Questions Get started
Build with Proto

Industries

Software and subscriptionsQuote editions, seats and add-ons with clear terms, billing and renewals. Configured hardware and equipmentBuild accurate equipment proposals and carry the accepted configuration into delivery and billing.
Professional and managed servicesQuote service packages and retainers with clear scope, approvals and billing milestones. Channel and reseller salesQuote partners on the right terms while keeping the end customer connected to the deal.

CPQ & Quote-to-Cash

Start now
Pricing Questions Get started
Build with Proto

Reference

Roles and permissionsGive sales, Deal Desk and finance the access and authority their work needs. Reports and dashboardsFollow sales progress, pricing decisions, renewals and collection. Data modelExplore the records behind each deal and plan a controlled commercial data migration.
IntegrationsConnect the deal from your CRM through signature, delivery and accounting. ImplementationPlan your CPQ rollout around the products, policies, connections and people who will use it. AI agentsHelp your team prepare quotes, review exceptions and follow up on commercial work.

CPQ & Quote-to-Cash

Start now
Pricing Questions Get started
Build with Proto
All systems
Modules
ConfiguratorBuild sellable product combinations with guided options, required components and clear configuration checks.Pricing rulesApply the right price book, volume breaks and promotions while keeping discounts, floors and billing values aligned.QuotesPrepare configured proposals, track buyer decisions and preserve the exact prices and terms each revision carried.ApprovalsRoute concessions and special terms to the right reviewers, with decisions tied to the exact quote revision.ContractsCarry signed commercial terms into effective agreements, controlled amendments and clearly priced renewals.OrdersRelease the accepted configuration to fulfillment while preserving agreed quantities, discounts and billing obligations.BillingTurn accepted orders into reconciled invoices, apply cash and handle credits without losing the original transaction history.
Processes
Quote to cashConnect a configured proposal to its approvals, executed terms, fulfilled order and reconciled invoice.Configure and priceBuild a complete product configuration and a traceable price before submitting the quote for review.Discount approvalReview concessions and terms against the complete proposal, with clear authority, delegation and revision history.Acceptance to orderVerify the executed sale and release only the quantities, terms and value the buyer authorized.Schedule to invoiceActivate the agreed billing plan, issue each obligation once and reconcile cash and credits to the account.RenewalPrepare the next service term from current contracted entitlements and the renewal terms the buyer accepted.
Industries
Software and subscriptionsQuote editions, seats and add-ons with clear terms, billing and renewals.Configured hardware and equipmentBuild accurate equipment proposals and carry the accepted configuration into delivery and billing.Professional and managed servicesQuote service packages and retainers with clear scope, approvals and billing milestones.Channel and reseller salesQuote partners on the right terms while keeping the end customer connected to the deal.
Reference
Roles and permissionsGive sales, Deal Desk and finance the access and authority their work needs.Reports and dashboardsFollow sales progress, pricing decisions, renewals and collection.Data modelExplore the records behind each deal and plan a controlled commercial data migration.IntegrationsConnect the deal from your CRM through signature, delivery and accounting.ImplementationPlan your CPQ rollout around the products, policies, connections and people who will use it.AI agentsHelp your team prepare quotes, review exceptions and follow up on commercial work.
Sign in
Sign in Start now
CPQ & Quote-to-Cash References
Data model3 of 6
  • Roles and permissions1 of 6
  • Reports and dashboards2 of 6
  • Data model3 of 6
  • Integrations4 of 6
  • Implementation5 of 6
  • AI agents6 of 6

Data model

Explore the records behind each deal and plan a controlled commercial data migration.

54 tables · 218 relationships

This is the authored data model for CPQ & Quote-to-Cash. Use it to scope application configuration, migration and integrations. Table names describe the proposed structure; access and actions must be configured and verified for the deployed application.

Data model 48 of 54 tables drawn
mastertransactionline itemfinance Contacts.Account → Accounts Contacts.MigrationBatch → MigrationBatches Opportunities.Account → Accounts Opportunities.Owner → Users Opportunities.MigrationBatch → MigrationBatches Products.Change → MasterChanges ProductRules.Change → MasterChanges PriceBooks.Change → MasterChanges PriceBooks.Template → QuoteTemplates BundleDiscounts.Change → MasterChanges DiscountApprovalMatrix.Change → MasterChanges TaxRates.Change → MasterChanges TaxRates.ReviewedBy → Users QuoteTemplates.Change → MasterChanges ContractTemplates.Change → MasterChanges CreditMemos.Invoice → Invoices CreditMemos.Account → Accounts CreditMemos.RequestedBy → Users CreditMemos.IssueEvent → BusinessEvents CreditMemos.MigrationBatch → MigrationBatches QuoteVersionLines.Version → QuoteVersions QuoteVersionLines.QuoteLine → QuoteLines QuoteVersionLines.Product → Products QuoteVersionLines.ExistingContractLine → ContractLines ContractLines.Contract → Contracts ContractLines.AcceptedLine → QuoteVersionLines ContractLines.Product → Products ContractLines.VerifiedBy → Users OpportunityItems.Opportunity → Opportunities OpportunityItems.Product → Products OpportunityItems.QuoteLine → QuoteLines FinanceAdjustments.Account → Accounts FinanceAdjustments.Payment → Payments FinanceAdjustments.Application → PaymentApplications FinanceAdjustments.CreditMemo → CreditMemos FinanceAdjustments.RequestedBy → Users FinanceAdjustments.Event → BusinessEvents Quotes.Account → Accounts Quotes.Contact → Contacts Quotes.Opportunity → Opportunities Quotes.Contract → Contracts Quotes.Owner → Users Quotes.PriceBook → PriceBooks Quotes.Template → QuoteTemplates Quotes.TaxJurisdiction → TaxRates Quotes.CurrentVersion → QuoteVersions Quotes.ContractTemplate → ContractTemplates Quotes.AcceptanceEvent → BusinessEvents Quotes.RenewalDecision → RenewalDecisions Quotes.MigrationBatch → MigrationBatches QuoteVersions.Quote → Quotes QuoteVersions.SnapshottedBy → Users QuoteVersions.MigrationBatch → MigrationBatches EQuoteEnvelopes.Quote → Quotes EQuoteEnvelopes.Contract → Contracts EQuoteEnvelopes.Recipient → Contacts EQuoteEnvelopes.QuoteVersion → QuoteVersions EQuoteEnvelopes.CreateEvent → BusinessEvents Contracts.Account → Accounts Contracts.Quote → Quotes Contracts.Template → ContractTemplates Contracts.Owner → Users Contracts.Signatory → Contacts Contracts.QuoteVersion → QuoteVersions Contracts.MigrationBatch → MigrationBatches SalesOrders.Quote → Quotes SalesOrders.Contract → Contracts SalesOrders.Account → Accounts SalesOrders.Owner → Users SalesOrders.QuoteVersion → QuoteVersions SalesOrders.ReleaseEvent → BusinessEvents SalesOrders.MigrationBatch → MigrationBatches QuoteDiscountAllocations.Version → QuoteVersions QuoteDiscountAllocations.VersionLine → QuoteVersionLines QuoteDiscountAllocations.QuoteDiscount → QuoteDiscounts QuoteDiscountAllocations.SourceBundle → BundleDiscounts OrderAllocations.AcceptedLine → QuoteVersionLines OrderAllocations.SalesOrderLine → SalesOrderLines OrderAllocations.Event → BusinessEvents FulfillmentEvents.SalesOrderLine → SalesOrderLines FulfillmentEvents.Actor → Users FulfillmentEvents.Event → BusinessEvents FulfillmentEvents.MigrationBatch → MigrationBatches ApprovalDelegations.Principal → Users ApprovalDelegations.Tier → DiscountApprovalMatrix MasterChanges.RequestedBy → Users ConfigurationRuleHits.Quote → Quotes ConfigurationRuleHits.Rule → ProductRules ConfigurationRuleHits.Action → RuleActions ConfigurationRuleHits.BundleComponent → BundleComponents RenewalDecisions.Contract → Contracts RenewalDecisions.RecordedBy → Users RenewalDecisions.Quote → Quotes RenewalDecisions.GenerationEvent → BusinessEvents RenewalDecisions.MigrationBatch → MigrationBatches BusinessEvents.MigrationBatch → MigrationBatches EventDeliveries.Event → BusinessEvents EventDeliveries.ReconciledBy → Users MigrationBatches.ApprovedBy → Users QuoteLines.Quote → Quotes QuoteLines.Product → Products QuoteLines.SourceRule → ProductRules QuoteLines.SourceAction → RuleActions QuoteLines.SourceComponent → BundleComponents QuoteLines.ExistingContractLine → ContractLines QuoteLineOptions.QuoteLine → QuoteLines QuoteDiscounts.Quote → Quotes QuoteDiscounts.SourceBundle → BundleDiscounts BillingMilestones.Quote → Quotes BillingMilestones.SalesOrderLine → SalesOrderLines BillingMilestones.QuoteLine → QuoteLines BillingMilestones.AcceptedVersion → QuoteVersions DiscountApprovalSteps.Quote → Quotes DiscountApprovalSteps.QuoteDiscount → QuoteDiscounts DiscountApprovalSteps.Tier → DiscountApprovalMatrix DiscountApprovalSteps.Approver → Users DiscountApprovalSteps.QuoteVersion → QuoteVersions DiscountApprovalSteps.Delegation → ApprovalDelegations DiscountApprovalSteps.DecisionEvent → BusinessEvents EQuoteEvents.Envelope → EQuoteEnvelopes EQuoteEvents.Event → BusinessEvents BundleComponents.Bundle → Products RuleActions.Rule → ProductRules RuleActions.TargetProduct → Products SalesOrderLines.SalesOrder → SalesOrders SalesOrderLines.QuoteLine → QuoteLines SalesOrderLines.Product → Products SalesOrderLines.AcceptedLine → QuoteVersionLines PriceBookEntries.PriceBook → PriceBooks PriceBookEntries.Product → Products Accounts.BillingContact → Contacts Accounts.DefaultPriceBook → PriceBooks Accounts.TaxJurisdiction → TaxRates Accounts.Owner → Users Accounts.MigrationBatch → MigrationBatches InvoiceSchedules.SalesOrder → SalesOrders InvoiceSchedules.Contract → Contracts InvoiceSchedules.Account → Accounts InvoiceSchedules.Owner → Users InvoiceSchedules.QuoteVersion → QuoteVersions InvoiceSchedules.GenerationEvent → BusinessEvents InvoiceSchedules.MigrationBatch → MigrationBatches InvoiceScheduleLines.Schedule → InvoiceSchedules InvoiceScheduleLines.SalesOrderLine → SalesOrderLines InvoiceScheduleLines.Milestone → BillingMilestones InvoiceScheduleLines.Invoice → Invoices InvoiceScheduleLines.Allocation → OrderAllocations InvoiceScheduleLines.FulfillmentEvent → FulfillmentEvents InvoiceScheduleLines.ClaimEvent → BusinessEvents InvoiceScheduleLines.MigrationBatch → MigrationBatches Invoices.Account → Accounts Invoices.BillToContact → Contacts Invoices.SalesOrder → SalesOrders Invoices.Contract → Contracts Invoices.IssueEvent → BusinessEvents Invoices.MigrationBatch → MigrationBatches Payments.Account → Accounts Payments.RecordedBy → Users Payments.ReceiptEvent → BusinessEvents Payments.MigrationBatch → MigrationBatches PaymentApplications.Payment → Payments PaymentApplications.Invoice → Invoices PaymentApplications.AppliedBy → Users PaymentApplications.Event → BusinessEvents PaymentApplications.MigrationBatch → MigrationBatches AccountCreditApplications.CreditMemo → CreditMemos AccountCreditApplications.Invoice → Invoices AccountCreditApplications.Refund → FinanceAdjustments AccountCreditApplications.AppliedBy → Users AccountCreditApplications.Event → BusinessEvents UsersmasterManagerDelegateToUserName ContactsmasterAccountMigrationBatchFullName OpportunitiesmasterOpportunityNumberAccountOwner ProductsmasterSKUChangeName ProductRulesmasterRuleCodeChangeName PriceBooksmasterBookCodeChangeTemplate BundleDiscountsmasterBundleCodeChangeName DiscountApprovalMatrixmasterTierCodeChangeName TaxRatesmasterJurisdictionCodeChangeReviewedBy QuoteTemplatesmasterTemplateCodeChangeName ContractTemplatesmasterTemplateCodeChangeName CreditMemosfinanceCreditMemoNumberStatusInvoice QuoteVersionLineslineVersionQuoteLineParentLine ContractLineslineStatusContractAcceptedLine OpportunityItemslineSKUStatusOpportunity FinanceAdjustmentsfinanceAdjustmentNumberStatusAccount QuotestransactionQuoteNumberStatusTaxStatus QuoteVersionstransactionStatusQuoteSnapshottedBy EQuoteEnvelopestransactionEnvelopeNumberStatusQuote ContractstransactionContractNumberStatusVerificationStatus SalesOrderstransactionSalesOrderNumberStatusQuote QuoteDiscountAllocationstransactionVersionVersionLineQuoteDiscount OrderAllocationstransactionStatusAcceptedLineSalesOrderLine FulfillmentEventstransactionStatusSalesOrderLineActor ApprovalDelegationstransactionStatusPrincipalDelegate MasterChangestransactionChangeNumberStatusRequestedBy ConfigurationRuleHitstransactionQuoteRuleAction RenewalDecisionstransactionStatusContractRecordedBy BusinessEventstransactionStatusMigrationBatchEventKey EventDeliveriestransactionStatusEventReconciledBy MigrationBatchestransactionBatchNumberStatusApprovedBy QuoteLineslineQuoteParentLineProduct QuoteLineOptionslineQuoteLineOptionAppliedPriceDelta QuoteDiscountslineStatusQuoteSourceBundle BillingMilestoneslineNameQuoteSalesOrderLine DiscountApprovalStepslineQuoteQuoteDiscountTier EQuoteEventslineAuthenticationStatusProcessingStatusEnvelope BundleComponentslineBundleComponentQuantity RuleActionslineRuleTargetProductTargetOption SalesOrderLineslineStatusSalesOrderParentLine PriceBookEntrieslinePriceBookProductOverridePrice AccountsmasterAccountNumberBillingContactDefaultPriceBook InvoiceSchedulestransactionScheduleNumberStatusSalesOrder InvoiceScheduleLineslineStatusScheduleSalesOrderLine InvoicesfinanceInvoiceNumberStatusTaxStatus PaymentsfinancePaymentNumberStatusAccount PaymentApplicationslineStatusPaymentInvoice AccountCreditApplicationsfinanceStatusCreditMemoInvoice
Data model48 of 54 tables, within two hops of Quotes

How the model is organised

People and customer context

Users, Accounts, Contacts and Opportunities carry ownership and source references. OpportunityItems keeps incoming product details available for mapping. ApprovalDelegations retains scoped authority and its valid period.

  • Users
  • Accounts
  • Contacts
  • Opportunities carry ownership
  • source references

Products and pricing

Products, OptionGroups, ProductOptions and BundleComponents describe the offer. ProductRules, RuleConditions and RuleActions define configuration behavior, with ConfigurationRuleHits preserving evaluations. PriceBooks, PriceBookEntries, BundleDiscounts and BundleRequiredProducts supply approved pricing.

  • Products
  • OptionGroups
  • ProductOptions
  • BundleComponents describe the offer

Commercial policy

DiscountApprovalMatrix, TaxRates, QuoteTemplates and ContractTemplates supply the review and document context. MasterChanges retains the submitted change, its decision and activation evidence.

  • DiscountApprovalMatrix
  • TaxRates
  • QuoteTemplates
  • ContractTemplates supply the review
  • document context

Proposals and signatures

Quotes, QuoteLines, QuoteLineOptions, QuoteDiscounts and BillingMilestones prepare the offer. QuoteVersions, QuoteVersionLines and QuoteDiscountAllocations freeze its commercial basis. DiscountApprovalSteps, EQuoteEnvelopes and EQuoteEvents retain decisions and signature evidence against that revision.

  • Quotes
  • QuoteLines
  • QuoteLineOptions
  • QuoteDiscounts
  • BillingMilestones prepare the offer

Agreements and delivery

Contracts and ContractLines preserve effective commitments, with RenewalDecisions recording the next term's decision. SalesOrders, SalesOrderLines and OrderAllocations consume accepted quantities and value. FulfillmentEvents distinguishes delivery evidence from customer acceptance.

  • Contracts
  • ContractLines preserve effective commitments
  • with RenewalDecisions recording the next term's decision

Billing and cash

InvoiceSchedules and InvoiceScheduleLines describe obligations before Invoices and InvoiceLines record them. CreditMemos, CreditMemoLines, Payments, PaymentApplications, FinanceAdjustments and AccountCreditApplications preserve corrections and settlement history.

  • InvoiceSchedules
  • InvoiceScheduleLines describe obligations before Invoices
  • InvoiceLines record them

Exchange and cutover

BusinessEvents retains the identity and outcome of a business effect. EventDeliveries follows each destination's delivery separately. MigrationBatches preserves source identifiers, reconciliation and activation evidence for transferred work.

  • BusinessEvents retains the identity
  • outcome of a business effect

Keys and references

Use immutable identifiers for records and stable source identifiers for imported or connected work. Human document numbers help people find a deal; they do not replace the identifiers connecting it. Resolve account, contact and user references in stages where they depend on each other.

A submitted quote revision preserves the parties, options, commercial values, operative terms and pricing policy reviewed. Accepted line values include their allocated discounts, with tax handled separately. Orders, schedules and invoices retain that source basis so staged delivery or billing cannot consume the same accepted value again.

Keep the original sent document and the executed copy, together with the envelope and revision that bind them. Operational timestamps preserve event order; service periods and billing dates retain their agreed calendar meaning. Financial corrections reference the original effect and remain bounded by the amount still eligible for reversal, credit or application.

Migration order

  1. 1 Agree the source systems, cutoff, identifiers, tax and accounting owners, and quoting-only or complete-process launch boundary. Create the migration batch with downstream generation and external messages suppressed.
  2. 2 Stage users and catalogs, then their rules, price books, approval policy and templates. Resolve user-manager and delegation links after their targets exist. Retain policy versions and approval evidence needed by historical proposals.
  3. 3 Load accounts, contacts and opportunities with stable CRM references. Resolve billing-contact and default-price-book links, then map opportunity products; unmatched items require review before new quoting.
  4. 4 Load required historical and current quote dependencies, including immutable versions, lines, options, discounts, milestones, decisions and sent or executed documents. Missing acceptance evidence keeps the affected work held for review.
  5. 5 Restore contract commitments and effective amendments, renewal decisions, accepted-order allocations and fulfillment evidence. Reconcile remaining quantities and value before enabling any new downstream effect.
  6. 6 Load invoice schedules and their consumed obligations, invoices at original totals, credits, receipts, applications and linked corrections. Reconcile remaining receivables, unapplied cash and account credits to the source without subtracting historical applications twice.
  7. 7 Review the batch and activate the approved scope once. A quoting-only rollout keeps contract, order and billing generation disabled. At later cutover, explicitly reconcile which accepted deals transfer and which stay with the old process before enabling automation.

Tables

54 tables
UsersPeople who use the system, with the role that decides their screens, the approver tier they can sign for, and the delegate who covers them when they are away.master
FieldTypeRequiredDetails
UserNametextyes
FullNametextyes
Emailtextyes
RoleselectyesAdmin, Product Manager, Pricing Manager, Sales Rep, Sales Manager, Executive Approver, Deal Desk, Billing Specialist
Titletext
Managerreference→ Users. The manager tier of the matrix resolves to this person for the quote owner
ApproverRoleselectSalesManager, VPSales, CFO, CEO. The matrix tier this person may approve
DelegateToreference→ Users. Display of currently effective approved ApprovalDelegations; this field alone grants no authority
DelegateFromdateDisplay date of effective delegation; exact validity is ApprovalDelegations.StartsAt
DelegateUntildateDisplay date of effective delegation; exact validity is ApprovalDelegations.EndsAt
CreditApprovalLimitdecimalUSD amount; null means no self-confirmation authority, not unlimited. Version and approved policy captured on each credit decision
Activebooleanyes
CreditPolicyVersiontextVersion of independently approved credit authority
AccountsThe customer master as this system needs it: who is sold to, who signs, who is billed, and the credit position an order is confirmed against. Synced from the CRM and extended with billing and credit fields.master
FieldTypeRequiredDetails
AccountNumbertextyes
Nametextyes
TypeselectyesProspect, Customer, Partner
BillingContactreference→ Contacts. The person invoices are addressed to
BillingEmailtextWhere invoices are sent
BillingAddresstext
ShippingAddresstext
PaymentTermsselectyesNet 15, Net 30, Net 45, Net 60, Due on receipt
DefaultPriceBookreference→ PriceBooks. The partner or enterprise book a quote for this account opens on; empty means the company default
PORequiredbooleanIf true, an order cannot be confirmed without a CustomerPONumber
CreditLimitdecimalUSD exposure ceiling; null disables the numeric ceiling only, not CreditHold or confirmation controls
OpenBalancedecimalyesComputed sum of positive non-void issued invoice Balance; excludes Draft invoices and unapplied cash
CreditHoldbooleanSet by Billing Specialist; blocks order confirmation
CreditHoldReasontext
TaxJurisdictionreference→ TaxRates
TaxExemptbooleanRequires reviewed evidence, scope and validity; boolean alone cannot waive tax
Ownerreferenceyes→ Users
CRMReferencetextRecord id in the CRM this account is synced from
Activebooleanyes
CommittedExposuredecimalyesComputed confirmed/released uninvoiced order allocation value plus tax reserve; excluded once the same amount transfers to an issued invoice
ExposureVersionnumberyesAtomic account exposure revision checked during confirmation, cancellation, invoicing and cash/credit application
TaxExemptionEvidenceattachmentRequired for an exemption
TaxExemptionValidUntildateExpiry of reviewed exemption; absence requires an explicitly documented open-ended scope
TaxExemptionScopelongtextProducts, jurisdiction and effective dates covered
TaxReviewedByreference→ Users. Billing Specialist who reviewed exemption evidence
TaxReviewedAtdatetimeTax evidence review time
MigrationBatchreference→ MigrationBatches. Historical import/cutover provenance
SourceKeytextUnique source-system record/revision key; mandatory for imports, never regenerated on retry
ContactsThe people at an account: who receives the quote, who signs the order form, who gets the invoice. Synced from the CRM with the account.master
FieldTypeRequiredDetails
Accountreferenceyes→ Accounts
FullNametextyes
Emailtextyes
Titletext
RoleselectyesPrimary, Signatory, Billing, Technical
CRMReferencetext
Activebooleanyes
MigrationBatchreference→ MigrationBatches. Historical import/cutover provenance
SourceKeytextUnique source-system record/revision key; mandatory for imports, never regenerated on retry
OpportunitiesThe open deal a quote is written for. Synced from the CRM; stage is read here and worked there, and the primary quote's total is synced back to Amount.master
FieldTypeRequiredDetails
OpportunityNumbertextyes
Nametextyes
Accountreferenceyes→ Accounts
Ownerreferenceyes→ Users
StageselectyesQualified, Proposal, Negotiation, ClosedWon, ClosedLost
ExpectedCloseDatedate
AmountdecimalSynced to the CRM from the GrandTotal of the quote with IsPrimary set
CRMReferencetext
MigrationBatchreference→ MigrationBatches. Historical import/cutover provenance
SourceKeytextUnique source-system record/revision key; mandatory for imports, never regenerated on retry
ProductsThe catalog of record: every SKU that can be sold, configured, priced, quoted and billed, with the cost the margin on a quote line is measured against.master
FieldTypeRequiredDetails
SKUtextyes
Nametextyes
Descriptionlongtext
FamilytextCommercial family the pricing and leakage reports slice by, set by the product manager: Platform, Hardware, Services, Support
TypeselectyesStandalone, Bundle, Subscription, Service, Addon. A Bundle has BundleComponents
BasePricedecimalyesUSD per UnitOfMeasure per BillingCadence; one-time price otherwise. Same cadence as its cost and floor basis
UnitCostdecimalUSD per UnitOfMeasure per BillingCadence; unknown is null, never silently zero
BillingCadenceselectyesOneTime, Monthly, Quarterly, Annual
UnitOfMeasureselectEach, Seat, GB, Hour, Day, Month
RevenueCategoryselectProduct, Subscription, Services, Support. Carried onto invoice lines for the accounting system
ConfigurablebooleanyesIf true, the product has OptionGroups the rep chooses from at quote time
Activebooleanyes
VersionNumbernumberyesImmutable activated revision; changes create a new reviewed version
Changereference→ MasterChanges. Approved activation provenance
OptionGroupsA named set of choices on a configurable product (edition tier, support level, term, warranty), with whether the rep must choose and how many values may be chosen. Line item of Products.line item
FieldTypeRequiredDetails
Productreferenceyes→ Products
GroupCodetextyes
NametextyesEdition tier, Support level, Region, Storage, Term, Warranty, Deployment
RequiredbooleanyesIf true, a quote line cannot be saved without a value from this group
SelectionTypeselectyesSingle, Multiple
SortOrdernumber
Activebooleanyes
ProductOptionsThe values inside an option group, each with the price delta it adds to the unit price when chosen. Line item of Products.line item
FieldTypeRequiredDetails
Productreferenceyes→ Products
OptionGroupreferenceyes→ OptionGroups
OptionValuetextyesPremium, Large, 24-month
PriceDeltadecimalAdded to the unit price when this option is selected
IsDefaultbooleanOne default per OptionGroup
SortOrdernumber
Activebooleanyes
BundleComponentsWhat a product of Type = Bundle is made of: the required and optional component products, their quantities and whether each is priced inside the bundle or as its own line. Line item of Products.line item
FieldTypeRequiredDetails
Bundlereferenceyes→ Products. The parent product, Type = Bundle
Componentreferenceyes→ Products
QuantitynumberyesPer one unit of the bundle
RequiredbooleanyesRequired components are added with the bundle line and cannot be removed
ComponentGrouptextGroups optional components the rep picks between: Storage, Support, Accessories
PricingselectyesIncludedInBundle, PricedSeparately
SortOrdernumber
ProductRulesHeader of a configuration rule: a named, typed rule that runs against every quote line on save.master
FieldTypeRequiredDetails
RuleCodetextyes
Nametextyes
TypeselectyesValidation, AutoAdd, Exclusion, Recommendation
SeverityselectyesBlock, Warn, Info
DescriptiontextShown to the rep when the rule fires
Activebooleanyes
VersionNumbernumberyesImmutable activated revision; referenced children are included in its content hash
Changereference→ MasterChanges. Required approved change before activation
RuleConditionsThe "if" clauses of a rule. Conditions on one rule are AND-combined; an OR is a second rule. Line item of ProductRules.line item
FieldTypeRequiredDetails
Rulereferenceyes→ ProductRules
Productreferenceyes→ Products
Optionreference→ ProductOptions. Narrows the condition to a specific option
OperatorselectyesPresent, NotPresent, QuantityGTE, QuantityLTE, OptionEquals
ValuetextNumeric for the quantity operators; option value for OptionEquals
RuleActionsThe "then" clauses of a rule. Every action fires when all the rule's conditions match the cart. Line item of ProductRules.line item
FieldTypeRequiredDetails
Rulereferenceyes→ ProductRules
ActionselectyesAutoAddProduct, RequireProduct, ExcludeProduct, RecommendProduct, ShowMessage
TargetProductreference→ Products
TargetOptionreference→ ProductOptions
QuantitynumberFor AutoAddProduct, default 1
MessagetextFor ShowMessage and RecommendProduct
PriceBooksA versioned price book. Several may be active at once (standard list, enterprise, partner, a promotion); a quote picks exactly one. Inactive books stay referenceable by historical quotes.master
FieldTypeRequiredDetails
BookCodetextyes
Nametextyes
SegmentselectyesStandard, Enterprise, Partner, Promotion
EffectiveStartdateyes
EffectiveEnddate
CurrencyselectyesUSD
IsDefaultbooleanyesExactly one default, used when the account has no DefaultPriceBook
Activebooleanyes
VersionNumbernumberyesImmutable activated revision; referenced children are included in its content hash
Changereference→ MasterChanges. Required approved change before activation
Templatereference→ QuoteTemplates. Explicit reviewed template override; Promotion requires this or approved fallback to Standard
PriceBookEntriesPer-product prices inside a book, with volume breaks and a floor. A missing book entry uses BasePrice only when the reviewed policy permits that fallback; missing floor/cost coverage still requires review. Line item of PriceBooks.line item
FieldTypeRequiredDetails
PriceBookreferenceyes→ PriceBooks
Productreferenceyes→ Products
OverridePricedecimalyesReplaces BasePrice when this book is selected
FloorPricedecimalUSD per quantity unit per product BillingCadence; compare after allocated line and header discounts on the same term/cadence basis
UnitCostdecimalUSD per quantity unit per BillingCadence; override if known, otherwise product cost; null on both means unknown and requires Floor review
MinQuantitynumberVolume break floor
MaxQuantitynumberVolume break ceiling
Notestext
BundleDiscountsAutomatic combination pricing. When the qualifying products all appear on a quote, the bundle recompute applies the discount as a QuoteDiscounts row with Reason = Bundle. Bundle rows are excluded from the discount percent that is routed for approval.master
FieldTypeRequiredDetails
BundleCodetextyes
Nametextyes
DiscountTypeselectyesPercentOff, FlatAmount, FixedBundlePrice
DiscountValuedecimalyes
EffectiveStartdateyes
EffectiveEnddate
Activebooleanyes
VersionNumbernumberyesImmutable activated revision; referenced children are included in its content hash
Changereference→ MasterChanges. Required approved change before activation
PrioritynumberyesUnique evaluation order within an activated version; lower number first
StackingselectyesExclusive, Sequential. Exclusive wins by priority for overlapping eligible value; Sequential applies to remaining eligible net value
BundleRequiredProductsThe products that must all be on a quote for the bundle discount to qualify, one row per product. Line item of BundleDiscounts.line item
FieldTypeRequiredDetails
Bundlereferenceyes→ BundleDiscounts
Productreferenceyes→ Products
MinQuantitynumberMinimum quantity of this product to qualify, default 1
DiscountApprovalMatrixTiered approval thresholds. Approval routing reads this on quote submit to pick the tier for the quote's discount percent. Active rows must not have overlapping percent ranges.master
FieldTypeRequiredDetails
TierCodetextyes
NametextyesAuto band, Manager tier, VP tier, CFO tier
MinPercentdecimalyesInclusive lower bound on the unrounded routed percentage; within 0–100
MaxPercentdecimalyesExclusive upper bound, except the final 100 boundary is inclusive. Active bands partition 0–100 exactly once without overlap or gaps
ApproverRoleselectyesNone, SalesManager, VPSales, CFO, CEO. None is the auto-approve band
ChainLowerTiersbooleanIf true, steps are also created for every lower tier and decided in StepOrder before this tier's step activates
RequiresAllApproversbooleanTrue requires every named eligible user in the tier snapshot; false requires one eligible named user. No eligible user blocks routing
EscalationHoursnumberHours a Pending step may wait before it is escalated to the next tier's approver; empty means never
Activebooleanyes
VersionNumbernumberyesImmutable activated revision; referenced children are included in its content hash
Changereference→ MasterChanges. Required approved change before activation
PolicyScopetextyesCompany policy scope and revision, frozen on submission
TaxRatesReviewed configured tax cases by jurisdiction, with explicit taxable scope and exemption evidence. Accounting-owned final tax is an alternative; complete US tax coverage is not claimed.master
FieldTypeRequiredDetails
StateselectyesCA, NY, TX, WA, FL, IL and every other two-letter US state code
Countytext
Citytext
RatePercentdecimalyesPercentage in 0–100; convert once by dividing by 100, never treat 7.5 as a decimal multiplier
EffectiveStartdateyes
EffectiveEnddate
Activebooleanyes
VersionNumbernumberyesImmutable activated revision; referenced children are included in its content hash
Changereference→ MasterChanges. Required approved change before activation
JurisdictionCodetextyesConfigured tax jurisdiction identifier; no automatic US-wide coverage
TaxableCategorieslongtextyesConfigured RevenueCategory/product scope, inclusive/exclusive pricing and rounding method
ReviewedByreference→ Users. Independent authorised reviewer under MasterChanges
QuoteTemplatesThe document a quote is rendered to: layout, cover text, terms and conditions, and what the buyer sees of the discounting.master
FieldTypeRequiredDetails
TemplateCodetextyes
Nametextyes
SegmentselectyesStandard, Enterprise, Partner. Defaults the template from the quote's price book segment
DocumentattachmentThe layout with merge fields for the parties, lines, totals and dates
CoverTextlongtextOpening text on the first page
TermsTextlongtextTerms and conditions printed with the quote and signed with it
ShowLineDiscountsbooleanyesIf false, the PDF shows net prices only
Activebooleanyes
VersionNumbernumberyesImmutable activated revision; referenced children are included in its content hash
Changereference→ MasterChanges. Required approved change before activation
ContractTemplatesThe agreement documents a contract is generated from, with the default term, renewal behaviour and uplift each one carries.master
FieldTypeRequiredDetails
TemplateCodetextyes
Nametextyes
ContractTypeselectyesMasterAgreement, OrderForm, SubscriptionAgreement, ServicesAgreement
Versiontextyes
DefaultTermMonthsnumberyes
DefaultRenewalTypeselectyesNone, AutoRenew, Manual
RenewalNoticeDaysnumberDays before EndDate the renewal notice goes out
RenewalUpliftPercentdecimalApplied to the contract's prices when the renewal quote or order is generated
DocumentattachmentThe template with merge fields
Activebooleanyes
VersionNumbernumberyesImmutable activated revision; referenced children are included in its content hash
Changereference→ MasterChanges. Required approved change before activation
RenewalPriceBasisselectyesPriorAcceptedNet, CurrentPriceBook. Operative signed choice; no implicit switch at renewal
RenewalTermMonthsnumberPositive renewal term specified in the signed packet
RenewalProrationPolicyselectyesNone, DailyByPeriod. Signed calendar-period rule for partial terms
QuotesThe quote header: one per proposal to a buyer, whether for new business, a renewal or an amendment of a contract. Submission creates the immutable QuoteVersions authority; controlled withdrawal creates a fresh revision before any unaccepted change.transaction
FieldTypeRequiredDetails
QuoteNumbertextyes
QuoteTypeselectyesNewBusiness, Renewal, Amendment
Accountreferenceyes→ Accounts. The customer sold to
EndCustomerreference→ Accounts. On a channel deal, the customer the partner is buying for
Contactreference→ Contacts. The person the quote is sent to and who signs it
Opportunityreference→ Opportunities
IsPrimarybooleanyesOne per Opportunity. Its GrandTotal syncs to the opportunity and its acceptance closes the deal won
Contractreference→ Contracts. The contract this quote renews or amends
CoTermEndDatedateAmendments: the end date the new lines co-terminate on, defaulted from the contract's EndDate
Ownerreferenceyes→ Users
PriceBookreferenceyes→ PriceBooks
Templatereferenceyes→ QuoteTemplates. Defaulted from the price book segment
StatusselectyesDraft, Submitted, Approved, Sent, Accepted, Declined, Expired, Cancelled
SendModeselectyesForSignature, ForReview. ForSignature can make the fully completed exact packet the executed order form when all operative terms/signers are included; ForReview requires evidenced written acceptance and separate contract execution for term work
QuoteDatedateyes
ValidUntildateyesDrives the expiry reminder and the flip to Expired
ListTotaldecimalyesSum of QuoteLines.ListTermAmount over the complete agreed term, including one-time items; bundle included components contribute zero revenue
SubtotaldecimalyesSum of QuoteLines.LineTotal over the complete term after line discounts and before header discounts
DiscountTotaldecimalyesListTotal minus Subtotal plus all QuoteDiscounts.AppliedAmount, including eligible system bundle discounts
DiscountPercentdecimalyes0–100 routed percentage = 100 × (ListTotal - Subtotal + manual header discount amounts) / ListTotal. Automatic proven bundle allocations excluded; compare unrounded, display to two decimals. Zero list requires zero discount amounts and routes at 0
MarginPercentdecimal100 × (TCV - known full-term cost) / TCV; null when TCV is zero or any cost unknown; unknown cost requires explicit Floor review
TaxJurisdictionreference→ TaxRates
TaxdecimalyesTax on eligible final TCV line allocations under TaxPolicySnapshot, rate divided by 100, reviewed exemption scope and deterministic cents. Missing rate/evidence sets ReviewRequired; accounting-owned estimate is disclosed, never an unconditional zero-tax promise
GrandTotaldecimalyesTCV plus quote Tax estimate/final value; quote tax is identified by TaxMode and TaxStatus
MRRdecimalSum of normalized net recurring monthly amounts active on RecurringAsOfDate; excludes one-time and future/inactive ramp segments, independent of invoice timing
ARRdecimalMRR × 12; run-rate measure, not the amount of a partial-term contract
TCVdecimalSubtotal less all header discounts; accepted pre-tax committed term value including one-time amounts
CurrencyselectyesUSD
PaymentTermsselectyesNet 15, Net 30, Net 45, Net 60, Due on receipt. Defaults from the account; a different value routes a Terms step to Deal Desk
BillingMethodselectyesUpfront, Recurring, Milestone. Upfront bills the whole total at release; Recurring bills by each line's frequency and timing; Milestone bills from BillingMilestones
CustomerPONumbertextThe buyer's purchase order, copied to the order and the invoices
BillToAddresstextDefaulted from the account's BillingAddress
ShipToAddresstextDefaulted from the account's ShippingAddress
NonStandardTermsbooleanSet by the rep when SpecialTerms is filled; routes a Terms step to Deal Desk before send
SpecialTermslongtextNegotiated clauses that differ from the template, printed on the quote and merged into the contract
VersionNumbernumberyesCurrent working revision; each submission freezes a complete QuoteVersions record before approval
SubmittedAtdatetime
ApprovedAtdatetime
SentAtdatetime
AcceptedAtdatetimeExact time the current accepted version obtained valid acceptance; never inferred from a recipient-only signature callback
AcceptanceDocumentattachmentThe buyer's PO or written acceptance when SendMode is ForReview
Noteslongtext
CurrentVersionreference→ QuoteVersions. Frozen submission/sent version; any material edit creates a fresh draft revision
AcceptedVersionreference→ QuoteVersions. Single authorised accepted revision; immutable after acceptance
ContractTemplatereference→ ContractTemplates. Selected before submission for term work; its exact terms form part of the signature packet
RenewalPriceBasisselectPriorAcceptedNet, CurrentPriceBook. Frozen operative contract policy
TaxModeselectyesConfiguredInline, AccountingFinalized
TaxStatusselectyesEstimated, Final, ReviewRequired. AccountingFinalized quotes disclose estimate until accounting acknowledges actual invoice tax
TaxPolicySnapshotlongtextyesTax rates/versions, exemption scope, product categories, effective-date policy, rounding and finalization ownership
CreatedAtdatetimeyesQuote creation time for velocity metrics
DraftEditorslongtextyesNamed-user IDs of owner and every material editor of this revision; approval exclusion set
AcceptanceBasisselectCompletedEnvelope, WrittenAcceptance, SignedAutoRenewal. SignedAutoRenewal requires original executed automatic-renewal authority and RenewalDecisions evidence
AcceptanceEventreference→ BusinessEvents. Authenticated/authorised accepted-version event
RenewalDecisionreference→ RenewalDecisions. Unique term decision when QuoteType is Renewal
MigrationBatchreference→ MigrationBatches. Historical import/cutover provenance
SourceKeytextUnique source-system record/revision key; mandatory for imports, never regenerated on retry
RecurringAsOfDatedateRequired for recurring quotes; default earliest recurring service start, explicitly printed with MRR/ARR. Future ramp values remain in the period plan
QuoteLinesOne product on a quote with its quantity, the list and net unit prices the recompute resolved, and any line discount. Component lines of a bundle nest under the bundle line through ParentLine. Line item of Quotes.line item
FieldTypeRequiredDetails
Quotereferenceyes→ Quotes
LineNumbernumberyes
ParentLinereference→ QuoteLines. Set on a component line of a bundle
Productreferenceyes→ Products
Quantitynumberyes
ListUnitPricedecimalyesUSD quantity-unit price per BillingFrequency (or once for OneTime), including options; immutable snapshot on submission
LineDiscountPercentdecimalDefault 0. Reduces NetUnitPrice and counts toward the routed DiscountPercent
NetUnitPricedecimalyesListUnitPrice × (1 - LineDiscountPercent / 100); cadence-unit price before header allocation
LineTotaldecimalyesComplete term amount after line discount, before header allocation; recurring cadence amounts expanded by frozen period/proration plan
UnitCostdecimalCost per quantity unit per BillingFrequency, converted from reviewed source cadence if necessary; null means unknown
MarginPercentdecimalMargin after all header allocations and full-term costs; null for unknown cost/zero net, with explicit review
UnderFloorbooleanyesComputed after all header discounts using the same cadence/term floor basis; zero-revenue included components use parent-bundle combined cost/floor policy
AutoAddedbooleanSystem-owned; only a proven rule action or bundle component can set true
RuleNotestextTrace of the rules that touched this line
TermMonthsnumberPositive finite term for recurring/service commitments; determines service end together with StartDate and signed proration policy
StartDatedateRequired for recurring and term-service lines; all service periods use inclusive start/exclusive end
BillingFrequencyselectOneTime, Monthly, Quarterly, Annual. Defaults from the product's BillingCadence
BillingTimingselectInAdvance, InArrears. Recurring lines only
EndDatedateExclusive service end; mandatory for recurring and term-service lines
ListTermAmountdecimalyesList price × quantity × full cadence periods plus agreed partial-period factors, or once for OneTime
HeaderDiscountAllocateddecimalyesSum of all header allocations from QuoteDiscountAllocations
NetTermAmountdecimalyesLineTotal - HeaderDiscountAllocated; nonnegative, final accepted amount
PeriodAmountsJSONlongtextyesCanonical full-term calendar periods, proration fractions, allocated discounts and net amounts; conserved through billing
SourceRulereference→ ProductRules. Proven active rule for automatic line
SourceActionreference→ RuleActions. Exact action plus revision used for automatic line
SourceComponentreference→ BundleComponents. Exact bundle component source
SourceVersiontextRule/component version and stable expansion key; mutually consistent with AutoAdded
AmendmentActionselectAdd, Replace, Cancel. Required on Amendment quotes; accepted amendments apply only after execution and Deal Desk verification
ExistingContractLinereference→ ContractLines. Required for Replace/Cancel, same contract and effective scope
QuoteLineOptionsThe options chosen on a configured line, one row per option, with the price delta frozen at selection time. Line item of QuoteLines.line item
FieldTypeRequiredDetails
QuoteLinereferenceyes→ QuoteLines
Optionreferenceyes→ ProductOptions
AppliedPriceDeltadecimalyesSnapshot of ProductOptions.PriceDelta when selected
QuoteDiscountsHeader-level discounts on a quote, with the rep's reason and justification. Rows with Reason = Bundle are written by the bundle recompute and are excluded from the routed percent. Line item of Quotes.line item
FieldTypeRequiredDetails
Quotereferenceyes→ Quotes
ReasonselectyesVolume, Strategic, Competitive, Promo, Loyalty, OneTime, Bundle. Bundle is workflow-owned and requires verified source; users cannot relabel discretionary discounts as Bundle
DiscountTypeselectyesPercentOff, FlatAmount
DiscountValuedecimalyesPercent for PercentOff, USD for FlatAmount
AppliedAmountdecimalyesComputed nonnegative USD full-term discount under approved stacking order; capped by remaining eligible line net amount
StatusselectyesDraft, Submitted, Approved, Rejected, AutoApproved. Approval belongs to the immutable version, not a mutable row flag
JustificationlongtextThe rep's case for the discount, shown to approvers
SubmittedAtdatetime
ResolvedAtdatetime
SourceBundlereference→ BundleDiscounts. Required only for system Bundle discounts; version frozen
SourceVersiontextImmutable promotion revision and eligibility hash
SystemGeneratedbooleanyesTrue only for validated bundle workflow; protected from user edits
PrioritynumberyesFrozen deterministic order; bundle promotions first by configured priority, then manual rows by unique priority
BillingMilestonesThe named milestones a Milestone-billed quote is invoiced on, with the share or amount of each and the event that makes it billable. Line item of Quotes.line item
FieldTypeRequiredDetails
Quotereferenceyes→ Quotes
NametextyesDeposit on order, Balance on shipment, Go-live acceptance
PercentdecimalShare of accepted pre-tax NetTermAmount for the scoped real quote/order lines, never GrandTotal. Per scope percentages sum to 100
AmountdecimalPre-tax accepted amount; amount-based milestones exactly sum to scoped NetTermAmount; never apply tax twice
TriggerselectyesOnOrder, OnShipment, OnAcceptance, OnDate
TargetDatedateRequired when Trigger is OnDate; a forecast date otherwise
SalesOrderLinereference→ SalesOrderLines. Optional specific staged-order scope; pre-acceptance scope uses QuoteLine and is frozen before signature
SortOrdernumber
QuoteLinereference→ QuoteLines. Required for line-scoped milestone, otherwise entire accepted quote is allocated across real lines
ReleaseRuleselectyesFull, Proportional. Full waits for full scoped shipment/acceptance; Proportional releases each evidenced fraction once
TriggerQuantitynumberPositive quantity threshold in the scoped line unit; required for OnShipment/OnAcceptance
AcceptedVersionreference→ QuoteVersions. Frozen milestone terms
DiscountApprovalStepsThe audit trail of a routing decision: one row per approver action on a submitted quote, created by approval routing from the matrix tier, the floor check or the terms check. Line item of Quotes.line item
FieldTypeRequiredDetails
Quotereferenceyes→ Quotes
ApprovalTypeselectyesDiscount, Floor, Terms
QuoteDiscountreference→ QuoteDiscounts. The header discount row the justification is read from, when there is one
StepOrdernumberyesChained tiers are decided in this order
Tierreference→ DiscountApprovalMatrix. Empty for a Terms step
Approverreferenceyes→ Users. Named active eligible person in the immutable routing snapshot; owner/material editors of this version excluded
DelegatedFromreference→ Users. Original named principal; does not change the final Approved/Rejected decision
EscalatedFromreference→ DiscountApprovalSteps. The step that waited past its tier's EscalationHours
RequestedPercentdecimalyesThe quote's DiscountPercent at the time of routing
RequestedAtdatetimeyes
DecisionselectyesWaiting, Pending, Approved, Rejected, Delegated, Escalated, Skipped, Blocked, Superseded. New delegate decisions are Approved/Rejected; legacy Delegated is incomplete historical provenance and cannot satisfy approval
DecisionAtdatetime
Commenttext
QuoteVersionreferenceyes→ QuoteVersions. Complete immutable reviewed submission
Delegationreference→ ApprovalDelegations. Exact approved grant valid at assignment and decision
DecisionByreference→ Users. Actual signer, equal to assigned eligible Approver
PolicySnapshotlongtextyesMatrix version, tier grouping/quorum, resolution candidates, exclusion set, escalation and auto-band result
DecisionEventreference→ BusinessEvents. Unique decision event, version and signer bound
QuoteVersionsComplete submitted commercial snapshots, retained through approval, sending and acceptance; later revisions cannot rewrite their prices, configuration, terms or signature authority.transaction
FieldTypeRequiredDetails
Quotereferenceyes→ Quotes
VersionNumbernumberyes
StatusselectyesSubmitted, Approved, Sent, Accepted, Declined, Superseded, Withdrawn, Expired, Cancelled. Lifecycle projection; commercial content never changes after snapshot
SubtotalSnapshotdecimalyes
DiscountTotalSnapshotdecimalyes
TaxSnapshotdecimalyes
GrandTotalSnapshotdecimalyes
LinesJSONlongtextRequired canonical complete snapshot of lines, options, rule results, price/cost/floor sources, allocations and billing periods; mirrors typed QuoteVersionLines
ChangeSummarytextWhat changed, written by the rep
SnapshotAtdatetimeyesCreation time before approval or signature; never deferred until a later edit
SnapshottedByreferenceyes→ Users
ContentHashtextyesHash of complete commercial snapshot, including header/addresses/buyer/PO/dates/options/prices/tax/terms/templates/milestones/renewal/approval policy
HeaderJSONlongtextyesComplete frozen header, selected templates and their content/version, operative contract/renewal terms and tax disclosures
ApprovalPolicyJSONlongtextyesComplete routing and master versions, named eligible signers/quorum and editor exclusions, including automatic-band decisions
MilestonesJSONlongtextyesFrozen accepted pre-tax shares, scopes, dates and evidence release rules
ListTotalSnapshotdecimalyesFull-term list value
NetTotalSnapshotdecimalyesAccepted/submitted pre-tax term value after all discounts
MRRSnapshotdecimalyesNormalized recurring monthly value after discounts
ARRSnapshotdecimalyesNormalized annual recurring value after discounts
SentDocumentattachmentImmutable originally sent packet; separate from executed document
ExecutedDocumentattachmentFully executed packet; does not replace SentDocument
ApprovedAtdatetimeAll required version-bound decisions complete
AcceptedAtdatetimeValid buyer/automatic acceptance of this exact version
MigrationBatchreference→ MigrationBatches. Historical import/cutover provenance
SourceKeytextUnique source-system record/revision key; mandatory for imports, never regenerated on retry
RecurringAsOfDatedateFrozen report date for MRRSnapshot and ARRSnapshot; future ramps not summed as simultaneous service
SentAtdatetimeFirst dispatch time of this exact version; retries retain the original
DeclinedAtdatetimeValid final decline time of this version
ExpiredAtdatetimeActual expiry transition time for this version
EQuoteEnvelopesOne e-signature envelope per document sent for signature: a quote sent ForSignature, or a contract generated from a quote that was sent ForReview. Status is updated by inbound provider webhooks.transaction
FieldTypeRequiredDetails
EnvelopeNumbertextyes
DocumentTypeselectyesQuote, Contract
Quotereferenceyes→ Quotes
Contractreference→ Contracts. Set when DocumentType is Contract
ProviderselectyesDocuSign, PandaDoc, Dropbox Sign, Adobe Acrobat Sign
ProviderEnvelopeIDtextyes
Recipientreferenceyes→ Contacts
RecipientEmailtextyesSnapshot of the contact's email at send
StatusselectyesCreated, Sent, Delivered, Viewed, Signed, Declined, Voided, Expired, ReviewRequired. Signed means full required envelope completion, not one recipient signature
DocumentattachmentImmutable originally sent packet; never overwritten by executed document
SentAtdatetime
LastEventAtdatetime
QuoteVersionreferenceyes→ QuoteVersions. Exact content sent for quote or contract
ContentHashtextyesExact sent commercial packet hash and required-signature manifest
ExecutedDocumentattachmentCompleted executed packet, retained separately
RequiredSignersJSONlongtextyesNamed required signers, email/identity, roles and completion rules; freezes recipient changes
CompletedAtdatetimeAuthenticated full-envelope completion timestamp
CreateEventreference→ BusinessEvents. Idempotent send request
EQuoteEventsEvent log from the e-signature provider, one row per inbound webhook event. Line item of EQuoteEnvelopes.line item
FieldTypeRequiredDetails
Envelopereferenceyes→ EQuoteEnvelopes
EventTypeselectyesSent, Delivered, Viewed, Signed, Declined, Reassigned, Voided, Expired, Completed. Signed can mean a recipient event only; Completed is required for envelope acceptance
OccurredAtdatetimeyesProvider event timestamp; arrival order is not execution order
ActorEmailtext
ActorIPtext
PayloadlongtextRaw provider payload for audit
ProviderEventIDtextyesUnique within provider/account; duplicates no-op, same key with changed payload quarantined
ReceivedAtdatetimeyesAuthenticated reception time
AuthenticationStatusselectyesVerified, Rejected. Only Verified can affect lifecycle
ProcessingStatusselectyesPending, Applied, Duplicate, IgnoredStale, Quarantined
ContentHashtextyesPayload hash and resolved envelope/version identity
Eventreference→ BusinessEvents. Local validated event; unknown envelope or changed recipient requires review
ContractsThe commercial agreement behind an accepted quote: term, renewal behaviour, signed document and value. Created already signed when the quote itself was the signed order form.transaction
FieldTypeRequiredDetails
ContractNumbertextyes
Accountreferenceyes→ Accounts
EndCustomerreference→ Accounts. On a channel deal, the customer named on the agreement
Quotereferenceyes→ Quotes. The quote that created it
Templatereferenceyes→ ContractTemplates
Ownerreferenceyes→ Users
Signatoryreference→ Contacts
StatusselectyesDraft, InReview, SentForSignature, Signed, Active, Amended, Expired, Terminated, Renewed. Signed alone is not verified release authority
StartDatedateyesEarliest effective term service start among current ContractLines; inclusive
EndDatedateyesLatest effective recurring/service end among current ContractLines; exclusive, not earliest start plus longest term
TermMonthsnumberyesHeader summary only; actual line dates determine coverage
RenewalTypeselectyesNone, AutoRenew, Manual
RenewalNoticeDaysnumber
RenewalUpliftPercentdecimalSigned uplift applied once to the signed RenewalPriceBasis; no unilateral price-book switch
RenewalOfreference→ Contracts. The prior contract this one renews
TCVdecimalyesSum of signed effective commitments, retaining original and amendment delta history; no blind sum of replacement plus replaced line
ARRdecimalRun rate of effective recurring ContractLines on the report as-of date, excludes one-time goods/setup
PaymentTermsselectyesNet 15, Net 30, Net 45, Net 60, Due on receipt. From the quote; the terms invoices are dated by
SignedAtdatetime
SignedDocumentattachmentThe executed agreement; EQuoteEnvelopes.ExecutedDocument when the completed quote packet was the agreed signed instrument
Noteslongtext
QuoteVersionreferenceyes→ QuoteVersions. Executed source version for contract/most recent amendment; original history retained on ContractLines
TermsHashtextyesExact operative signed terms and referenced versions
VerificationStatusselectyesPending, Verified, Rejected
VerifiedByreference→ Users. Deal Desk who checks executed packet against approved version before effectiveness/order release
VerifiedAtdatetimeRequired with Verified status and current TermsHash
VerifiedTermsHashtextMust equal TermsHash; mismatch requires fresh verification
VerificationNoteslongtextExecuted document, identity and commercial discrepancy evidence
RenewalPriceBasisselectyesPriorAcceptedNet, CurrentPriceBook. Exact signed choice
RenewalTermMonthsnumberPositive agreed renewal term
RenewalProrationPolicyselectyesNone, DailyByPeriod
NoticeDeadlinedatetimeExact contractual notification deadline/timezone for the expiring term
MigrationBatchreference→ MigrationBatches. Historical import/cutover provenance
SourceKeytextUnique source-system record/revision key; mandatory for imports, never regenerated on retry
SalesOrdersThe order created from an accepted quote and handed to fulfilment or provisioning once deal desk confirms it against the PO, the credit position and the contract.transaction
FieldTypeRequiredDetails
SalesOrderNumbertextyes
Quotereferenceyes→ Quotes
Contractreference→ Contracts
Accountreferenceyes→ Accounts
EndCustomerreference→ Accounts
Ownerreferenceyes→ Users
StatusselectyesDraft, Confirmed, Released, Fulfilled, Closed, Cancelled. Release is local authorization; downstream acknowledgment is EventDeliveries, not status alone
OrderDatedateyes
RequestedDatedateDelivery or provisioning date the buyer asked for
CustomerPONumbertextCopied from the quote; required at confirm when the account has PORequired
BillToAddresstextFrom the quote
ShipToAddresstextFrom the quote; on a channel deal, the end customer's address
OrderTotaldecimalyesSum of immutable allocated SalesOrderLines.LineTotal; full-term pre-tax value after all discounts
BillingMethodselectyesUpfront, Recurring, Milestone
PaymentTermsselectyesNet 15, Net 30, Net 45, Net 60, Due on receipt. From the contract, else the quote
ERPReferencetextOrder number in the fulfilment or provisioning system after release
ReleasedAtdatetimeLocal Deal Desk release time; ERP receipt is separately acknowledged
Noteslongtext
QuoteVersionreferenceyes→ QuoteVersions. Accepted authority for quantities/value allocated to this order
ConfirmedByreference→ Users. Deal Desk; required on confirmation
ConfirmedAtdatetimeConfirmation time against account exposure and verified contract
ReleasedByreference→ Users. Deal Desk; required for release
CreditExposureAmountdecimalyesUninvoiced net allocation plus documented tax reserve; transfers atomically to invoice balance at issue
TaxReservedecimalyesFinal/estimated tax exposure reserve; unresolved estimate explicitly reviewed, never silent zero
ConfirmationEvidencelongtextPO, accepted version, contract verification, address/contact, availability and credit revision checked
ReleaseEventreference→ BusinessEvents. Unique order release/outbound intent
MigrationBatchreference→ MigrationBatches. Historical import/cutover provenance
SourceKeytextUnique source-system record/revision key; mandatory for imports, never regenerated on retry
SalesOrderLinesStaged order lines allocated from immutable accepted quote lines, retaining net term amounts, service periods, configured options and evidenced fulfillment. Line item of SalesOrders.line item
FieldTypeRequiredDetails
SalesOrderreferenceyes→ SalesOrders
LineNumbernumberyes
ParentLinereference→ SalesOrderLines. Set on a bundle's component line
QuoteLinereferenceyes→ QuoteLines
Productreferenceyes→ Products
Quantitynumberyes
QuantityFulfillednumberyesComputed net posted Shipment FulfillmentEvents; never hand-edited; reversals cannot exceed unreversed quantity
UnitPricedecimalyesFrozen net cadence-unit amount after allocated header discounts; rounding display only, not authority to recompute full term
LineTotaldecimalyesAuthoritative full-term accepted net allocation from OrderAllocations, including header discounts. May differ from rounded Quantity × UnitPrice for recurring/prorated terms
BillingFrequencyselectyesOneTime, Monthly, Quarterly, Annual
BillingTimingselectInAdvance, InArrears
TermMonthsnumber
ServiceStartdate
ServiceEnddate
StatusselectyesOpen, PartiallyFulfilled, Fulfilled, Cancelled
AcceptedLinereferenceyes→ QuoteVersionLines. Exact immutable accepted line
QuantityAcceptednumberyesComputed net customer Acceptance FulfillmentEvents, separate from shipment
OptionsJSONlongtextyesImmutable configured options and applied deltas for ERP/provisioning
PeriodAmountsJSONlongtextyesAllocated accepted period amounts; sum equals LineTotal
RevenueCategoryselectyesProduct, Subscription, Services, Support. Frozen accepted classification
InvoiceSchedulesThe billing schedule for an order: when each amount is invoiced, built from the order's billing method and its lines' frequencies, timing and terms.transaction
FieldTypeRequiredDetails
ScheduleNumbertextyes
SalesOrderreferenceyes→ SalesOrders
Contractreference→ Contracts
Accountreferenceyes→ Accounts
Ownerreferenceyes→ Users
StatusselectyesDraft, Active, Suspended, Completed, Cancelled
BillingMethodselectyesUpfront, Recurring, Milestone
FrequencyselectOneTime, Monthly, Quarterly, Annual, OnMilestone. Mixed recurring frequencies use separate compatible schedules
BillingTimingselectInAdvance, InArrears. From the order lines; a schedule with mixed timing splits into one per timing
ProrationMethodselectyesNone, DailyByPeriod. Must match accepted frozen period plan, not a billing-time repricing choice
StartDatedateyes
EndDatedate
TotalToBilldecimalyesSum of Amount on effective leaf plan lines excluding Skipped/Cancelled ancestors; accepted pre-tax plan conserved with issued amounts
BilledToDatedecimalyesSum of Amount on Invoiced schedule lines; credit memos do not silently re-open claims
NextBillDatedateEarliest Scheduled unclaimed line only when parent Active; Pending milestones remain without a bill date
QuoteVersionreferenceyes→ QuoteVersions. Accepted immutable billing authority
PlanVersionnumberyesFrozen active billing plan; date-only changes require review and explicit supersession of unclaimed lines
ActivatedByreference→ Users. Billing Specialist who reconciles line totals/periods and accepted terms
ActivatedAtdatetimeRequired before billing eligibility
ActivationHashtextHash of accepted source, line allocations, dates and milestone rules
GenerationEventreference→ BusinessEvents. Unique order allocation/plan generation event
MigrationBatchreference→ MigrationBatches. Historical import/cutover provenance
SourceKeytextUnique source-system record/revision key; mandatory for imports, never regenerated on retry
InvoiceScheduleLinesOne planned invoice amount, tied to the order line or milestone it bills and, once issued, to the invoice. A milestone line waits as Pending without a date until its trigger fires. Line item of InvoiceSchedules.line item
FieldTypeRequiredDetails
Schedulereferenceyes→ InvoiceSchedules
LineNumbernumberyes
SalesOrderLinereferenceyes→ SalesOrderLines
Milestonereference→ BillingMilestones. Set on milestone-billed lines
Descriptiontextyes
ScheduledDatedateThe date the billing run will pick this line up; empty while a milestone line is Pending
ServicePeriodStartdate
ServicePeriodEnddate
AmountdecimalyesPre-tax accepted net allocation for this real order line, period/milestone and evidence release, rounded once with final residual conserved
StatusselectyesPending, Scheduled, Claimed, Invoiced, Skipped, Cancelled. Claimed locks one invoice intent; Skipped/Cancelled never erase accepted billable value without approved replacement/cancellation authority
Invoicereference→ Invoices
Allocationreferenceyes→ OrderAllocations. Accepted quantity/value source
FulfillmentEventreference→ FulfillmentEvents. Shipment/acceptance evidence for this released milestone tranche
ClaimEventreference→ BusinessEvents. Unique billing claim; claim, invoice creation and source consumption atomic
AmountVersionnumberyesImmutable plan amount revision; invoice snapshots it
ReleaseKeytextyesUnique allocation/period/milestone/tranche identity; prevents recurring or proportional milestone rebilling
Supersedesreference→ InvoiceScheduleLines. Retired unclaimed date-plan predecessor or split parent; descendant amounts exactly conserve its amount, never a second charge
MigrationBatchreference→ MigrationBatches. Historical import/cutover provenance
SourceKeytextUnique source-system record/revision key; mandatory for imports, never regenerated on retry
InvoicesThe locally issued invoice, delivered separately to accounting, settled by effective payment/credit applications and corrected through immutable credit evidence.finance
FieldTypeRequiredDetails
InvoiceNumbertextyes
Accountreferenceyes→ Accounts
BillToContactreference→ Contacts. From the account's BillingContact
SalesOrderreferenceyes→ SalesOrders
Contractreference→ Contracts
CustomerPONumbertextFrom the order; printed on the invoice
StatusselectyesDraft, Issued, Sent, PartiallyPaid, Paid, Void. Only unissued Draft may void directly; issued immutable invoices require controlled compensating correction and external acknowledgment where delivered
InvoiceDatedateyes
DueDatedateyesInvoiceDate plus PaymentTerms
PaymentTermsselectyesNet 15, Net 30, Net 45, Net 60, Due on receipt. From the Contract, else the SalesOrder, else the Account
IsOverduebooleanyesSet by the daily job when DueDate has passed and Balance is above zero
SubtotaldecimalyesComputed: sum of InvoiceLines.LineTotal
Taxdecimalyes
TotaldecimalyesFinal Subtotal plus Tax; only final immutable issued total is eligible for cash application
AmountPaiddecimalyesNet posted PaymentApplications after linked reversal amounts; historical cash applications remain intact when a paid invoice receives a credit
CreditTotaldecimalyesSum of InvoiceAppliedAmount on Applied CreditMemos plus Posted AccountCreditApplications targeted here, excluding reversed applications; unused or reserved account credit does not settle this invoice
BalancedecimalyesTotal - AmountPaid - CreditTotal; atomic applications never permit a negative result
ERPReferencetextInvoice id in the accounting system
PostedAtdatetimeLocal immutable issue/posting timestamp. Accounting acknowledgment is EventDeliveries.AcknowledgedAt; never infer remote posting from this field
InvoiceDocumentattachment
SentAtdatetime
IssueEventreference→ BusinessEvents. Unique immutable invoice issue and schedule claim event
ContentHashtextImmutable issued header/lines/tax version
TaxModeselectyesConfiguredInline, AccountingFinalized
TaxStatusselectyesPending, Final, ReviewRequired. Final required for issue, buyer send and payment application
TaxEvidencelongtextRate/source/version, taxable base, exemption, decimal rounding and accounting finalization acknowledgment
AccountingStatusselectyesNotRequested, Pending, Acknowledged, Uncertain, Rejected, Reconciled. Delivery projection
AccountCreditCreateddecimalyesInformational sum of applied memo excess allocated to account credit; does not reduce this invoice Balance twice
MigrationBatchreference→ MigrationBatches. Historical import/cutover provenance
SourceKeytextUnique source-system record/revision key; mandatory for imports, never regenerated on retry
SaleTypeselectyesCreditSale, CashSale. Frozen classification for credit-sales/DSO reporting; no classification invented from current paid status
InvoiceLinesWhat the invoice charges for, one row per product and service period. Line item of Invoices.line item
FieldTypeRequiredDetails
Invoicereferenceyes→ Invoices
LineNumbernumberyes
Productreferenceyes→ Products
ScheduleLinereference→ InvoiceScheduleLines
Descriptiontextyes
Quantitynumberyes
UnitPricedecimalyes
LineTotaldecimalyesAuthoritative accepted schedule Amount excluding tax; Quantity × UnitPrice is explanatory at finite precision, never a second term multiplication
ServicePeriodStartdate
ServicePeriodEnddate
ParentLinereference→ InvoiceLines. Bundle hierarchy only when parent occurs on same invoice; otherwise source parent retained in SourceSnapshot
SalesOrderLinereferenceyes→ SalesOrderLines. Real billed configured product; no placeholder for whole order
RevenueCategoryselectyesProduct, Subscription, Services, Support. Immutable accepted classification
TaxAmountdecimalyesFinal line tax on net taxable base, separately rounded under recorded policy
SourceSnapshotlongtextyesAccepted line/version, options, term, allocation, source parent and net/tax details
CreditMemosA credit raised against a posted invoice for a pricing error, a service credit, a dispute, a write-off or a cancellation. Independently approved above the requester's captured limit, issued, delivered to accounting and allocated between outstanding invoice balance and account credit.finance
FieldTypeRequiredDetails
CreditMemoNumbertextyes
Invoicereferenceyes→ Invoices
Accountreferenceyes→ Accounts
StatusselectyesDraft, Submitted, Approved, Rejected, Issued, Applied, Void. Rejection explicit; after issue immutable, corrections use approved compensating evidence
ReasonselectyesPricing error, Service credit, Dispute, Write-off, Cancellation
AmountdecimalyesPositive gross credit = sum CreditMemoLines.NetAmount + TaxAmount. Bounded by original invoice eligible uncredited value, including a paid invoice; not by current Balance
CreditDatedateyes
RequestedByreferenceyes→ Users
ApprovedByreference→ Users. Requester only under explicit within-limit policy snapshot; above limit an independent Executive Approver
IssuedAtdatetimeLocal issue time; accounting acknowledgment recorded separately
ERPReferencetextCredit note id in the accounting system
Noteslongtext
InvoiceAppliedAmountdecimalyesPortion applied atomically to source invoice remaining Balance at issue
AccountCreditAmountdecimalyesAmount - InvoiceAppliedAmount; surplus credit for later same-account application/refund
AccountCreditRemainingdecimalyesAccountCreditAmount minus active Reserved/Posted AccountCreditApplications; cancelled/reversed uses free credit only through evidenced compensation
ApprovalPolicySnapshotlongtextCredit limit/version, requester, independent approver when required, reason and source invoice content hash
ApprovedAtdatetimeDecision time bound to submitted content
SubmittedHashtextFrozen reason, line/tax amounts and source invoice version
IssueEventreference→ BusinessEvents. Unique local issue/accounting delivery event
MigrationBatchreference→ MigrationBatches. Historical import/cutover provenance
SourceKeytextUnique source-system record/revision key; mandatory for imports, never regenerated on retry
PaymentsMoney received from an account, applied across one or more invoices through PaymentApplications.finance
FieldTypeRequiredDetails
PaymentNumbertextyes
Accountreferenceyes→ Accounts
StatusselectyesUnapplied, PartiallyApplied, Applied, Refunded, Returned. Projection of retained amount/application/reversal effects; setting status alone has no financial effect
PaymentDatedateyes
Amountdecimalyes
AmountApplieddecimalyesNet posted PaymentApplications after linked reversals, bounded by currently retained payment amount
UnappliedAmountdecimalyesAmount minus net application amounts minus confirmed returned/refunded amounts; cannot be negative
MethodselectyesACH, Wire, Card, Check
ReferencetextBank or processor reference
RecordedByreferenceyes→ Users
ReturnedAmountdecimalyesNet confirmed Return FinanceAdjustments; full Returned status only when entire receipt is returned
RefundedAmountdecimalyesNet confirmed Refund FinanceAdjustments on this payment
ReceiptEventreference→ BusinessEvents. Unique source receipt identifier and payload hash
CurrencytextyesUSD; same account/currency for every application
RecordedAtdatetimeyesReceipt recording time; PaymentDate remains business date
MigrationBatchreference→ MigrationBatches. Historical import/cutover provenance
SourceKeytextUnique source-system record/revision key; mandatory for imports, never regenerated on retry
PaymentApplicationsHow much of a payment settled which invoice: one row per invoice a payment touches, so a wire covering three invoices or a short pay is recorded as it happened. Line item of Payments.line item
FieldTypeRequiredDetails
Paymentreferenceyes→ Payments
Invoicereferenceyes→ Invoices
AmountApplieddecimalyesPositive immutable amount; at posting cannot exceed retained unapplied payment cash or finalized same-account invoice Balance
AppliedAtdatetimeyes
AppliedByreferenceyes→ Users. Billing Specialist or configured limited matching service identity, with recorded initiator and policy
StatusselectyesDraft, Posted, Reversed, PartiallyReversed. Projection from posted adjustment evidence
ReversedAmountdecimalyesSum of confirmed ApplicationReversal FinanceAdjustments, never above original AmountApplied
InvoiceHashtextyesIssued immutable invoice version being settled
Eventreferenceyes→ BusinessEvents. Unique application key and atomic source/destination version check
MigrationBatchreference→ MigrationBatches. Historical import/cutover provenance
SourceKeytextUnique source-system record/revision key; mandatory for imports, never regenerated on retry
QuoteVersionLinesImmutable commercial authority for each submitted and accepted configured line; retained even when a later draft changes or removes the working line.line
FieldTypeRequiredDetails
Versionreferenceyes→ QuoteVersions
QuoteLinereferenceyes→ QuoteLines. Source identity retained; later mutable drafts cannot change this snapshot
LineNumbernumberyesUnique within Version
ParentLinereference→ QuoteVersionLines. Same version; bundle structure
Productreferenceyes→ Products
QuantitynumberyesPositive accepted quantity; cancellation amendments use AmendmentAction and affected quantity, not negative sale quantities
BillingFrequencyselectyesOneTime, Monthly, Quarterly, Annual
BillingTimingselectyesInAdvance, InArrears
ServiceStartdateInclusive; mandatory for term work
ServiceEnddateExclusive; mandatory for term work
ListTermAmountdecimalyesFull-term list value
LineNetAmountdecimalyesFull-term value after line discounts, before header allocation
HeaderDiscountAmountdecimalyesSum immutable QuoteDiscountAllocations on this line
NetAmountdecimalyesLineNetAmount - HeaderDiscountAmount; authoritative pre-tax commitment
NormalizedMRRdecimalyesNet cadence-unit price × quantity divided by cadence months only when active on Version.RecurringAsOfDate; otherwise zero. OneTime always zero
CostAmountdecimalFull-term cost on same calendar/cadence basis, including included-component cost at bundle group
FloorAmountdecimalFull-term applicable floor on same basis
OptionsJSONlongtextyesConfigured option IDs/version/value/deltas and pricing/rule provenance
PeriodsJSONlongtextyesCanonical calendar periods, net amounts, proration fractions and final residual; sum equals NetAmount
RevenueCategoryselectyesProduct, Subscription, Services, Support
AmendmentActionselectAdd, Replace, Cancel
ExistingContractLinereference→ ContractLines. Same named contract, scoped effective interval/quantity
AmendmentEffectiveDatedateNo retroactive silent alteration of issued invoices or fulfilled orders
CadenceNetUnitPricedecimalyesRecurring net quantity-unit price after proportional header discount allocation; OneTime uses once-only net price. PeriodsJSON retains rounding/proration precision
QuoteDiscountAllocationsFrozen allocation of each full-term header discount to eligible commercial lines; exact sums and provenance prevent lost discounts or false automatic bands.transaction
FieldTypeRequiredDetails
Versionreferenceyes→ QuoteVersions
VersionLinereferenceyes→ QuoteVersionLines
QuoteDiscountreferenceyes→ QuoteDiscounts
SourceBundlereference→ BundleDiscounts. Required for exclusion from routed manual discount
SourceVersiontextyesDiscount rule or discretionary row immutable revision
KindselectyesManual, Bundle
EligibleBasedecimalyesRemaining eligible net amount before this ordered allocation
AmountdecimalyesNonnegative USD allocation; aggregate equals frozen AppliedAmount, never exceeds base
AllocationKeytextyesUnique version/discount/line identity
OrderAllocationsReserves a portion of an accepted line for one staged order, carrying the exact accepted value and periods through billing.transaction
FieldTypeRequiredDetails
AcceptedLinereferenceyes→ QuoteVersionLines
SalesOrderLinereferenceyes→ SalesOrderLines
QuantitynumberyesPositive reserved accepted quantity; total effective allocations cannot exceed source quantity
NetAmountdecimalyesAccepted pre-tax portion, including all discount shares; sum cannot exceed source NetAmount
PeriodsJSONlongtextyesReserved service intervals and amounts, including last-allocation rounding residual
StatusselectyesReserved, Confirmed, Released, Consumed, Cancelled
ReservedAtdatetimeyesAtomic claim time; drafts reserve explicitly and expire only by controlled cancellation
CancelledQuantitynumberyesUnfulfilled/unbilled portion released by authorised cancellation; never already consumed quantity
CancelledAmountdecimalyesUnbilled accepted amount released, with commitment evidence; billed reductions need credit/amendment
InvoicedAmountdecimalyesSum consumed net schedule amount; credits do not automatically reopen billable allocation
Eventreferenceyes→ BusinessEvents. Stable source version/allocation key and payload
ContractLinesEffective signed commercial history for original terms, amendments and renewals; replace/cancel entries supersede only their approved future scope.line
FieldTypeRequiredDetails
Contractreferenceyes→ Contracts
AcceptedLinereferenceyes→ QuoteVersionLines
Productreferenceyes→ Products
ActionselectyesAdd, Replace, Cancel
Supersedesreference→ ContractLines. Required for Replace/Cancel; same contract and matching affected scope
QuantitynumberyesAffected quantity; replacement state quantity is explicit, not added to original in effective totals
EffectiveStartdateyesInclusive start of this signed effect
EffectiveEnddateExclusive end; required for recurring services
BillingFrequencyselectyesOneTime, Monthly, Quarterly, Annual
RecurringNetUnitPricedecimalAccepted quantity-unit net price per cadence after all discounts; absent for OneTime
NetCommitmentdecimalyesSigned new full-scope value; Cancel is zero new commitment
ChangeAmountdecimalyesSigned delta: new remaining commitment minus superseded remaining unbilled commitment; original/add uses positive net amount
NormalizedMRRdecimalyesCurrent recurring run rate for replacement/new state, zero for Cancel/OneTime
RenewablebooleanyesOnly signed eligible recurring lines; one-time hardware/setup never copied into recurring renewal
StatusselectyesPendingExecution, PendingVerification, Effective, Superseded, Ended
TermsHashtextyesExecuted exact version/operative contract terms
VerifiedByreference→ Users. Deal Desk
VerifiedAtdatetimeRequired before effect
CorrectionEvidencelongtextRequired links to approved credits, affected order/schedule allocations and fulfillment corrections when amendment touches already billed or fulfilled scope
FulfillmentEventsImmutable fulfillment evidence received from a configured ERP/provisioning/acceptance source, separate from invoice generation.transaction
FieldTypeRequiredDetails
SalesOrderLinereferenceyes→ SalesOrderLines
TypeselectyesShipment, Acceptance, Reversal
QuantitynumberyesPositive quantity in line units; a reversal references its original event
OccurredAtdatetimeyesActual event timestamp, not webhook receipt time
RecordedAtdatetimeyesReception time
Actorreference→ Users. Internal authorized recorder when applicable
ExternalActortextProvider or customer identity and authentication provenance
EvidenceattachmentShipment/provisioning proof or buyer acceptance
Reversesreference→ FulfillmentEvents. Exact original event; no reverse above unreversed quantity
Eventreferenceyes→ BusinessEvents. Unique source operation
StatusselectyesPending, Posted, Rejected, ReviewRequired
MigrationBatchreference→ MigrationBatches. Historical import/cutover provenance
SourceKeytextUnique source-system record/revision key; mandatory for imports, never regenerated on retry
ApprovalDelegationsReviewed, time-bounded named-user grants; delegation never changes the meaning of an approval decision or permits self-approval.transaction
FieldTypeRequiredDetails
Principalreferenceyes→ Users
Delegatereferenceyes→ Users. Active eligible approver with required role; principal cannot equal delegate
ScopeselectyesDiscount, Floor, Terms
Tierreference→ DiscountApprovalMatrix. Exact allowed tier, not unrestricted promotion
StartsAtdatetimeyesInclusive validity start
EndsAtdatetimeyesExclusive validity end
StatusselectyesDraft, Submitted, Approved, Rejected, Revoked, Expired
RequestedByreferenceyes→ Users. Principal or Admin on evidenced request
ApprovedByreference→ Users. Independent Admin or Executive Approver, excluding principal/delegate
ApprovedAtdatetimeRequired for authority
ReasonlongtextyesAbsence/coverage justification and limits
MasterChangesVersioned activation evidence for catalog/rules, pricing, tax, templates and approval policy; effective records are immutable.transaction
FieldTypeRequiredDetails
ChangeNumbertextyesUnique change identifier
ScopeselectyesCatalog, Rules, Pricing, Tax, QuoteTemplate, ContractTemplate, ApprovalMatrix, CreditPolicy, IntegrationPolicy
RecordKeyslongtextyesExact masters and child identities/versions, no live query as approval scope
ProposedContentlongtextyesCanonical complete proposed version snapshot
ContentHashtextyesHash approved for activation
StatusselectyesDraft, Submitted, Approved, Rejected, Activated, Retired
RequestedByreferenceyes→ Users. Authorized master owner
EditorslongtextyesNamed material editors excluded from approval
ApprovedByreference→ Users. Independent active Admin or Executive Approver
ApprovedAtdatetimeDecision bound to ContentHash
EffectiveAtdatetimeActivation time after tests and approval
ValidationEvidencelongtextRule convergence, matrix coverage/named users, price/floor/cost coverage or tax/template review as applicable
ConfigurationRuleHitsAppend-only configuration evaluation evidence, including rejected draft attempts, so failed saves and warnings remain reportable.transaction
FieldTypeRequiredDetails
Quotereferenceyes→ Quotes
Rulereference→ ProductRules
Actionreference→ RuleActions
BundleComponentreference→ BundleComponents
VersionNumbernumberyesWorking quote revision evaluated
SourceVersiontextyesImmutable rule/component revision
OutcomeselectyesAutoAdded, Removed, Blocked, Excluded, Recommended, Warned, Passed
QuantitynumberAffected quantity when applicable
OccurredAtdatetimeyesEvaluation time
AttemptKeytextyesStable submitted mutation/evaluation key; same attempt replay does not add hits
InputHashtextyesCanonical evaluated proposed configuration
DetaillongtextyesMessage, source and result evidence; saved separately when quote mutation is rejected
OpportunityItemsStaged CRM product payload with required mapping before any valid quote line is created.line
FieldTypeRequiredDetails
Opportunityreferenceyes→ Opportunities
SourceLineIDtextyesUnique CRM opportunity-item identity
SKUtextyesInbound product identifier
QuantitynumberyesPositive quantity
OptionsJSONlongtextInbound option identifiers and requested values
Productreference→ Products. Required before Status Mapped/Seeded
StatusselectyesUnmapped, Mapped, Seeded, Rejected
QuoteLinereference→ QuoteLines. One seeded line per opportunity-item/source revision
SourceRevisiontextyesCRM revision and payload hash
RenewalDecisionsOne controlled decision per expiring contract term. Records explicit notice/nonrenewal and the exact signed pricing authority used for either automatic or manual renewal.transaction
FieldTypeRequiredDetails
Contractreferenceyes→ Contracts
TermKeytextyesUnique contract plus expiring start/end and signed terms version
NoticeDeadlinedatetimeyesExact deadline and recorded timezone
StatusselectyesPending, NoticeReceived, Renewing, NonRenewing, Completed, ReviewRequired
DecisionselectRenew, DoNotRenew
DecisionAtdatetimeActual notice/decision time
RecordedByreference→ Users. Deal Desk for recorded decision
EvidenceattachmentCustomer notice or approved manual decision evidence
AuthorityHashtextyesOriginal executed automatic-renewal terms or newly accepted renewal version
PriceBasisselectyesPriorAcceptedNet, CurrentPriceBook
UpliftPercentdecimalyesSigned uplift applied exactly once
Quotereference→ Quotes. Single renewal quote, whether auto or manual
RenewalContractreference→ Contracts
GenerationEventreference→ BusinessEvents. Unique contract-term generation key
MigrationBatchreference→ MigrationBatches. Historical import/cutover provenance
SourceKeytextUnique source-system record/revision key; mandatory for imports, never regenerated on retry
BusinessEventsDurable local business-event inbox/outbox and atomic effect key. This is a required implementation contract, not a claim that integrations are live.transaction
FieldTypeRequiredDetails
EventKeytextyesUnique source namespace plus business operation/revision key
SourcetextyesAuthenticated connector, scheduled workflow or authorized user identity
KindtextyesValidated event kind, including acceptance/order/invoice/payment/credit/renewal operations
SourceRecordtextyesTyped table and immutable record/version identity
PayloadHashtextyesCanonical payload; changed payload under the same key is a conflict
PayloadlongtextyesImmutable complete input and accepted source references
StatusselectyesReceived, Claimed, Applied, Duplicate, Rejected, Quarantined, Uncertain
OccurredAtdatetimeyesBusiness occurrence time
ReceivedAtdatetimeyesReception time
AppliedAtdatetimeSet in same atomic transaction as local effects
EffectslongtextExact created/updated record IDs, before/after revisions and conserved quantities/amounts
MigrationBatchreference→ MigrationBatches. Imported events cannot replay suppressed live effects
EventDeliveriesPer-destination delivery attempts and acknowledgments separate local issue/release from external posting or provisioning.transaction
FieldTypeRequiredDetails
Eventreferenceyes→ BusinessEvents
DestinationtextyesConfigured CRM, signature, ERP, accounting, tax or email connection
IdempotencyKeytextyesUnique event/destination/version key reused on safe retry
StatusselectyesPending, Sending, Acknowledged, Uncertain, Rejected, Reconciled, Cancelled
RequestHashtextyesImmutable payload hash, including configured options/terms/allocations
AttemptsnumberyesAttempt count; unknown outcome does not authorize a fresh business event
LastAttemptAtdatetimeLast delivery attempt
ExternalReferencetextProvider object ID matched to request
AcknowledgedAtdatetimeActual external receipt/posting confirmation
ResponseEvidencelongtextAuthenticated response or reconciliation evidence; no fabricated API contract
ReconciledByreference→ Users. Authorized owner checks remote status before retry/compensation
FinanceAdjustmentsControlled immutable payment/application reversal, returned-cash and refund effects. A requested or uncertain bank refund has no confirmed money effect.finance
FieldTypeRequiredDetails
AdjustmentNumbertextyesUnique adjustment identifier
Accountreferenceyes→ Accounts
TypeselectyesApplicationReversal, Return, Refund
Paymentreference→ Payments. Required for Payment funding; must be empty for AccountCredit funding
Applicationreference→ PaymentApplications. Required for ApplicationReversal
CreditMemoreference→ CreditMemos. Required for AccountCredit-funded refund; must be empty for Payment funding
AmountdecimalyesPositive USD effect; bounded by unreversed application, retained payment or reserved credit
StatusselectyesDraft, Submitted, Approved, PendingConfirmation, Confirmed, Rejected, Uncertain
RequestedByreferenceyes→ Users. Billing Specialist
ApprovedByreference→ Users. Independent Executive Approver for refunds/returns or disputed corrections; policy may allow evidenced routine application reversal by Billing Specialist
ApprovedAtdatetimeBound to exact payload
ReasonlongtextyesBank return, remittance correction or approved refund with evidence
EvidenceattachmentRequired bank/processor confirmation for Confirmed cash effect
RelatedAdjustmentreference→ FinanceAdjustments. ApplicationReversal rows point to their grouped Return/Refund; group event identifies all included adjustments
Eventreferenceyes→ BusinessEvents. Unique atomic adjustment key
ConfirmedAtdatetimeActual money/reversal effect time
FundingSourceselectyesPayment, AccountCredit. Exactly one source; AccountCredit permits Refund only and never reduces original payment retained cash or applications
CreditMemoLinesOriginal invoice-line allocations bound the creditable net/tax value, including fully paid invoices.line
FieldTypeRequiredDetails
CreditMemoreferenceyes→ CreditMemos
InvoiceLinereferenceyes→ InvoiceLines. Must belong to the memo source invoice
NetAmountdecimalyesPositive credit no greater than original net minus prior issued credits on line
TaxAmountdecimalyesTax credit supported by original final tax and correction policy; nonnegative and within remaining original tax
ReasonlongtextyesCorrected scope and accepted price/discount allocation basis
AccountCreditApplicationsSpends a credit memo surplus once, on an invoice or a confirmed refund, while preserving the source invoice historical payment trail.finance
FieldTypeRequiredDetails
CreditMemoreferenceyes→ CreditMemos. Source surplus AccountCreditAmount
Invoicereference→ Invoices. Exactly one destination: same-account finalized issued invoice or Refund
Refundreference→ FinanceAdjustments. Exactly one destination; Type Refund and same credit/account
AmountdecimalyesPositive amount, atomically reserved against remaining source credit
StatusselectyesReserved, Posted, Cancelled, Reversed. Refund reservation posts only with confirmed cash effect; reversal is a guarded evidenced action, not editable status
AppliedAtdatetimeTime invoice application or confirmed refund posts
AppliedByreferenceyes→ Users. Billing Specialist
Eventreferenceyes→ BusinessEvents. Unique application operation
ReversalEventreference→ BusinessEvents. Required to reverse an invoice-directed posted use; reopens that invoice and restores source surplus atomically
ReversalEvidencelongtextReason and original use; a confirmed refund cannot simply be reversed to fabricate returned funds
MigrationBatchesReviewed historical import and cutover boundary with stable source keys, staged references and live-trigger suppression.transaction
FieldTypeRequiredDetails
BatchNumbertextyesUnique source/cutover batch
SourceSystemtextyesLegacy authority and namespace
CutoffAtdatetimeyesExact cutover timestamp/timezone and source watermark
ModeselectyesHistoryOnly, OpeningOperations, QuotingOnly
StatusselectyesStaged, Reconciled, Approved, Activated, Rejected
MappingJSONlongtextyesStable source-to-target identities, two-pass references and original event IDs
EvidenceattachmentOpening balances, accepted/signature/approval records, external IDs and live-system responsibility
SuppressedEffectslongtextyesExplicit sends, acceptance generation, orders, invoices, cash posting and renewals disabled for historical events
ReconciliationJSONlongtextyesOriginal invoice totals, prior credits, net applications, retained/unapplied cash, accepted/order/unbilled allocations and signed contract terms
ApprovedByreference→ Users. Independent Executive Approver or Admin, with Deal Desk commercial and Billing Specialist finance signoffs in evidence
ApprovedAtdatetimeRequired before activation
QuotingEnabledbooleanyesSeparate from billing/contract-generation handover
DownstreamEnabledbooleanyesFalse in QuotingOnly until separately reviewed source ownership and opening schedules reconcile
ERP•AI workspace

Start now CPQ & Quote-to-Cash

Create your ERP.AI account and get started with Proto.

Start now Download agent
Previous · reference 2 of 6Reports and dashboardsNext · reference 4 of 6Integrations

Customize CPQ & Quote-to-Cash. With Proto, your desktop AI agent.

Ask Proto to help you customize CPQ & Quote-to-Cash.

Customize
CPQ & Quote-to-Cash.
Ask: “Adapt Configurator.”
ProtoYour desktop AI agent
Download nowFree install · ~1 GB · AI usage extra
macOSWindowsLinux

Bring your first idea to Proto.

Keep this page open while you install Proto. Connect your account and model, then paste this into a new chat.

AI usage is paid separately. You can edit the prompt before copying.

ERP.AI

Business apps and the Proto desktop agent.

  • Business Apps
  • Proto
  • Workflows
  • Headless SaaS
  • Enterprise
  • Pricing
  • Contact
  • Terms of Service
  • Privacy Policy
  • Cookie Policy
© 2026 ERP•AI. All rights reserved.
System status

Your Privacy, Your Choice

We use essential cookies to run the site and optional cookies for features, analytics, and relevant content. See Cookie policy

Manage Your Cookie Preferences

We use cookies to enhance your experience, analyze site traffic, and serve relevant content. By clicking "Accept All," you agree to our use of cookies. You can customize your preferences at any time.

Learn more about how we use cookies

These cookies are required for the website to function properly. They ensure security, enable basic features like page navigation, and store user session data. You cannot disable these cookies.

These cookies enable additional features that enhance your experience, such as live chat, video playback, personalized content recommendations, and remembering user preferences.

These cookies help us understand how visitors interact with our site by collecting anonymous usage data. This allows us to measure performance, detect issues, and continuously improve the user experience.

These cookies allow us and advertising partners, including X, to deliver ads tailored to your interests. They track browsing habits across sites to provide relevant advertising and measure ad effectiveness.