xMatix
Sign in Request demo
xMatix
PRODUCTS
SalesField SalesCRMRewardsClaimsInventoryProcurementWarehouse ManagementField ServiceServiceSupportTelephony & MessagingFinance & AccountingPayrollExpense ManagementCommercePortalsAnalytics & ReportingData StudioMobile AppSee all products →
PLATFORM
Platform overviewApp BuilderAutomationIntegrationsSecurity & GovernanceChange ManagementDevelopers
SENSE AI
Sense AI overviewSense AssistSense ControlSense VisionAI StudioTrust & governanceIn Claude & ChatGPTUse cases
SOLUTIONS
FMCG & DistributionManufacturing & Dealer NetworksAutomotive & DealershipsPharma & HealthcareConsumer DurablesAgri-InputsBuilding MaterialsService NetworksWarehousing & 3PLFinancial AccountingERP SoftwareIndia GST ComplianceUAE VAT & e-InvoicingSaudi ZATCA & VATAll solutions →
RESOURCES
Knowledge CenterDeveloper & CLIBlogGuidesWhat is xMatix?Company facts
COMPANY
AboutCareersPartnersEventsContactAuthorsLegal
Sign in Request demo
Home/Docs/Entity Reference/Goods Receipt — entity reference
REFERENCE · Last reviewed

Goods Receipt — entity reference

The inbound receiving document: goods physically arriving at a branch from a supplier, plus the supplier's dispatch and invoice references and transporter details. It is created by PurchaseOrder.PerformReleaseReceipt (PurchaseOrderId set, receipt lines carrying OrderedQuantity) or by a Shipment release (ShipmentId set, receipt lines carrying SupplierQuantity), and can also stand alone with neither. Its actions run the receiving sequence: PerformReceive builds item lots and approves the lines for inventory posting, PerformInspection and PerformInspectionComplete drive quality inspection through InspectionLine rows, PerformReleaseBill creates the supplier Bill, and PerformGLPosting posts the accrual journal (Dr Inventory / Cr unbilled-receipt GR-IR at header TotalAmount) which the Bill later clears. Status has a seeded vocabulary but no code path writes it.

Fields

FieldLabelTypeRequiredWhat it does
BranchIdBranchLookup → Branch
CreatedByIdCreated ByLookup → UserAccountYes
CreatedDateTimeCreated DateDateAndTimeYes
DocumentDateDocument DateDateThe receiving date. It is defaulted to the current date when the receipt is created and cannot be edited afterwards - the handler blocks changes to it, along with branch, partner and supplier, once the record exists.
ExternalIdExternalText, unique
GeneralLedgerIdGeneral LedgerLookup → GeneralLedger
GLAccountIdGL AccountLookup → GLAccount
HasLineItemsHas Line ItemsCalculated (calculated)
IdIdGuidYes
InspectionLineIdInspection LineLookup → InspectionLinePoints at a single inspection line, used where a receipt was itself raised out of an inspection (for example a rework or return-to-stock consignment). It is the reverse of the InspectionLines collection, which holds the inspection lines this receipt generated.
IsAllocatedAllocatedBooleanYesNeither this flag nor PerformAllocation is ever read or written.
IsBillGeneratedBill GeneratedCalculated (calculated)YesIntended to record that a supplier bill was released from this receipt, but no code path sets it. PerformReleaseBill creates the Bill with this receipt's id on it, so look for that Bill rather than trusting the flag.
IsClaimedClaimedBooleanYes
IsGLPostedIs GL PostedBooleanRecords that this receipt's accrual journal has been posted - the goods-received accrual that debits inventory and credits the unbilled-receipt (GR-IR) account at the header TotalAmount. The supplier Bill later clears that same GR-IR account for every bill line sourced from a receipt line, which is what stops inventory being debited twice.
IsGLPostingApprovedIs GL Posting ApprovedBooleanSet to true by the general-ledger posting action immediately before the journal is built; it is the approval gate the document posting service reads, not a user-set field. IsGLPosted then records that the journal was written.
IsInspectedInspectedCalculated (calculated)YesRead the inspection lines to know the inspection state.
IsInspectionCompletedInspection CompletedCalculated (calculated)YesIntended to mark inspection closed on the header, but the constant is declared and never assigned; completing inspection only flips InspectionDone on the individual inspection lines. A header with open inspection lines is the real test.
IsReceivedReceivedCalculated (calculated)YesA system field that a user may not set on create (the handler rejects it as an attempted change to a system field), but which no code path afterwards sets either. Whether stock actually moved is told by the receipt lines carrying an InventoryLedgerId, not by this flag.
ModifiedByIdModified ByLookup → UserAccountYes
NameDocument NumberText
OwnerIdOwnerLookup → UserAccountYes
PartnerAccountIdPartner AccountLookup → Account
PerformAllocationPerform AllocationBooleanYesA trigger boolean for the disabled receipt-allocation step. Nothing listens to it; allocation of stock to demand happens on the sale order and inventory-fulfilment side instead.
PerformInspectionPerform InspectionBooleanYes
PerformInspectionCompletePerform Inspection CompleteBooleanYes
PerformPopulateChecklistPerform Populate ChecklistBooleanYes
PerformReceivePerform ReceiveBooleanYes
PerformReceiveAsyncPerform Receive AsyncBooleanYesReceiving runs synchronously through the PerformReceive server action.
PerformReleaseBillPerform Release BillBooleanYes
PurchaseOrderIdPurchase OrderLookup → PurchaseOrder
ReceivedTimeReceived TimeDate
RecordTypeIdRecord TypeGuid, hidden
ResourceIdExecutiveLookup → Resource
ShipmentIdShipmentLookup → Shipment
StatusStatusPickListValues: Draft, Receive, Start Inspection, Complete Inspection, Bill.
SupplierAccountIdSupplier AccountLookup → Account
SupplierDispatchDateSupplier Dispatch DateDateWhen the supplier dispatched the consignment, as opposed to DocumentDate which is when it was received. The gap between the two is the transit time; neither is used by any calculation in the receiving code.
SupplierInvoiceDateSupplier Invoice DateDateAndTimeDate on the supplier's own invoice for this consignment, distinct from DocumentDate (when the goods were booked in) and from SupplierDispatchDate (when they left the supplier). It is the date carried onto asset records created from this receipt.
SupplierInvoiceNumberSupplier Invoice NumberTextThe supplier's own invoice or delivery-note reference for this consignment, copied from the shipment when the receipt was released from one. It is a free-text reference, not validated for uniqueness, and it is carried onto the asset records created for asset-tracked items.
TotalAmountTotal AmountCalculated (calculated)
TransporterContactNumberTransporter Contact NumberNumber
TransporterNameTransporter NameText
TransporterReferenceNumberTransporter Reference NumberText
UIPropsUI PropsText
UpdatedDateTimeModified DateDateAndTimeYes

Actions

ActionLabelTypeWhat it does
BulkDeleteDeleteDeleteDelete the selected records.
CloneCloneServerAction (Clone)Create a copy of this record
DeleteDeleteDeleteDelete
DeleteInListDeleteDeleteDelete
EditEditEditEdit
EditInLineEditEditInlineEdit In page
EditInListEditEditInlineEdit
EditPopUpEditEditEdit
NewNewNewNew
PerformGLPostingPost General LedgerServerAction (PerformGLPosting)PerformGLPosting
PerformInspectionInspectionServerAction (PerformInspection)PerformInspection
PerformInspectionCompleteInspection CompleteServerAction (PerformInspectionComplete)PerformInspectionComplete
PerformReceiveReceiveServerAction (PerformReceive)Perform Receive
PerformReleaseBillRelease BillServerAction (PerformReleaseBill)Perform Release Bill
PostGeneralLedgerPost General LedgerServerAction (PostGeneralLedger), inactivePost goods receipt to General Ledger.

Lookup filters

FilterLookup fieldNotes
Branch For Partner AccountBranchId
Partner Account FilterPartnerAccountId
Only SupplierSupplierAccountId