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/Bill — entity reference
REFERENCE · Last reviewed

Bill — entity reference

The vendor-side counterpart of Invoice and the terminus of procure-to-pay. It is released from a PurchaseOrder or raised against a GoodsReceipt, and its lines carry the quantities being billed. Posting writes one balanced journal — Dr goods-received-not-invoiced, inventory or expense plus input tax credit, Cr Accounts Payable — and raises a Payable OpenTransaction; the same run deducts TDS for any line carrying a withholding section and captures input-GST TaxTransaction rows that feed GSTR-2B reconciliation. Payment state lives in OpenAmount and AdjustedAmount rather than in Status, which is a seeded pick list no code path assigns.

Fields

FieldLabelTypeRequiredWhat it does
AccountNameAccount NameTextA free-text denormalised party name limited to twenty characters, which is short enough that most real vendor names are truncated. It is not maintained from the linked supplier account, so it can drift; resolve the vendor through SupplierAccountId instead of reading this field.
AdjustedAmountAdjusted AmountCurrencyRunning total of PaymentAdjustment amounts applied against this bill; the payment-application path adds each adjustment here and immediately recomputes OpenAmount as TotalAmount minus this value, and reversing an adjustment subtracts it back. It is the mirror image of OpenAmount.
AmountPaidAmount PaCurrencyThe field is nevertheless locked against manual edits, so it will normally stay at zero. Use OpenAmount and AdjustedAmount, or the payable open item, to judge how much of a bill has been paid.
BillingAddressBilling AddressText
BillingCityBilling CityPickListValues: Pune, Mumbai, Chandigarh.
BillingCityIdBilling CityLookup → PlaceValues: Pune, Chandigarh, Mumbai.
BillingContactAddressIdBilling AddressLookup → ContactAddress
BillingCountryBilling CountryPickListValues: India.
BillingPostalCodeBilling Postal CodeText
BillingRegionBilling RegionText
BillingStateBilling StatePickListValues: New Delhi, Maharashtra, Punjab, Delhi, Haryana.
BillingStreetBilling StreetText
BranchIdBranchLookup → Branch
CreatedByIdCreated ByLookup → UserAccountYes
CreatedDateTimeCreated DateDateAndTimeYes
DescriptionDescriptionText
DiscountGroupIdDiscount GroupLookup → DiscountGroup
DocumentDateDocument DateDate
DueDateDue DateDateWhen the vendor expects payment. Posting copies it onto the payable open item, and it is the basis for the ageing buckets — overdue days are measured from the due date, falling back to the document date when it is empty, so leaving it blank makes a bill age from its own date.
ExternalIdExternalText
GeneralLedgerIdGeneral LedgerLookup → GeneralLedger
GeneratedByIdGenerated ByLookup
GLAccountIdGL AccountLookup → GLAccount
GLAmountGL AmountCalculatedNominally the header posting amount for a bill, but no calculated formula and no code path populates it. Because a bill that has lines derives its payable leg from the sum of the line amounts plus their tax, the header value is never consulted in practice and the field typically stays at zero.
GLPostingTypeGL Posting TypePickListSelects the control account for the header leg: unset or 'Credit' posts to Accounts Payable, while 'Cash', 'Bank' and 'Credit Card' post to those account types instead, and anything else falls back to Accounts Payable.
GoodsReceiptIdGoods ReceiptLookup → GoodsReceipt
IdIdGuidYes
IsBillGeneratedBill GeneratedCalculated (calculated)YesUse PurchaseOrderId and GoodsReceiptId to establish provenance instead.
IsGLPostedGL PostedBooleanYes
IsGLPostingApprovedGL Posting ApprovedBooleanThe posting gate. The posting action sets it before building the journal, and the posting engine reverses any existing journal instead of writing one whenever it is false or the bill is being deleted. It defaults to false, so a newly created bill does not post by itself.
IsKPICalculatedKPI CalculatedBoolean
IsRCMIs RCMBooleanMarks the bill as self-assessed under reverse charge. When set and the bill carries tax, posting diverts the tax portion away from Accounts Payable to a dedicated reverse-charge GST payable account and reduces the payable leg by that amount; posting fails outright if no such account can be resolved. It is also carried through to the input-GST capture as the reverse-charge flag.
ModifiedByIdModified ByLookup → UserAccountYes
NameDocument NumberText
OpenAmountOpen AmountCalculated
OwnerIdOwnerLookup → UserAccountYes
PartnerAccountIdPartner AccountLookup → AccountThe owning company or dealer entity rather than the vendor. It scopes posting-rule and account resolution, and posting is skipped altogether unless this account has GL posting enabled. It is non-editable after creation and, when the bill came from a goods receipt, cannot be edited away from the receipt's value.
PaymentTermsPayment TermsText
PerformGLPostingPerform GL PostingBooleanYes
PerformKPICalculationPerform KPI CalculationBoolean
PlaceOfSupplyPlace of SupplyCalculated (calculated)Values: Maharashtra, Gujarat, Rajasthan, Haryana.
PriceAsOnDatePrice As On DateDate
PriceListIdPrice ListLookup → PriceList
PurchaseOrderIdPurchase OrderLookup → PurchaseOrder
RecordTypeIdRecord TypeGuid, hidden
RemarksRemarksText
ResourceIdExecutiveLookup → Resource
RoundOffRound OffCurrency
ShippingAddressShipping AddressText
ShippingCityShipping CityPickListValues: Pune, Mumbai, Chandigarh.
ShippingCityIdShipping CityLookup → PlaceValues: Pune, Mumbai, Chandigarh.
ShippingContactAddressIdShipping AddressLookup → ContactAddress
ShippingCountryShipping CountryPickListValues: India.
ShippingPostalCodeShipping Postal CodeText
ShippingRegionShipping RegionText
ShippingStateShipping StatePickListValues: Maharashtra, New Delhi, Punjab, Delhi, Haryana.
ShippingStreetShipping StreetText
SkipSchemeSkip SchemeBooleanYes
SourceOfSupplySource of SupplyPickListValues: Maharashtra, Gujarat, Rajasthan, Haryana.
StatusStatusPickListValues: Draft, Approved, Rejected, Posted.
SupplierAccountIdSupplier AccountLookup → AccountThe vendor being paid — the party side of the payable, stamped on the AP control leg of the journal and on the resulting open item, and the account the open-documents lookup filters bills by. It is distinct from PartnerAccountId, the owning company, and cannot be changed after creation.
SupplierGSTINSupplier GSTINCalculated (calculated)
SupplierInvoiceAmountSupplier Invoice AmountCurrency
SupplierInvoiceDateSupplier Invoice DateDate
SupplierInvoiceNumberSupplier Invoice NumberTextThe vendor's own document reference, as printed on their invoice, as opposed to Name which is the internally generated bill number. It is capped at eighteen characters, and it is what GST inward-supply reporting and vendor reconciliation match on.
Tax1Tax1Currency
Tax1NameTax1 NameText
Tax1RateTax1 RateCurrency
Tax1TypeTax1 TypeText
TaxGroupIdTax GroupLookup → TaxGroup
TaxIdTaxLookup → Tax
TaxSupplyTypeTax Supply TypePickListValues: Within State, Outside State, Exempt, Exports, SEZ.
TCSEligibleAmountTCS Eligible AmountCurrency
TotalAmountTotal AmountCalculated (calculated)
TotalDiscountAmountTotal Discount AmountCalculated (calculated)
TotalLineAmountTotal Line AmountCalculated (calculated)
TotalLineBaseAmountTotal Line Base AmountCalculated (calculated)
TotalLineGrossAmountTotal Line Gross AmountCalculated (calculated)
TotalLineTaxAmountTotal Line Tax AmountCalculated (calculated)
TotalQuantityTotal QuantityCalculated (calculated)
TotalSchemeDiscountAmountTotal Scheme Discount AmountCalculated (calculated)
TotalTaxAmountTotal Tax Amount 1Calculated (calculated)
TotalTaxAmount2Total Tax Amount 2Calculated (calculated)
TotalTaxAmount3Total Tax Amount 3Calculated (calculated)
TransactionTypeTransaction TypePickListValues: Type 1, Type 2, Type 3.
TypeOfBillType of BillPickListValues: Expense Bill, OTC Purchase Bill, Purchase Bill.
UIPropsUI PropsText
UpdatedDateTimeModified DateDateAndTimeYes

Actions

ActionLabelTypeWhat it does
BulkDeleteDeleteDeleteDelete Selected
CloneCloneServerAction (Clone)Create a copy of this record
DeleteDeleteDeleteDelete
DeleteInListDeleteDeleteDelete in a list page
EditEditEditEdit
EditDetailEditEditInlineedit
EditInLineEditEditEdit in page.
EditInListEditEditInlineEdit
GetOpenDocumentsGet Open DocumentsServerAction (GetOpenDocuments)A read-only lookup that returns the open documents available to settle against, scoped to the bill's party and branch and to the payment direction, with an optional search key. It creates nothing — it is the picker behind a settlement screen, not a posting step.
GetPaymentAmountSummaryPaymentServerAction (GetPaymentAmountSummary)A read-only summary for the bill: its total, how much has been adjusted, what remains open, and the payments and adjustments making up the difference. Returns data for display only and changes nothing.
NewNewNewNew
PerformGLPostingPost General LedgerServerAction (PerformGLPosting)PostGeneralLedger
PerformInventoryPostingPost InventoryServerAction (PerformInventoryPosting)This action perform inventory posting.
PostAdjustmentsPost AdjustmentsServerAction (PostAdjustments)Bill settlement is recorded as PaymentAdjustment rows or, on the current open-item engine, SettlementAllocation rows against the bill's OpenTransaction.

Lookup filters

FilterLookup fieldNotes
Branch For Partner AccountBranchId
Only Partner AccountPartnerAccountId
Only SupplierSupplierAccountId