Skip to main content Enter
ERP.AI Procurement

Procurement

Start now
Pricing Questions Get started
Build with Proto

Modules

Suppliers and catalogChoose qualified suppliers and give purchasing teams a catalog with the information needed to order. Contracts and pricingApply negotiated prices, control agreement commitments and prepare renewals before approved capacity or contract terms run out. Requisitions and approvalsRoute purchase requests to the right people and preserve the approved amount, scope and version through sourcing. Quote requestsCompare supplier quotes on a consistent scope, record the award decision and carry the selected offer into purchasing.
Purchase ordersKeep purchasing authority, supplier terms, revisions and receipt progress together from draft order through close. Receipts and expeditingConfirm what was accepted, keep outstanding deliveries in view and give accounts payable the evidence needed to match. Supplier performanceReview delivery, quality and price evidence separately, then use published scorecards to inform sourcing decisions.

Procurement

Start now
Pricing Questions Get started
Build with Proto

Processes

Requisition to receiptConnect purchase requests, recorded spending authority and accepted deliveries through to the invoice-matching handoff. Competitive sourcingCompare eligible suppliers on a frozen scope and carry the chosen offer into an independently authorised purchase order. Change ordersReview the full effect of order changes, preserve cumulative spending authority and keep suppliers on the approved revision.
Supplier onboardingVerify supplier identity, terms and qualifications before purchasing, then apply clear controls when status changes. Blanket releasesOrder within an approved agreement while keeping its term, pricing, remaining capacity and delivery obligations reconciled.

Procurement

Start now
Pricing Questions Get started
Build with Proto

Industries

Multi-site manufacturersKeep maintenance, tooling and indirect purchasing moving across your plants. Healthcare systemsConnect hospital and clinic purchasing with your agreements, reviewers and receiving teams.
Government contractorsKeep sourcing decisions, purchase approvals and supplier evidence connected to your contract work. Multi-site services organizationsGive every location a clear way to buy services, supplies and equipment.

Procurement

Start now
Pricing Questions Get started
Build with Proto

Reference

Roles and permissionsGive every purchasing participant the access they need, with clear responsibility for requests, approvals and receipts. Reports and dashboardsUnderstand purchasing commitments, contract use and supplier delivery, with the detail behind every result. Data modelUnderstand the records behind requests, approvals, orders and deliveries before connecting or migrating your data.
IntegrationsConnect purchasing with finance, receiving and your suppliers while keeping document revisions in step. ImplementationBuild a purchasing rollout around your approval policy, supplier relationships and finance connections. AI agentsHelp your purchasing team prepare requests, investigate exceptions and follow up on orders.

Procurement

Start now
Pricing Questions Get started
Build with Proto
All systems
Modules
Suppliers and catalogChoose qualified suppliers and give purchasing teams a catalog with the information needed to order.Contracts and pricingApply negotiated prices, control agreement commitments and prepare renewals before approved capacity or contract terms run out.Requisitions and approvalsRoute purchase requests to the right people and preserve the approved amount, scope and version through sourcing.Quote requestsCompare supplier quotes on a consistent scope, record the award decision and carry the selected offer into purchasing.Purchase ordersKeep purchasing authority, supplier terms, revisions and receipt progress together from draft order through close.Receipts and expeditingConfirm what was accepted, keep outstanding deliveries in view and give accounts payable the evidence needed to match.Supplier performanceReview delivery, quality and price evidence separately, then use published scorecards to inform sourcing decisions.
Processes
Requisition to receiptConnect purchase requests, recorded spending authority and accepted deliveries through to the invoice-matching handoff.Competitive sourcingCompare eligible suppliers on a frozen scope and carry the chosen offer into an independently authorised purchase order.Change ordersReview the full effect of order changes, preserve cumulative spending authority and keep suppliers on the approved revision.Supplier onboardingVerify supplier identity, terms and qualifications before purchasing, then apply clear controls when status changes.Blanket releasesOrder within an approved agreement while keeping its term, pricing, remaining capacity and delivery obligations reconciled.
Industries
Multi-site manufacturersKeep maintenance, tooling and indirect purchasing moving across your plants.Healthcare systemsConnect hospital and clinic purchasing with your agreements, reviewers and receiving teams.Government contractorsKeep sourcing decisions, purchase approvals and supplier evidence connected to your contract work.Multi-site services organizationsGive every location a clear way to buy services, supplies and equipment.
Reference
Roles and permissionsGive every purchasing participant the access they need, with clear responsibility for requests, approvals and receipts.Reports and dashboardsUnderstand purchasing commitments, contract use and supplier delivery, with the detail behind every result.Data modelUnderstand the records behind requests, approvals, orders and deliveries before connecting or migrating your data.IntegrationsConnect purchasing with finance, receiving and your suppliers while keeping document revisions in step.ImplementationBuild a purchasing rollout around your approval policy, supplier relationships and finance connections.AI agentsHelp your purchasing team prepare requests, investigate exceptions and follow up on orders.
Sign in
Sign in Start now
Procurement 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

Understand the records behind requests, approvals, orders and deliveries before connecting or migrating your data.

40 tables · 207 relationships

This page describes the purchasing model for configuration and integration planning. Review it with the team responsible for your source data, approval policy and finance connections. The table definitions document the intended application; endpoint availability and runtime behavior are verified during implementation.

Data model 37 of 40 tables drawn
mastertransactionline item Suppliers.StatusChangedBy → Users Suppliers.MigrationBatch → MigrationBatches Departments.DepartmentHead → Users Departments.MigrationBatch → MigrationBatches CostCenters.Department → Departments CostCenters.BudgetOwner → Users CostCenters.MigrationBatch → MigrationBatches Locations.Department → Departments Users.Department → Departments Users.CostCenter → CostCenters Users.Supplier → Suppliers Users.MigrationBatch → MigrationBatches Items.Category → Categories Items.PrimarySupplier → Suppliers ContractRates.Supplier → Suppliers ContractRates.Item → Items ContractRates.MasterAgreement → MasterAgreements ContractRates.PreparedBy → Users MasterAgreements.Supplier → Suppliers MasterAgreements.Category → Categories MasterAgreements.Department → Departments MasterAgreements.OwnerBuyer → Users MasterAgreements.CostCenter → CostCenters MasterAgreements.SpendApproval → SpendApprovals MasterAgreements.MigrationBatch → MigrationBatches ApprovalMatrix.Department → Departments ApprovalMatrix.Category → Categories ApprovalMatrix.ApproverUser → Users ApprovalMatrix.CostCenter → CostCenters ApprovalDelegations.Delegator → Users ApprovalDelegations.Department → Departments ApprovalDelegations.CostCenter → CostCenters ApprovalDelegations.Category → Categories PurchaseRequisitions.Requester → Users PurchaseRequisitions.Department → Departments PurchaseRequisitions.CostCenter → CostCenters PurchaseRequisitions.ConvertedToPO → PurchaseOrders PurchaseRequisitions.ConvertedToRFQ → RFQs PurchaseRequisitions.ConvertedToRelease → BlanketReleases PurchaseRequisitions.SpendApproval → SpendApprovals PurchaseRequisitions.ConversionEvent → ProcurementEvents PurchaseRequisitions.MigrationBatch → MigrationBatches ApprovalSteps.Requisition → PurchaseRequisitions ApprovalSteps.PurchaseOrder → PurchaseOrders ApprovalSteps.Amendment → POAmendments ApprovalSteps.ApprovalRule → ApprovalMatrix ApprovalSteps.Approver → Users ApprovalSteps.SpendApproval → SpendApprovals ApprovalSteps.MasterAgreement → MasterAgreements ApprovalSteps.Delegation → ApprovalDelegations RFQs.FromRequisition → PurchaseRequisitions RFQs.IssuedBy → Users RFQs.AwardedSupplier → Suppliers RFQs.AwardedResponse → RFQResponses RFQs.AwardedPO → PurchaseOrders RFQs.Department → Departments RFQs.CostCenter → CostCenters RFQs.MigrationBatch → MigrationBatches RFQResponses.RFQ → RFQs RFQResponses.Supplier → Suppliers RFQResponses.SubmittedBy → Users PurchaseOrders.Supplier → Suppliers PurchaseOrders.FromRequisition → PurchaseRequisitions PurchaseOrders.FromRFQAward → RFQResponses PurchaseOrders.MasterAgreement → MasterAgreements PurchaseOrders.ShipToLocation → Locations PurchaseOrders.Buyer → Users PurchaseOrders.Department → Departments PurchaseOrders.CostCenter → CostCenters PurchaseOrders.SpendApproval → SpendApprovals PurchaseOrders.MigrationBatch → MigrationBatches PurchaseOrders.APCompletionEvent → ProcurementEvents POAmendments.PO → PurchaseOrders POAmendments.RequestedBy → Users POAmendments.SpendApproval → SpendApprovals POAmendments.AppliedEvent → ProcurementEvents POAmendments.MigrationBatch → MigrationBatches Receipts.PO → PurchaseOrders Receipts.Supplier → Suppliers Receipts.ReceivedBy → Users Receipts.ReceivingLocation → Locations Receipts.PostedEvent → ProcurementEvents Receipts.MigrationBatch → MigrationBatches SupplierReturns.Receipt → Receipts SupplierReturns.ReceiptLine → ReceiptLineItems SupplierReturns.PO → PurchaseOrders SupplierReturns.Supplier → Suppliers SupplierReturns.Item → Items SupplierReturns.RaisedBy → Users SupplierReturns.PostedEvent → ProcurementEvents SupplierReturns.MigrationBatch → MigrationBatches MatchExceptions.PO → PurchaseOrders MatchExceptions.POLine → POLineItems MatchExceptions.Receipt → Receipts MatchExceptions.Supplier → Suppliers MatchExceptions.Owner → Users MatchExceptions.InboundEvent → ProcurementEvents BlanketReleases.MasterAgreement → MasterAgreements BlanketReleases.Supplier → Suppliers BlanketReleases.GeneratedPO → PurchaseOrders BlanketReleases.RequestedBy → Users BlanketReleases.Department → Departments BlanketReleases.CostCenter → CostCenters BlanketReleases.ReleaseEvent → ProcurementEvents BlanketReleases.SpendApproval → SpendApprovals BlanketReleases.MigrationBatch → MigrationBatches Expediting.PO → PurchaseOrders Expediting.POLine → POLineItems Expediting.Supplier → Suppliers Expediting.Owner → Users SupplierPerformance.Supplier → Suppliers SupplierPerformance.PublishedBy → Users SpendApprovals.Requisition → PurchaseRequisitions SpendApprovals.PurchaseOrder → PurchaseOrders SpendApprovals.Amendment → POAmendments SpendApprovals.MasterAgreement → MasterAgreements SpendApprovals.DecisionBy → Users CommitmentAllocations.Event → ProcurementEvents CommitmentAllocations.PurchaseOrder → PurchaseOrders CommitmentAllocations.POLine → POLineItems CommitmentAllocations.SpendApprovalLine → SpendApprovalLines CommitmentAllocations.MasterAgreement → MasterAgreements CommitmentAllocations.BlanketRelease → BlanketReleases CommitmentAllocations.Amendment → POAmendments ProcurementEvents.PurchaseOrder → PurchaseOrders ProcurementEvents.Receipt → Receipts ProcurementEvents.SupplierReturn → SupplierReturns ProcurementEvents.MigrationBatch → MigrationBatches ProcurementEvents.Actor → Users IntegrationDeliveries.Event → ProcurementEvents IntegrationDeliveries.ReconciledBy → Users MigrationBatches.PreparedBy → Users SupplierCertifications.Supplier → Suppliers SupplierCertifications.VerifiedBy → Users RequisitionLines.Requisition → PurchaseRequisitions RequisitionLines.Item → Items RequisitionLines.SuggestedSupplier → Suppliers RequisitionLines.Category → Categories RFQLines.RFQ → RFQs RFQLines.Item → Items RFQLines.FromRequisitionLine → RequisitionLines RFQLines.Category → Categories RFQInvitedSuppliers.RFQ → RFQs RFQInvitedSuppliers.Supplier → Suppliers BidComparisonScores.RFQ → RFQs BidComparisonScores.RFQResponse → RFQResponses BidComparisonScores.Scorecard → SupplierPerformance POLineItems.PO → PurchaseOrders POLineItems.Item → Items POLineItems.ContractRate → ContractRates POLineItems.Category → Categories POLineItems.FromRequisitionLine → RequisitionLines POLineItems.FromRFQLine → RFQLines ReceiptLineItems.Receipt → Receipts ReceiptLineItems.POLine → POLineItems ReceiptLineItems.Item → Items ReceiptLineItems.ExclusionApprovedBy → Users BlanketReleaseLines.Release → BlanketReleases BlanketReleaseLines.Item → Items BlanketReleaseLines.ContractRate → ContractRates BlanketReleaseLines.Category → Categories BlanketReleaseLines.GeneratedPOLine → POLineItems SpendApprovalLines.SpendApproval → SpendApprovals SpendApprovalLines.Department → Departments SpendApprovalLines.CostCenter → CostCenters SpendApprovalLines.Category → Categories SpendApprovalLines.Supplier → Suppliers SpendApprovalLines.Item → Items SpendApprovalLines.RequisitionLine → RequisitionLines SpendApprovalLines.POLine → POLineItems SuppliersmasterSupplierCodeStatusParentCompany DepartmentsmasterDepartmentCodeDepartmentHeadMigrationBatch CostCentersmasterCostCenterCodeDepartmentBudgetOwner LocationsmasterLocationCodeDepartmentLocationName UsersmasterUserCodeDepartmentCostCenter CategoriesmasterCategoryCodeParentCategoryCategoryName ItemsmasterItemCodeCategoryPrimarySupplier ContractRatesmasterStatusSupplierItem MasterAgreementsmasterAgreementNumberStatusSupplier ApprovalMatrixmasterRuleCodeDepartmentCategory ApprovalDelegationsmasterDelegatorDelegateDepartment PurchaseRequisitionstransactionReqNumberStatusRequester ApprovalStepstransactionStepNumberStatusRequisition RFQstransactionRFQNumberStatusFromRequisition RFQResponsestransactionResponseNumberStatusRFQ PurchaseOrderstransactionPONumberStatusSupplier POAmendmentstransactionAmendmentNumberStatusPO ReceiptstransactionReceiptNumberStatusPO SupplierReturnstransactionReturnNumberStatusDisposition MatchExceptionstransactionExceptionNumberStatusPO BlanketReleasestransactionReleaseNumberStatusMasterAgreement ExpeditingtransactionExpediteNumberStatusPO SupplierPerformancetransactionScorecardNumberStatusSupplier SpendApprovalstransactionApprovalNumberStatusRequisition CommitmentAllocationstransactionAllocationNumberStatusEvent ProcurementEventstransactionStatusPurchaseOrderReceipt IntegrationDeliveriestransactionStatusEventReconciledBy MigrationBatchestransactionBatchNumberStatusPreparedBy SupplierCertificationslineCertNumberStatusSupplier RequisitionLineslineProjectCodeStatusRequisition RFQLineslineProjectCodeRFQItem RFQInvitedSupplierslineResponseStatusRFQSupplier BidComparisonScoreslineRFQRFQResponseScorecard POLineItemslineProjectCodeStatusPO ReceiptLineItemslineLotNumberStatusReceipt BlanketReleaseLineslineProjectCodeReleaseItem SpendApprovalLineslineSpendApprovalDepartmentCostCenter
Data model37 of 40 tables, within two hops of PurchaseRequisitions

How the model is organised

Master data

Suppliers with SupplierContacts and SupplierCertifications; Departments, CostCenters, Locations and Users; Categories and Items; MasterAgreements and ContractRates; ApprovalMatrix and ApprovalDelegations. Effective policy and qualification evidence remain traceable to their reviewed version.

  • Suppliers
  • SupplierContacts
  • SupplierCertifications
  • Departments
  • CostCenters
  • Locations
  • Users
  • Categories
  • Items
  • ContractRates
  • MasterAgreements
  • ApprovalMatrix
  • ApprovalDelegations

Requests and authority

PurchaseRequisitions with RequisitionLines and assigned ApprovalSteps. SpendApprovals and SpendApprovalLines preserve the approved amount and scope separately from a request's later conversion status. CommitmentAllocations prevent several resulting orders from spending the same authority repeatedly.

  • PurchaseRequisitions with RequisitionLines
  • assigned ApprovalSteps

Sourcing

RFQs with RFQLines and RFQInvitedSuppliers; RFQResponses with RFQResponseLines; and BidComparisonScores. An award records supplier selection and must not be treated as a new spending approval.

  • RFQs with RFQLines
  • RFQInvitedSuppliers; RFQResponses with RFQResponseLines;
  • BidComparisonScores

Orders and changes

PurchaseOrders and POLineItems; POAmendments and POAmendmentLines; BlanketReleases and BlanketReleaseLines against an agreement. Approval, order revision, cumulative changes and agreement consumption must reconcile before an amendment is applied.

  • PurchaseOrders
  • POLineItems; POAmendments
  • POAmendmentLines; BlanketReleases
  • BlanketReleaseLines against an agreement

Receiving and exceptions

Receipts and ReceiptLineItems, SupplierReturns, MatchExceptions and Expediting. Accepted quantities satisfy order obligations; rejected arrivals and partial deliveries retain their separate disposition and outstanding work.

  • Receipts
  • ReceiptLineItems
  • SupplierReturns
  • MatchExceptions
  • Expediting

Performance

SupplierPerformance retains the reviewed period result. Reject-based quality and on-time delivery answer different questions and are not interchangeable scoring inputs.

  • SupplierPerformance retains the reviewed period result

Replay and migration

ProcurementEvents identify once-only local effects. IntegrationDeliveries tracks each destination separately. MigrationBatches identifies the reviewed historical baseline and its source records, with normal posting and outbound delivery suppressed during import.

  • ProcurementEvents identify once-only local effects

Keys and references

Keep immutable identifiers and source-system record IDs alongside document numbers. References connect each receipt or amendment line to the exact order line; approval records retain the revision and scope reviewed. Resolve organizational references to real records before activation rather than relying on typed department or approver names. The baseline model uses USD amounts; additional currency support needs an explicitly designed conversion and approval policy.

An event retains its unique key and payload digest. Replaying the same event cannot repeat a local effect, and a conflicting payload requires investigation. Each destination retains its own acknowledgment and revision so a failed finance delivery can be retried without reposting receipt quantities.

Migration order

  1. 1 Agree the source cutoff, identifier mapping, baseline totals and owners for orders, receipts, inventory and invoice matching. Create a MigrationBatches record and keep imported work inactive until reconciliation passes.
  2. 2 Stage Departments, CostCenters, Locations and Users with preallocated IDs. Resolve department heads, budget owners and user assignments in a second pass, then validate every required reference before activating the masters.
  3. 3 Load Categories and the reviewed ApprovalMatrix, named tier owners and eligible dated ApprovalDelegations. Preserve policy versions needed to explain historical decisions.
  4. 4 Load Suppliers, SupplierContacts and SupplierCertifications with the supporting review evidence; then Items, MasterAgreements and ContractRates in reference order.
  5. 5 Load requests and sourcing records with their lines, invitations, responses and decision history. Establish SpendApprovals only from verifiable legacy authority; unresolved approval evidence returns the affected work for review.
  6. 6 Load open PurchaseOrders, POLineItems, amendments and blanket releases with their approved scope and remaining commitment. Resolve linked records in a second pass where necessary and reconcile CommitmentAllocations to both spending authority and agreement capacity.
  7. 7 Set each open order line's BaselineAcceptedQty from the reconciled cutoff. Import historical receipts, returns and match exceptions as baseline evidence with local effects and outbound messages suppressed. Historical rejected quantities do not satisfy the order; returning already rejected goods must not reduce accepted quantities again.
  8. 8 Reconcile current received quantity to the baseline plus live net accepted effects. Compare open quantities, order values, agreement capacity and in-flight invoice references with the old systems. Assign one owner for inventory movements and do not replay historical receipts into that ledger.
  9. 9 Load reviewed SupplierPerformance history with its period and calculation basis. Confirm that imports have not triggered supplier emails, new approvals or duplicate integrations.
  10. 10 Approve the baseline, activate access and enable live events from the agreed checkpoints. Test recovery of an interrupted event and a failed destination delivery before retiring the previous process.

Tables

40 tables
SuppliersThe supplier master: the legal vendor identity that is ordered from and, through accounts payable, paid. Holds EIN, status lifecycle and the GSA contract reference. Vendor risk and financial health live in the vendor management layer; this row is the buy-side identity.master
FieldTypeRequiredDetails
SupplierCodetextyesInternal supplier ID
NametextyesLegal name
DBAtextDoing-business-as name
EINtextyesUS Employer Identification Number; masked except Admin / Procurement Manager
ParentCompanyreference→ Suppliers (self) for subsidiaries
StatusselectyesOnboarding, Active, Suspended, Blocked; state controls follow the supplier policy below; transitions require Procurement Manager or Admin review
PreferredSuppliertoggleSurfaces first in catalog search
GSAContractNumbertextFor GSA Schedule purchases
RemitToAddresstext
ShipFromAddresstext
DefaultPaymentTermsselectNet 15, Net 30, Net 45, Net 60, 2/10 Net 30, Prepaid
DefaultFOBPointselectOrigin, Destination
DefaultFreightTermsselectCollect, Prepaid, PrepaidAndAdd, ThirdParty
W9OnFiletoggleRead from the accounts payable vendor record
OnboardedAtdate
ActivetoggleyesDirectory availability only; cannot override Status eligibility
StatusChangedByreference→ Users (Procurement Manager or Admin; required evidence remains independently verified)
StatusChangedAtdatetimeRequired for a status decision
StatusReasonlongtextRequired decision evidence; prior transitions retained in ProcurementEvents
SourceSystemtextyesOrigin namespace; local for native records
SourceRecordIDtextyesStable source identity; unique with SourceSystem
ImportModeselectyesLive, HistoricalBaseline; baseline records activate only through an approved migration batch
MigrationBatchreference→ MigrationBatches (required for HistoricalBaseline)
SourceRevisionnumberyesIncreasing source revision; identical replay is a no-op and conflicting payload for the same revision is rejected
SupplierContactsBuyer-facing contacts at the supplier: sales rep, customer service, accounts receivable, expediter. Line item of Suppliers.line item
FieldTypeRequiredDetails
Supplierreferenceyes→ Suppliers
ContactNametextyes
Titletext
Emailtextyes
Phonetext
RoleselectyesSalesRep, CustomerService, Expediter, AR, Executive, Other
PrimarytogglePrimary contact for RFQ / PO emails
Activetoggleyes
SupplierCertificationsConfigured supplier qualification evidence, reviewed for the relevant activity, location and validity period. The retained category labels include standards, registrations, assessments and diversity qualifications; they are not all certificates and none independently establishes legal compliance. Supplier-submitted evidence remains Pending until the Procurement Manager verifies its stated scope. Line item of Suppliers.line item
FieldTypeRequiredDetails
Supplierreferenceyes→ Suppliers
CertTypeselectyesISO9001, AS9100, ISO13485, ISO14001, NIST800171, ITAR, SOC2, FDA, OSHA, MBE, WBE, SDVOSB, VOSB, HUBZone, DBE, Other
CertNumbertext
IssuingBodytext
IssueDatedateyesEvidence issue or effective date; do not fabricate a registration date
ExpirationDatedateyesReviewed expiry or next required review date where evidence has no expiry
DocumentURLtextSupporting evidence or certificate where applicable
VerifiedByreference→ Users (Procurement Manager)
VerifiedAtdate
StatusselectyesPending, Active, Expired, Revoked
EvidenceKindselectyesCertificate, Registration, Assessment, Attestation, Other
ScopelongtextyesProducts, locations, activities and limitations covered
ReviewNoteslongtextReviewer assessment against configured category requirements; no automatic regulatory qualification
DepartmentsThe organisational units that raise requisitions and own approval rows. The department head is the person the ApprovalMatrix resolves for ApproverRole DepartmentHead.master
FieldTypeRequiredDetails
DepartmentCodetextyes
DepartmentNametextyes
DepartmentHeadreferenceyes→ Users; resolves ApproverRole DepartmentHead
Activetoggleyes
SourceSystemtextyesOrigin namespace; local for native records
SourceRecordIDtextyesStable source identity; unique with SourceSystem
ImportModeselectyesLive, HistoricalBaseline; baseline records activate only through an approved migration batch
MigrationBatchreference→ MigrationBatches (required for HistoricalBaseline)
SourceRevisionnumberyesIncreasing source revision; identical replay is a no-op and conflicting payload for the same revision is rejected
CostCentersBudget units within a department. The budget owner is the person the ApprovalMatrix resolves for ApproverRole BudgetOwner.master
FieldTypeRequiredDetails
CostCenterCodetextyes
CostCenterNametextyes
Departmentreferenceyes→ Departments
BudgetOwnerreferenceyes→ Users; resolves ApproverRole BudgetOwner
Activetoggleyes
SourceSystemtextyesOrigin namespace; local for native records
SourceRecordIDtextyesStable source identity; unique with SourceSystem
ImportModeselectyesLive, HistoricalBaseline; baseline records activate only through an approved migration batch
MigrationBatchreference→ MigrationBatches (required for HistoricalBaseline)
SourceRevisionnumberyesIncreasing source revision; identical replay is a no-op and conflicting payload for the same revision is rejected
LocationsShip-to and receiving places: a dock managed by the warehouse system, an office where desk deliveries land, or a site. The PO ships to one and the receipt is taken at one.master
FieldTypeRequiredDetails
LocationCodetextyes
LocationNametextyes
LocationTypeselectyesDock, Office, Site
Addresstextyes
Departmentreference→ Departments; the department that occupies it
WMSManagedtoggleReceipts at this location are written by the warehouse system
Activetoggleyes
UsersInternal user directory for everyone who requests, approves, buys or receives. Department and cost centre default onto a new requisition; ApprovalMatrix.ApproverUser and every Buyer, Approver, Owner and ReceivedBy column point here.master
FieldTypeRequiredDetails
UserCodetextyesEmployee or login ID
FullNametextyes
Emailtextyes
Departmentreferenceyes→ Departments; defaults onto PurchaseRequisitions.Department
CostCenterreference→ CostCenters; defaults onto PurchaseRequisitions.CostCenter
JobTitletext
Managerreference→ Users (self); reporting line, not an approval role
ApprovalLimitcurrencyUSD ceiling for a hand-raised PO with no requisition, RFQ award or blanket release; null or zero disables the explicit Buyer-limit exception; never authorises amendments
Activetoggleyes
RoleselectyesAdmin, Procurement Manager, Buyer, Requester, Approver, Receiving Clerk, Supplier, Controller, Viewer; one primary application role per directory row
BuyerLimitPolicytextRequired versioned policy authorising a Buyer-limit exception and its department/category restrictions
BuyerLimitApprovedByreference→ Users (Procurement Manager other than this Buyer)
BuyerLimitEffectiveTodateRequired expiry for delegated Buyer-limit authority
Supplierreference→ Suppliers (required only for Supplier portal identity; cannot be changed by the supplier)
SourceSystemtextyesOrigin namespace; local for native records
SourceRecordIDtextyesStable source identity; unique with SourceSystem
ImportModeselectyesLive, HistoricalBaseline; baseline records activate only through an approved migration batch
MigrationBatchreference→ MigrationBatches (required for HistoricalBaseline)
SourceRevisionnumberyesIncreasing source revision; identical replay is a no-op and conflicting payload for the same revision is rejected
CategoriesPurchasing taxonomy aligned to UNSPSC (United Nations Standard Products and Services Code). Drives ApprovalMatrix scoping, RFQ eligibility, the contract requirement and the spend hierarchy.master
FieldTypeRequiredDetails
CategoryCodetextyesUNSPSC class or internal code
CategoryNametextyes
ParentCategoryreference→ Categories (self)
UNSPSCSegmenttext2-digit UNSPSC segment
RequiresContracttoggleSoft control: a PO line in this category with no ContractRate or MasterAgreement is flagged OffContract, held for the Procurement Manager and reported in Maverick Spend
RequiredCertTypeselectISO9001, AS9100, ISO13485, ISO14001, NIST800171, ITAR, SOC2, FDA, OSHA; configured evidence category, not a compliance finding; supplier needs Active reviewed evidence covering the line scope at invitation, award and order issuance
Activetoggleyes
QualificationRequirementslongtextScope and review criteria for required evidence; additional jurisdiction-specific assessment belongs to the configured implementation
ItemsThe purchasable item, part or service catalog. Distinct from the inventory system's SKU master; this is the buy-side view (manufacturer part, supplier part, list price, lead time, MOQ). For stocked items the two reconcile by SKU.master
FieldTypeRequiredDetails
ItemCodetextyesInternal item code
Descriptiontextyes
Categoryreferenceyes→ Categories
ItemTypeselectyesStocked, NonStocked, Service, Capital, Subscription
UOMtextyesEA, BX, CS, LB, FT, HR, MO
ManufacturerNametext
ManufacturerPartNumbertextMPN
SupplierPartNumbertextSupplier's part number
PrimarySupplierreference→ Suppliers
BasePricecurrencyList price for budget estimates
LeadTimeDaysnumber
MOQnumberMinimum order quantity
HazmatFlagtoggle
Activetoggleyes
ContractRatesNegotiated prices: a Supplier × Item price valid for a date window, sometimes above a minimum quantity, tied to a master agreement when one exists. The contract-pricing-validation workflow reads this to guardrail buyer-entered prices.master
FieldTypeRequiredDetails
Supplierreferenceyes→ Suppliers
Itemreferenceyes→ Items
ContractPricecurrencyyesUSD per UOM; masked from Requester, Viewer and Approver
MinQtynumberMinimum quantity for this rate
EffectiveFromdateyes
EffectiveTodateyes
MasterAgreementreference→ MasterAgreements
SourceselectyesNegotiated, GSA, GPO, RFQAward, Catalog
StatusselectyesDraft, Active, Expired, Superseded, Cancelled; Buyer may draft, Procurement Manager approves activation
Notestext
PreparedByreferenceyes→ Users
ActivatedByreference→ Users (Procurement Manager other than PreparedBy)
ActivatedAtdatetimeRequired before Active
RevisionnumberyesImmutable once referenced by a submitted document; corrections create a new rate revision
MasterAgreementsUmbrella contracts with one supplier that authorise a total commitment, with BlanketReleases calling off against it. A GPO or cooperative contract is recorded per supplier with the contracting party named. Tracks renewal so the Procurement Manager renegotiates before lapse.master
FieldTypeRequiredDetails
AgreementNumbertextyes
Supplierreferenceyes→ Suppliers
Titletextyes
AgreementTypeselectyesDirect, GPO, Cooperative, GSA
ContractingPartytextThe GPO or cooperative when the agreement was not negotiated directly
Categoryreference→ Categories
Departmentreference→ Departments; null = releases open to every department
StartDatedateyes
EndDatedateyes
TermYearsnumber
TotalCommitcurrencyyesUSD authorised maximum, equal to the current Approved SpendApprovals.ApprovedMaximum
Spentformulayesfx: SUM(CommitmentAllocations.AmountDelta WHERE MasterAgreement = this agreement AND Status = Posted); signed reservations including amendments and baseline, not initial release totals
Remainingformulayesfx: TotalCommit − Spent; nonnegative, checked atomically before committing a release or increase
RenewalNoticeselectT-30, T-60, T-90, T-120
StatusselectyesDraft, PendingApproval, Active, Expiring, Renewed, Expired, Terminated; Active requires an approved ceiling and signed evidence
OwnerBuyerreference→ Users
ContractURLtextSigned PDF
CostCenterreference→ CostCenters (null means all cost centres within approved department scope)
SpendApprovalreference→ SpendApprovals (current approved agreement ceiling and scope)
SourceRevisionnumberyesChanging ceiling, scope, supplier or terms requires a new approval revision
SignedByreference→ Users (Procurement Manager)
SignedAtdatetimeRequired before Active; signing does not replace matrix spend approval
SourceSystemtextyesOrigin namespace; local for native records
SourceRecordIDtextyesStable source identity; unique with SourceSystem
ImportModeselectyesLive, HistoricalBaseline; baseline records activate only through an approved migration batch
MigrationBatchreference→ MigrationBatches (required for HistoricalBaseline)
ApprovalMatrixEffective-dated approval rules for Department × CostCenter × Category × full-document USD routing amount × tier. All matching specific and wildcard rows apply; required steps are unioned, not replaced by a narrower match. Routing must cover every distinct line scope and amount, or submission blocks.master
FieldTypeRequiredDetails
RuleCodetextyes
Departmentreference→ Departments; null = all departments
Categoryreference→ Categories; null = all categories
AmountBandFromcurrencyyesUSD inclusive lower bound; compare full routing amount for each line scope, never category subtotal
AmountBandTocurrencyyesUSD inclusive upper bound; overlapping applicable rows add requirements rather than overwrite them
Tiernumberyes1, 2, 3, ... (ascending)
ApproverRoleselectyesDepartmentHead, BudgetOwner, Controller, ProcurementManager, CFO, CEO, Committee
ApproverUserreference→ Users; empty for DepartmentHead/BudgetOwner, which resolve the named master references; required for Controller, ProcurementManager, CFO, CEO and Committee. CFO/CEO/Committee are business labels resolved to a named active user with application role Approver; Controller and ProcurementManager require their matching application role
TargetDaysnumberWorking days a step may sit Pending before it is marked Escalated
RequiresRFQtoggleRequisitions in this band must be sourced through an RFQ
EffectiveFromdateyes
EffectiveTodate
Activetoggleyes
CostCenterreference→ CostCenters; null = all cost centres
RuleVersionnumberyesImmutable approved rule version used by an approval snapshot
ApprovedByreference→ Users (Admin)
ApprovedAtdatetimeRequired before Active
ApprovalDelegationsEffective-dated, approved delegation of a principal approver to a named eligible delegate. Scope and limit cannot widen the principal authority. Self-approval conflicts, chains, overlapping delegates and expired grants block assignment rather than silently skipping a tier.master
FieldTypeRequiredDetails
Delegatorreferenceyes→ Users
Delegatereferenceyes→ Users
FromDatedateyes
ToDatedateyes
Reasontext
Activetoggleyes
Departmentreference→ Departments; null means the principal authorised scope
CostCenterreference→ CostCenters
Categoryreference→ Categories
ApprovalLimitcurrencyyesPositive USD maximum no greater than the principal authority
ApprovedByreference→ Users (Procurement Manager or Admin, not Delegator or Delegate)
ApprovedAtdatetimeRequired before Active
PurchaseRequisitionsThe requisition header: a department user's request to buy something. Lifecycle Draft → Submitted → Approved (or Rejected → Draft on revision, or Cancelled) → Converted once the Buyer picks a conversion path.transaction
FieldTypeRequiredDetails
ReqNumbertextyes
Requesterreferenceyes→ Users
Departmentreferenceyes→ Departments
CostCenterreferenceyes→ CostCenters
BusinessJustificationtextyesWhy this purchase is needed
PriorityselectRoutine, Expedited, Emergency
TotalAmountformulayesfx: SUM(RequisitionLines.LineTotal)
StatusselectyesDraft, Submitted, Approved, Rejected, Cancelled, Converted; lifecycle does not determine validity of the independent SpendApproval
SubmittedAtdate
ApprovedAtdate
ConversionPathselectDirectPO, RFQ, BlanketRelease; set by the Buyer on Convert
ConvertedToPOreference→ PurchaseOrders (convenience link when exactly one direct order exists; all resulting orders link back through PurchaseOrders.FromRequisition)
ConvertedToRFQreference→ RFQs (set when sourced by bid)
ConvertedToReleasereference→ BlanketReleases (set when covered by an agreement)
RejectionReasontext
SourceRevisionnumberyesIncremented on draft content changes; Submitted content is frozen
ContentDigesttextCanonical submitted header, lines, routing dimensions, dates and terms
SpendApprovalreference→ SpendApprovals (approved source authority survives conversion)
ConversionEventreference→ ProcurementEvents (idempotent conversion key)
SourceSystemtextyesOrigin namespace; local for native records
SourceRecordIDtextyesStable source identity; unique with SourceSystem
ImportModeselectyesLive, HistoricalBaseline; baseline records activate only through an approved migration batch
MigrationBatchreference→ MigrationBatches (required for HistoricalBaseline)
RequisitionLinesPer-item lines on a requisition: what the Requester wants, when, and against which budget. Line item of PurchaseRequisitions.line item
FieldTypeRequiredDetails
Requisitionreferenceyes→ PurchaseRequisitions
Itemreference→ Items (null for free-text line)
ItemDescriptiontextyesFree-text fallback when Item null
Qtynumberyes
UOMtextyes
EstimatedPricecurrencyyesPer UOM
LineTotalformulayesfx: Qty × EstimatedPrice
NeedByDatedateyes
GLAccounttextyesExpense GL
ProjectCodetextFor project-costed buys
SuggestedSupplierreference→ Suppliers
StatusselectyesDraft, Submitted, Approved, Rejected, Sourced, Cancelled
Categoryreferenceyes→ Categories (snapshot from Item or explicitly selected for free-text lines)
LineNumbernumberyesStable line identity within a requisition
ApprovalStepsOne row per approval tier a requisition, purchase order or amendment passes through. The audit trail: which matrix row, which person, on whose behalf, when, and what they said.transaction
FieldTypeRequiredDetails
StepNumbertextyes
DocumentTypeselectyesRequisition, PurchaseOrder, Amendment, MasterAgreement
Requisitionreference→ PurchaseRequisitions (when DocumentType = Requisition)
PurchaseOrderreference→ PurchaseOrders (when DocumentType = PurchaseOrder)
Amendmentreference→ POAmendments (when DocumentType = Amendment)
Tiernumberyes
ApprovalRulereferenceyes→ ApprovalMatrix
Approverreferenceyes→ Users; named current assignee; must be eligible for this rule and independent of requester/buyer
ActedOnBehalfOfreference→ Users; principal approver when the actual assignee is an approved delegate
StatusselectyesPending, Approved, Rejected, Skipped, Cancelled; Skipped is not affirmative authority and cannot satisfy a required tier
DueAtdatetimeFrom ApprovalMatrix.TargetDays
EscalatedtoggleSet when Pending past DueAt; the Procurement Manager is notified to reassign
ActionedAtdatetime
Commentstext
SpendApprovalreferenceyes→ SpendApprovals (immutable reviewed source revision)
MasterAgreementreference→ MasterAgreements (when DocumentType = MasterAgreement)
Delegationreference→ ApprovalDelegations (grant frozen when assigned)
ActionedByreference→ Users (actual decision signer; must equal eligible assignee)
SourceRevisionnumberyesCopied from SpendApprovals
RuleVersionnumberyesCopied from ApprovalMatrix
AssignmentHistorylongtextAppend-only previous assignees, authorising user, timestamps and reasons for reassignment
RFQsRequest-for-quote header: sourced spend that needs a competitive bid. One RFQ per scope, several suppliers invited, the weights and the award decision recorded on the header.transaction
FieldTypeRequiredDetails
RFQNumbertextyes
FromRequisitionreference→ PurchaseRequisitions (when sourced from a requisition)
ScopeDescriptionlongtextyesStatement of work
IssuedByreferenceyes→ Users (Buyer)
IssuedAtdate
ResponseDeadlinedateyes
PriceWeightnumberyes0–100; set before Sent
LeadTimeWeightnumberyes0–100; set before Sent
QualityWeightnumberyes0–100; set before Sent
AwardedSupplierreference→ Suppliers
AwardedResponsereference→ RFQResponses
AwardedPOreference→ PurchaseOrders
AwardedByreference→ Users
AwardedAtdate
RecommendationOverriddentoggleTrue when the awarded response is not the Recommended one
AwardReasonlongtextRequired when Status = AwardedToSupplier or NoAward
StatusselectyesDraft, Sent, ResponseReceived, AwardedToSupplier, NoAward, Cancelled
Departmentreferenceyes→ Departments
CostCenterreferenceyes→ CostCenters (belongs to Department)
SourceRevisionnumberyesScope and weights frozen at Sent; substantive changes require a new revision and refreshed bids
ContentDigesttextSent scope, quantities, weights, deadline and commercial terms
RecommendationReviewedByreference→ Users (Procurement Manager, required when RecommendationOverridden)
RecommendationReviewedAtdatetimeRequired before a non-recommended award is final
SourceSystemtextyesOrigin namespace; local for native records
SourceRecordIDtextyesStable source identity; unique with SourceSystem
ImportModeselectyesLive, HistoricalBaseline; baseline records activate only through an approved migration batch
MigrationBatchreference→ MigrationBatches (required for HistoricalBaseline)
RecommendationReviewedRevisionnumberSourceRevision and awarded response revision recorded in review evidence; a new scope, response or award selection clears the review
RecommendationReviewEvidenceattachmentRequired when RecommendationOverridden; exact selected response, rationale and source digest reviewed before award
RFQLinesWhat is being sourced, one line per item or service, copied from the requisition lines or keyed by the Buyer. Response lines point at these so bids compare line by line. Line item of RFQs.line item
FieldTypeRequiredDetails
RFQreferenceyes→ RFQs
LineNumbernumberyes
Itemreference→ Items
ItemDescriptiontextyes
Qtynumberyes
UOMtextyes
NeedByDatedate
FromRequisitionLinereference→ RequisitionLines
Categoryreferenceyes→ Categories (item category snapshot or explicit free-text category)
GLAccounttextCopied from requisition or selected for standalone sourcing
ProjectCodetextOptional project scope
RFQInvitedSuppliersThe supplier invite list for an RFQ. Line item of RFQs.line item
FieldTypeRequiredDetails
RFQreferenceyes→ RFQs
Supplierreferenceyes→ Suppliers
InvitedAtdate
InviteSentViaselectEmail, Portal
ResponseStatusselectyesInvited, Acknowledged, Declined, Responded, NoResponse
RFQResponsesA supplier response revision to an RFQ. Only complete comparable Submitted responses enter scoring. Submission freezes header and line content; withdrawal and resubmission before the deadline creates a new revision, retains the previous version, and invalidates its scores and recommendation.transaction
FieldTypeRequiredDetails
ResponseNumbertextyes
RFQreferenceyes→ RFQs
Supplierreferenceyes→ Suppliers
ResponseDatedateyes
TotalQuotedPriceformulayesfx: SUM(RFQResponseLines.LineTotal); masked from Requester / Viewer
LeadTimeDaysnumberyesQuoted overall lead time
ValidityDaysnumberQuote validity window
PaymentTermsselectNet 15, Net 30, Net 45, Net 60, 2/10 Net 30, Prepaid
FOBPointselectOrigin, Destination
FreightTermsselectCollect, Prepaid, PrepaidAndAdd, ThirdParty
Notestext
StatusselectyesSubmitted, UnderReview, Awarded, Rejected, Withdrawn
SourceRevisionnumberyesIncreasing response revision per supplier and RFQ
ContentDigesttextyesFrozen submitted header and lines
SubmittedByreferenceyes→ Users (own Supplier seat, or Buyer recording evidenced supplier response)
SubmittedAtdatetimeyesMust be within the RFQ response window
ResponseEvidenceattachmentRequired when entered on a supplier behalf
Supersedesreference→ RFQResponses (prior withdrawn revision)
RFQResponseLinesPer-line quoted detail: what the supplier proposed for each requested line. Line item of RFQResponses.line item
FieldTypeRequiredDetails
RFQResponsereferenceyes→ RFQResponses
RFQLinereferenceyes→ RFQLines
Itemreference→ Items
ItemDescriptiontextyes
Qtynumberyes
UOMtextyes
UnitPricecurrencyyes
LineTotalformulayesfx: Qty × UnitPrice
LeadTimeDaysnumberPer-line lead time when different from header
AlternateOfferedtoggleSupplier proposed an alternate part
AlternateNotestext
BidComparisonScoresComputed score per response: normalised price, normalised lead time and the supplier's quality score, weighted by the RFQ's weights. Drives the award recommendation. Line item of RFQs.line item
FieldTypeRequiredDetails
RFQreferenceyes→ RFQs
RFQResponsereferenceyes→ RFQResponses
NormalizedPriceScorenumberyes0–100: 100 × lowest eligible total / this total; if lowest is zero, zero-price bids score 100 and positive bids 0; negative totals rejected
NormalizedLeadTimeScorenumberyes0–100: 100 × shortest quoted days / this quoted days; if shortest is zero, same-day bids score 100 and positive days 0; negative days rejected
QualityScorenumberyes0–100 from latest Published scorecard with QualitySampleQty > 0; fallback 50 is explicitly NoHistory, not observed performance
TotalScoreformulayesfx: (NormalizedPriceScore × PriceWeight + NormalizedLeadTimeScore × LeadTimeWeight + QualityScore × QualityWeight) / 100; frozen weights sum to 100
Ranknumber1 = best within RFQ
RecommendedtoggleTrue for the system-recommended award
ComputedAtdateyes
Scorecardreference→ SupplierPerformance (published source used; null for NoHistory)
QualityBasisselectyesPublishedHistory, NoHistory
PriceWeightnumberyesFrozen RFQ weight, 0–100
LeadTimeWeightnumberyesFrozen RFQ weight, 0–100
QualityWeightnumberyesFrozen RFQ weight, 0–100; all three sum to 100
ResponseRevisionnumberyesScored response revision
RFQRevisionnumberyesScored frozen RFQ scope and weights
EligibletoggleyesFalse when response withdrawn, superseded, incomplete or not comparable; cannot be recommended
PurchaseOrdersSupplier order with immutable approved revisions. SpendApprovals records its authority separately from lifecycle; an RFQ award is selection evidence only. Prior requisition or agreement authority may be reused only within its approved scope and remaining capacity. Otherwise full matrix approval or the explicitly configured Buyer-limit exception is required before issuance.transaction
FieldTypeRequiredDetails
PONumbertextyes
RevisionnumberyesStarts at 0; increments only on an applied approved amendment; identifies the exact supplier and AP mirror revision
Supplierreferenceyes→ Suppliers
FromRequisitionreference→ PurchaseRequisitions
FromRFQAwardreference→ RFQResponses (when sourced by RFQ)
MasterAgreementreference→ MasterAgreements (when drawn against an agreement)
CompetitionTypeselectyesCompeted, SingleBid, SoleSource, Blanket, Catalog
SoleSourceJustificationlongtextRequired when CompetitionType = SoleSource above the competition threshold
ClauseSettextTerms and flow-down clause set printed on the order
OrderDatedateyes
ExpectedDeliverydateHeader-level promise; per-line in POLineItems
StatusselectyesDraft, PendingApproval, Approved, Sent, Acknowledged, PartiallyReceived, Received, Closed, Cancelled
TotalAmountformulayesfx: SUM(POLineItems.LineTotal WHERE Status != Cancelled); includes accepted fulfilled portions
ShipToLocationreferenceyes→ Locations
BillToEntitytextyesLegal entity to invoice
FOBPointselectyesOrigin, Destination
FreightTermsselectyesCollect, Prepaid, PrepaidAndAdd, ThirdParty
PaymentTermsselectyesNet 15, Net 30, Net 45, Net 60, 2/10 Net 30, Prepaid
Buyerreferenceyes→ Users
PriceOverrideApprovedtoggleSet by the Procurement Manager when a line failed the guardrail or is OffContract
PriceOverrideReasonlongtextRequired when PriceOverrideApproved
OffContractReasonlongtextRequired when a line is OffContract in a RequiresContract category
PriceOverrideByreference→ Users (Procurement Manager)
ApprovedByreference→ Users; final human signer, inherited source decision signer, or authorised Buyer under the recorded Buyer-limit exception; never falsely attributes an automated check as a new human decision
ApprovedAtdate
SentAtdate
AcknowledgedAtdateWhen the supplier confirms
AcknowledgedRevisionnumberThe Revision the supplier last acknowledged
ClosedAtdate
Notestext
Departmentreferenceyes→ Departments
CostCenterreferenceyes→ CostCenters (belongs to Department)
Requesterreference→ Users (source requester; all source requesters are checked for approval conflicts)
SourceRevisionnumberyesDraft approval-content revision; frozen at PendingApproval
ContentDigesttextFrozen approval scope including all lines, supplier, pricing, dates and terms
SpendApprovalreference→ SpendApprovals (decision for the current approved PO revision)
OriginalApprovedTotalcurrencyFrozen first-approved TotalAmount; never reset by amendments
CurrentCommitmentformulayesfx: SUM(POLineItems.LineTotal WHERE Status != Cancelled); includes fulfilled amounts
CumulativeIncreasecurrencyyesSum of positive line-level value increases across all applied amendments; decreases on other lines or later reductions never offset it
PriceOverrideRevisionnumberSourceRevision reviewed by Procurement Manager; stale override blocks approval
PriceOverrideAtdatetimeRequired with PriceOverrideApproved
CompetitionThresholdcurrencyFrozen configured competition threshold used for this approval
SourceSystemtextyesOrigin namespace; local for native records
SourceRecordIDtextyesStable source identity; unique with SourceSystem
ImportModeselectyesLive, HistoricalBaseline; baseline records activate only through an approved migration batch
MigrationBatchreference→ MigrationBatches (required for HistoricalBaseline)
APCompletionEventreference→ ProcurementEvents (current-revision confirmation that all expected invoices, returns and credits are resolved)
APCompletionEvidenceattachmentRequired for Closed; entire-order completion from configured AP, not a single matched invoice
CompletedRevisionnumberMust equal Revision for closure; amendments, returns and corrections invalidate completion
POLineItemsPer-item lines on a PO. The level at which receipts and the invoice match reconcile, and where the contract price check is recorded. Line item of PurchaseOrders.line item
FieldTypeRequiredDetails
POreferenceyes→ PurchaseOrders
LineNumbernumberyes
Itemreference→ Items
ItemDescriptiontextyes
QtynumberyesCurrent approved quantity; nonnegative and never below net accepted QtyReceived
UOMtextyes
UnitPricecurrencyyes
LineTotalformulayesfx: Qty × UnitPrice
ContractRatereference→ ContractRates (matched on create)
ContractPricecurrencyFrozen matched ContractRate; masked from Requester, Viewer and Approver
PriceVariancePctformulafx: (UnitPrice − ContractPrice) / ContractPrice × 100 when ContractPrice > 0; zero rate with positive price requires explicit override, never divide by zero
PriceOverrideRequiredtoggleSet when PriceVariancePct exceeds the guardrail
OffContracttoggleSet when the category has RequiresContract and no ContractRate or MasterAgreement backs the line
NeedByDatedateyes
QtyReceivednumberNet accepted fulfilment = BaselineAcceptedQty + posted live accepted deliveries − accepted corrections − shipped returns of previously accepted goods; rejected arrivals never fulfil the order
QtyOpenformulafx: Qty − QtyReceived; cannot be negative; a rejected or returned quantity remains open until replacement or approved cancellation
GLAccounttextFrom RequisitionLines
ProjectCodetext
StatusselectyesOpen, PartiallyReceived, Received, Closed, Cancelled
Categoryreferenceyes→ Categories (frozen item or free-text routing category)
FromRequisitionLinereference→ RequisitionLines
FromRFQLinereference→ RFQLines
OriginalNeedByDatedateyesFrozen first-issued delivery commitment; reschedules do not rewrite delivery-performance history
BaselineAcceptedQtynumberyesAccepted quantity at migration cutoff; 0 for live-native orders
LastAcceptedAtdateLatest active accepted delivery date, used for completed-line reporting
FulfilledAtdateDate net accepted quantity first satisfied the current approved ordered quantity; recomputed from retained events after returns/corrections
POAmendmentsA reviewed change to an issued or approved PO revision. All amendments route on the proposed total and cumulative positive increases, including new scope; decreases cannot reset the escalation basis. Applying the approved change atomically updates lines, commitments and the exact order revision once.transaction
FieldTypeRequiredDetails
AmendmentNumbertextyes
POreferenceyes→ PurchaseOrders
AmendmentTypeselectyesQtyRevision, PriceRevision, NeedByReschedule, LineAdd, LineRemove, Cancellation
Reasontextyes
RequestedByreferenceyes→ Users
RequestedAtdateyes
DeltaAmountformulayesfx: SUM(POAmendmentLines.NewLineTotal − POAmendmentLines.OldLineTotal)
ApprovedByreference→ Users; final approver
ApprovedAtdate
AppliedRevisionnumberThe PurchaseOrders.Revision this amendment produced
StatusselectyesDraft, PendingApproval, Approved, Applied, Rejected, Cancelled
SupplierAcknowledgedtoggle
BaseRevisionnumberyesCurrent PurchaseOrders.Revision when drafted; mismatch on application requires rebase and new approval
BeforeTotalcurrencyyesFrozen current PO total at BaseRevision
ProposedTotalformulayesfx: BeforeTotal + DeltaAmount
CumulativeIncreaseAfterformulayesfx: PO.CumulativeIncrease + SUM(MAX(POAmendmentLines.NewLineTotal − POAmendmentLines.OldLineTotal, 0))
RoutingAmountformulayesfx: MAX(ProposedTotal, PO.OriginalApprovedTotal + CumulativeIncreaseAfter)
SourceRevisionnumberyesDraft amendment content revision; frozen at PendingApproval
ContentDigesttextExact proposed complete PO scope, before/after lines and terms
SpendApprovalreference→ SpendApprovals (new complete proposed PO decision, usable only for this PO)
AppliedEventreference→ ProcurementEvents (idempotent amendment application)
SourceSystemtextyesOrigin namespace; local for native records
SourceRecordIDtextyesStable source identity; unique with SourceSystem
ImportModeselectyesLive, HistoricalBaseline; baseline records activate only through an approved migration batch
MigrationBatchreference→ MigrationBatches (required for HistoricalBaseline)
GrossIncreaseformulayesfx: SUM(MAX(POAmendmentLines.NewLineTotal − POAmendmentLines.OldLineTotal, 0)); offsetting decreases never hide an increase or added line
POAmendmentLinesPer-line before and after on an amendment. Line item of POAmendments.line item
FieldTypeRequiredDetails
Amendmentreferenceyes→ POAmendments
POLinereference→ POLineItems (null for LineAdd type)
ChangeTypeselectyesQtyChange, PriceChange, DateChange, AddLine, RemoveLine
OldQtynumberFrozen base quantity; 0 for AddLine
NewQtynumberProposed approved quantity; never below current accepted quantity; 0 only for wholly unfulfilled removal
OldUnitPricecurrencyFrozen base price; 0 for AddLine
NewUnitPricecurrencyRequired for added and remaining lines; 0 for full removal
OldNeedByDatedate
NewNeedByDatedateRequired for every added line; proposed promise for date changes
OldLineTotalformulafx: OldQty × OldUnitPrice
NewLineTotalformulafx: NewQty × NewUnitPrice
Notestext
Itemreference→ Items (optional for added free-text lines)
ItemDescriptiontextRequired for AddLine; full proposed line description
UOMtextRequired for AddLine and preserved for existing lines
Categoryreference→ Categories (required for AddLine; frozen existing category otherwise)
GLAccounttextProposed expense account, required for added lines
ProjectCodetextProposed project scope
ContractRatereference→ ContractRates (proposed matched active rate)
CreatedPOLinereference→ POLineItems (set once when AddLine is applied)
LineNumbernumberyesStable amendment line identity
ReceiptsPhysical arrival or service acceptance against a PO. Supplier ASN is untrusted advance evidence until an authorised receiver verifies it. A Posted receipt is immutable; correction is a linked reversal followed, if needed, by a replacement. HistoricalBaseline receipts retain evidence but never repeat quantity or outbound effects.transaction
FieldTypeRequiredDetails
ReceiptNumbertextyes
POreferenceyes→ PurchaseOrders
Supplierreferenceyes→ Suppliers
ReceiptDatedateyes
ReceivedByreferenceyes→ Users
ReceivingLocationreferenceyes→ Locations
PackingSlipNumbertext
BOLNumbertextBill of lading
CarrierNametext
SourceselectyesWMS, DockEntry, DeskReceipt, SupplierASN
StatusselectyesDraft, Received, Inspected, Posted, Disputed, Returned; unresolved inspection or Blocked supplier holds Disputed. A replacement is a separate receipt, never a relabelled rejected arrival
Notestext
EventTypeselectyesDelivery, Reversal
ReversesReceiptreference→ Receipts (required for Reversal; exact original accepted quantities, no duplicate return/correction)
PostedEventreference→ ProcurementEvents (one local posting event)
PostedAtdatetimeRequired once posted
InspectionEvidenceattachmentInspection, desk acceptance or quarantine support
PORevisionnumberyesIssued order revision inspected against
SourceSystemtextyesOrigin namespace; local for native records
SourceRecordIDtextyesStable source identity; unique with SourceSystem
ImportModeselectyesLive, HistoricalBaseline; baseline records activate only through an approved migration batch
MigrationBatchreference→ MigrationBatches (required for HistoricalBaseline)
SourceRevisionnumberyesIncreasing source revision; identical replay is a no-op and conflicting payload for the same revision is rejected
ReceiptLineItemsPer-line received quantity against a PO line. The grain accounts payable reads for the three-way match and the scorecard reads for on-time and quality. Line item of Receipts.line item
FieldTypeRequiredDetails
Receiptreferenceyes→ Receipts
POLinereferenceyes→ POLineItems
Itemreference→ Items
ItemDescriptiontextyes
QtyOrderednumberyesSnapshot from POLine at receipt
QtyReceivednumberyesNonnegative gross physical arrival quantity; on a Reversal, positive magnitude of original arrival being reversed
QtyAcceptednumberNonnegative accepted physical quantity; required before posting; QtyAccepted + QtyRejected = QtyReceived
QtyRejectednumberNonnegative rejected physical quantity; does not satisfy PO quantity
RejectReasonselectDamaged, WrongItem, ShortShip, OverShip, QualityFail, Late, Other
LotNumbertext
SerialNumbertext
ExcludeFromPerformancetoggleProcurement Manager decision with reason; exclusions retained and counted, never silently drop adverse results
ExclusionReasontextRequired when ExcludeFromPerformance
StatusselectyesReceived, Inspected, Accepted, Rejected, Returned
PromiseDateSnapshotdateyesOriginalNeedByDate from the PO line at first issue; preserved through reschedule
UnitPriceSnapshotcurrencyyesApproved PO unit price at this receipt revision, used for received value
ExclusionApprovedByreference→ Users (Procurement Manager)
ExclusionApprovedAtdatetimeRequired when ExcludeFromPerformance
ReversesLinereference→ ReceiptLineItems (required on reversal; exact original line)
QualityDefectQtynumberyesSubset of QtyRejected due to quality defects, bounded from 0 to QtyRejected; late arrival alone contributes 0
SupplierReturnsControlled return of rejected arrivals or previously accepted goods, with original line, disposition and quantity evidence. Only shipped returns of previously accepted goods reduce PO accepted fulfilment; returning already rejected goods has no second quantity effect.transaction
FieldTypeRequiredDetails
ReturnNumbertextyes
Receiptreferenceyes→ Receipts
ReceiptLinereferenceyes→ ReceiptLineItems
POreferenceyes→ PurchaseOrders
Supplierreferenceyes→ Suppliers
Itemreference→ Items
QtyReturnednumberyesPositive quantity no more than the source line available accepted or rejected balance, after prior returns and corrections
ReasonselectyesDamaged, WrongItem, OverShip, QualityFail, Other
RMANumbertextSupplier's return authorisation
RaisedByreferenceyes→ Users
RaisedAtdateyes
ShippedDatedate
CreditExpectedcurrencyExpected USD credit recorded for AP review; not automatically a credit posting or reduction of PO commitment
StatusselectyesDraft, Authorised, Shipped, CreditExpected, Closed
ReturnsAcceptedQtytoggleyesTrue only when returning previously accepted goods; determines accepted fulfilment decrement
DispositionselectyesReplacement, Credit; Credit still needs an approved PO quantity reduction to remove the replacement obligation
PostedEventreference→ ProcurementEvents (once-only shipped return effect)
AuthorisedByreference→ Users (Procurement Manager or independent Receiving Clerk)
AuthorisedAtdatetimeRequired before Shipped
ReversesReturnreference→ SupplierReturns (correction of a prior shipped return; compensating event, never delete history)
SourceSystemtextyesOrigin namespace; local for native records
SourceRecordIDtextyesStable source identity; unique with SourceSystem
ImportModeselectyesLive, HistoricalBaseline; baseline records activate only through an approved migration batch
MigrationBatchreference→ MigrationBatches (required for HistoricalBaseline)
SourceRevisionnumberyesIncreasing source revision; identical replay is a no-op and conflicting payload for the same revision is rejected
MatchExceptionsA mismatch returned by accounts payable when the supplier's invoice disagrees with the order or the receipt. The Buyer's worklist for resolving it on the procurement side.transaction
FieldTypeRequiredDetails
ExceptionNumbertextyes
POreferenceyes→ PurchaseOrders
POLinereference→ POLineItems
Receiptreference→ Receipts
Supplierreferenceyes→ Suppliers
InvoiceReferencetextyesSupplier invoice number as held by accounts payable
ExceptionTypeselectyesPriceVariance, QtyOverReceipt, NoReceipt, NoPO, Other
InvoiceAmountcurrencyyes
OrderAmountcurrency
ReceivedAmountcurrency
RaisedAtdateyes
Ownerreferenceyes→ Users (the PO's Buyer)
ResolutionselectAmendment, CorrectingReceipt, ReInvoice, Accepted, Return
ResolvedAtdate
StatusselectyesOpen, InProgress, Resolved
InboundEventreference→ ProcurementEvents (deduplicated AP mismatch or resolution event)
ResolutionEvidenceattachmentRequired before Resolved; procurement acceptance cannot bypass AP payment authority
BlanketReleasesCall-offs against a MasterAgreements umbrella. Each release draws down the agreement's TotalCommit and generates a PurchaseOrders row priced at the agreement's rates.transaction
FieldTypeRequiredDetails
ReleaseNumbertextyes
MasterAgreementreferenceyes→ MasterAgreements
Supplierreferenceyes→ Suppliers
ReleaseDatedateyes
ReleaseValueformulayesfx: SUM(BlanketReleaseLines.LineTotal); initial release value only, not current agreement consumption
ScheduleDatedateyesRequested delivery
GeneratedPOreference→ PurchaseOrders
RequestedByreferenceyes→ Users
StatusselectyesDraft, Released, Received, Closed, Cancelled
Notestext
Departmentreferenceyes→ Departments (must be within approved agreement scope)
CostCenterreferenceyes→ CostCenters
CurrentCommitmentformulayesfx: GeneratedPO.CurrentCommitment when generated, otherwise 0; agreement uses CommitmentAllocations
SourceRevisionnumberyesDraft version; immutable after Released
ReleaseEventreference→ ProcurementEvents (one generated PO and one initial reservation)
SpendApprovalreference→ SpendApprovals (approved source agreement authority)
SourceSystemtextyesOrigin namespace; local for native records
SourceRecordIDtextyesStable source identity; unique with SourceSystem
ImportModeselectyesLive, HistoricalBaseline; baseline records activate only through an approved migration batch
MigrationBatchreference→ MigrationBatches (required for HistoricalBaseline)
BlanketReleaseLinesThe items called off on a release, each priced at a contract rate under the agreement. A line with no rate under the agreement is refused. Line item of BlanketReleases.line item
FieldTypeRequiredDetails
Releasereferenceyes→ BlanketReleases
LineNumbernumberyes
Itemreferenceyes→ Items
Qtynumberyes
UOMtextyes
ContractRatereferenceyes→ ContractRates; must belong to the release's MasterAgreement
UnitPricecurrencyyesFrom the ContractRate
LineTotalformulayesfx: Qty × UnitPrice
NeedByDatedate
Categoryreferenceyes→ Categories (approved rate item category snapshot)
GeneratedPOLinereference→ POLineItems (one generated line per release line)
GLAccounttextyesExpense account
ProjectCodetextOptional project scope
ExpeditingThe expediting worklist: open PO lines that are past NeedByDate or inside the warning window. Written daily by the expediting-reminder workflow.transaction
FieldTypeRequiredDetails
ExpediteNumbertextyes
POreferenceyes→ PurchaseOrders
POLinereference→ POLineItems
Supplierreferenceyes→ Suppliers
OriginalNeedByDatedateyes
RevisedPromiseDatedateSupplier proposal only until approved reschedule; never rewrites the original delivery-performance baseline
DaysOverdueformulafx: MAX(today − OriginalNeedByDate, 0); original delivery commitment remains visible
FlaggedAtdateyes
SeverityselectyesWarning, Late, Critical
Ownerreferenceyes→ Users (Buyer)
LastContactedAtdate
Notestext
StatusselectyesOpen, InContact, Promised, Resolved, Cancelled
QtyOutstandingnumberyesCurrent POLine.QtyOpen, refreshed after each accepted receipt, correction, return or amendment
ResolvedAtdatetimeOnly when QtyOpen = 0; partial delivery leaves the case active
ClosureReasontextRequired for Resolved or Cancelled
Successorreference→ Expediting (replacement case after an approved reschedule of remaining quantity)
SupplierPerformancePeriod scorecard per supplier: on-time delivery, quality, price competitiveness. Computed from receipts and expediting at period end, published by the Procurement Manager, and read by BidComparisonScores and the supplier's portal seat.transaction
FieldTypeRequiredDetails
ScorecardNumbertextyes
Supplierreferenceyes→ Suppliers
PeriodtextyesYYYY-MM or YYYY-Q#
POCountnumberyes
LinesReceivednumberyesCount of eligible completed PO lines with FulfilledAt in the period; partial arrivals do not inflate delivery count
ExcludedLinesnumberReceiptLineItems with ExcludeFromPerformance set
OnTimeDeliveryPctnumberyes0–100: completed eligible PO lines with FulfilledAt <= OriginalNeedByDate divided by LinesReceived; 50 marked NoHistory when denominator is 0
QualityScorenumberyes0–100: 100 × (1 − QualityRejectedQty / QualitySampleQty); 50 marked NoHistory when QualitySampleQty = 0. Rejected Late reason alone is delivery performance, not a quality defect
PriceCompetitivenessScorenumberyes0–100 from documented comparable contract or RFQ benchmarks; 50 marked NoHistory when no comparable observations
TotalSpendcurrencyyesNet accepted USD value in period using ReceiptLineItems.UnitPriceSnapshot, less accepted returns/corrections; gross rejected arrivals excluded
OverallScoreformulayesfx: (OnTimeDeliveryPct + QualityScore + PriceCompetitivenessScore) / 3; displayed only with Coverage indicating which components use neutral NoHistory values
ComputedAtdateyes
StatusselectyesDraft, Published
QualitySampleQtynumberyesNet eligible physically inspected quantity; corrections net out originals and units must share a reviewed comparable basis
QualityRejectedQtynumberyesQuality-defective quantity in sample, excluding lateness-only rejection and double-counted returns
CoveragetextyesObserved or NoHistory for delivery, quality and price, with sample sizes and unit-basis limitations
CalculationEvidenceattachmentyesFrozen source IDs, exclusions, quantity basis and comparable price benchmarks
PublishedByreference→ Users (Procurement Manager)
PublishedAtdatetimeRequired for Published; published scorecards immutable, corrections create a new revision
SpendApprovalsVersioned authority request and frozen decision for a complete source revision. Document lifecycle may progress independently. Submitted content and approved decisions cannot be overwritten; invalidation stops future use but does not erase existing commitments. Reused authority and Buyer-limit policy are explicit decision types, never a fabricated new human signature.transaction
FieldTypeRequiredDetails
ApprovalNumbertextyesUnique authority request/revision
DocumentTypeselectyesRequisition, PurchaseOrder, Amendment, MasterAgreement
Requisitionreference→ PurchaseRequisitions
PurchaseOrderreference→ PurchaseOrders
Amendmentreference→ POAmendments
MasterAgreementreference→ MasterAgreements
SourceRevisionnumberyesFrozen source revision; exactly one document reference required by DocumentType
ContentDigesttextyesCanonical header, line scope, pricing, routing dimensions, dates and terms
DecisionTypeselectyesMatrix, InheritedAuthority, BuyerLimit, MigrationBaseline
PriorAuthorityreference→ SpendApprovals (approved source reused or superseded)
RoutingAmountcurrencyyesUSD full-document routing amount; amendment uses its cumulative RoutingAmount
ApprovedAmountcurrencyyesUSD reviewed source total; 0 while pending
TolerancePctdecimalyesExplicit reviewer-approved nonnegative tolerance, default 0; no unrecorded extra authority
ApprovedMaximumcurrencyyesUSD maximum including explicitly approved tolerance; lines reconcile to this cap
DecisionByreference→ Users (final actual signer or inherited signer; decision type distinguishes automation)
DecisionAtdatetimeRequired for final decision
PolicyVersiontextyesApproval matrix versions or authorised Buyer-limit/migration policy
RFQRequiredbooleanyesTrue if any applicable rule requires competition; inherited orders retain the condition
ValidThroughdateLatest permitted new commitment date; agreement authority cannot outlive EndDate
StatusselectyesPending, Approved, Rejected, Invalidated, Superseded
InvalidationReasonlongtextRequired for Invalidated or Superseded; retained commitments are not deleted
EvidenceattachmentSigned agreement, decision packet, or reviewed migration authority evidence
SpendApprovalLinesImmutable scope and approved allowance within a SpendApprovals decision. Separate lines retain routing dimensions and source identities. Parent and line ceilings are both enforced; changing supplier, item, category, quantity, scope or value outside this packet requires a new decision. Line item of SpendApprovals.line item
FieldTypeRequiredDetails
SpendApprovalreferenceyes→ SpendApprovals
LineNumbernumberyesStable snapshot line number
Departmentreference→ Departments (null only for explicitly approved cross-department agreement scope)
CostCenterreference→ CostCenters (null only for approved agreement scope)
Categoryreference→ Categories (null only for explicitly approved agreement-wide scope)
Supplierreference→ Suppliers (required for PO, amendment and agreement; optional sourcing-neutral requisition)
Itemreference→ Items
ItemDescriptiontextyesFrozen item/service specification or explicit agreement scope
UOMtextRequired when quantity is bounded
ApprovedQtydecimalNonnegative quantity cap; null only for amount-based agreement scope
ApprovedAmountcurrencyyesUSD reviewed line value
ApprovedMaximumcurrencyyesUSD line cap inclusive of explicitly allocated tolerance; line caps sum to parent cap
RequisitionLinereference→ RequisitionLines
POLinereference→ POLineItems
AmendmentLinereference→ POAmendmentLines
ConsumedAmountcurrencyyesSum of posted AuthorityAmountDelta allocations against this source line
ConsumedQtydecimalyesSum of posted AuthorityQtyDelta allocations against this source line
SpentScopeDigesttextyesFrozen detailed scope including GLAccount, ProjectCode, dates and terms omitted from compact columns
CommitmentAllocationsImmutable signed effects of a business event on a PO line and its funding authority. AmountDelta measures actual order commitment; AuthorityAmountDelta separately measures use or release of the linked approval allowance, preventing a new approval packet from duplicating agreement spend. Reversals are compensating Posted rows referencing the original.transaction
FieldTypeRequiredDetails
AllocationNumbertextyesUnique event + PO line + source approval line + allocation leg
Eventreferenceyes→ ProcurementEvents
PurchaseOrderreferenceyes→ PurchaseOrders
POLinereferenceyes→ POLineItems
SpendApprovalLinereferenceyes→ SpendApprovalLines
MasterAgreementreference→ MasterAgreements (required for every agreement-backed actual commitment effect)
BlanketReleasereference→ BlanketReleases
Amendmentreference→ POAmendments
AmountDeltacurrencyyesSigned USD change to actual PO commitment; 0 for pure authority transfer; each order change counted once across its allocation legs
QtyDeltadecimalyesSigned ordered-quantity change; 0 for pure authority transfer
AuthorityAmountDeltacurrencyyesSigned USD consumption of this approval line; initial reservation or increase positive, unused release negative
AuthorityQtyDeltadecimalyesSigned quantity consumption of this approval line
ReversesAllocationreference→ CommitmentAllocations (compensating leg; cannot exceed the unreversed original)
PostedAtdatetimeyesAtomic local reservation/application timestamp
StatusselectyesPosted; immutable entries remain Posted when compensated, so sums include both legs
ProcurementEventsDurable once-only business event and migration provenance. The unique source event key and payload digest separate a replay from a conflicting update. Local quantity, approval and commitment effects commit atomically with Applied; outbound delivery has its own retry state.transaction
FieldTypeRequiredDetails
EventKeytextyesUnique SourceSystem + SourceRecordID + SourceRevision + EventType
SourceSystemtextyesOrigin namespace
SourceRecordIDtextyesStable source record identity
SourceRevisionnumberyesFrozen source version
EventTypetextyesStable business type such as Conversion, POApproval, AmendmentApplied, ReceiptPosted, ReturnShipped, ReceiptReversed, SupplierStatusChanged, APMatchResolved or BaselineActivated
PayloadDigesttextyesSame key/digest returns the prior result; same key/different digest rejects as conflict
PurchaseOrderreference→ PurchaseOrders
Receiptreference→ Receipts
SupplierReturnreference→ SupplierReturns
MigrationBatchreference→ MigrationBatches
ImportModeselectyesLive, HistoricalBaseline
Actorreferenceyes→ Users (actual user or configured restricted integration identity)
OccurredAtdatetimeyesOriginal business occurrence timestamp
StatusselectyesStaged, Applied, Rejected
AppliedAtdatetimeSet only after local effects succeed atomically
ResultReferencetextStable resulting record/revision identity for retries
EvidenceattachmentFrozen approval, supplier status, migration or correction support
IntegrationDeliveriesPer-event destination outbox for an explicitly configured connection. Retrying transport resends the same revision and idempotency key; it never repeats a local business effect. External acknowledgement and reconciliation are required before claiming delivery.transaction
FieldTypeRequiredDetails
Eventreferenceyes→ ProcurementEvents (Applied event)
DestinationselectyesAccountsPayable, Inventory, Warehouse, Supplier, Budgeting
DeliveryKeytextyesUnique Event.EventKey + Destination
PayloadDigesttextyesFrozen outbound payload; correction requires a new event/revision
StatusselectyesPending, Sending, Acknowledged, Failed, Suppressed
AttemptsnumberyesRetry count; no second local posting
LastAttemptAtdatetimeTransport time
AcknowledgedAtdatetimeRequired for Acknowledged
ExternalReferencetextDestination receipt/mirror identity and accepted source revision
LastErrorlongtextActionable failure or suppression reason
ReconciledByreference→ Users (Admin or Controller for controlled reconciliation)
MigrationBatchesReviewed cutover batches for master data, authority, current commitments and accepted-quantity baselines. Import first stages stable IDs, then resolves cyclic references and reconciles totals before activation. Historical records are evidence, not live events.transaction
FieldTypeRequiredDetails
BatchNumbertextyesUnique migration batch
SourceSystemtextyesOrigin namespace
CutoffAtdatetimeyesBoundary separating historical baseline from live events
ImportPolicytextyesVersioned mapping, source keys, cutover and outbound suppression rules
PreparedByreferenceyes→ Users (Admin)
ReviewedByreference→ Users (Controller or Procurement Manager other than PreparedBy)
ReviewedAtdatetimeRequired before activation
SourceRowCountnumberyesExpected staged rows
ReconciledRowCountnumberyesAccepted mapped rows; differences explicitly explained in evidence
ExpectedCommitmentcurrencyyesUSD current order commitments at cutoff, including fulfilled retained consumption
ExpectedAcceptedQtydecimalyesQuantity control total only for a documented common UOM; evidence reconciles each PO line/UOM separately
ReconciliationEvidenceattachmentyesSource IDs, duplicate/conflict checks, authority packets, agreement totals and per-line accepted quantities
StatusselectyesStaged, Validated, Approved, Activated, Rejected
ActivatedAtdatetimeSet once by BaselineActivated event; activation and baseline effects are atomic
ERP•AI workspace

Start now Procurement

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 Procurement. With Proto, your desktop AI agent.

Ask Proto to help you customize Procurement.

Customize
Procurement.
Ask: “Adapt Suppliers and catalog.”
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.