One item on a vendor Bill. It mirrors InvoiceLine but is costed rather than priced: BaseAmount is Quantity times UnitCost2 when non-zero else UnitCost. GoodsReceiptLineId decides how the line posts — set, the line clears the goods-received-not-invoiced accrual the receipt already raised, so inventory is not debited twice; unset, the line debits Inventory or Expense according to its GLPostingType. A withholding section on the line drives TDS deduction when the bill is posted.
Fields
| Field | Label | Type | Required | What it does |
AccountId | Account | Lookup → Account | | |
Amount | Amount | Calculated (calculated) | | Metadata-calculated as BaseAmount less NetDiscount and NetSchemeDiscount — the net-of-discount, pre-tax line value that rolls into the bill's TotalLineAmount. Unlike the sales-side line it applies the discounts unconditionally, and the post-tax discount switch only affects GrossAmount. |
ApplyPostTaxDiscount | Apply Post Tax Discount | Boolean | Yes | |
BaseAmount | Base Amount | Calculated (calculated) | | |
BenefitId | Scheme Benefit | Lookup → SchemeBenefit | | |
BillId | Bill | Lookup → Bill | | |
BranchId | Branch | Calculated (calculated) | | |
CashDiscount | Cash Discount | Percent | | A value here therefore does not reduce Amount, GrossAmount or anything posted. |
CashDiscountAmount | Cash Discount Amount | Currency | | The explicit counterpart of the cash-discount rate, and equally unused: it appears in no discount formula and in no posting path, so recording it changes nothing about the line's value or the ledger. Treat it as documentation of terms, not as an amount that will be taken. |
ContractDiscount | Contract Discount | Percent | | |
ContractDiscountAmount | Contract Discount Amount | Currency | | |
ConversionRatio | Conversion Ratio | LargeNumber | | |
ConversionRatio1 | Conversion Ratio 1 | LargeNumber | | |
CreatedById | Created By | Lookup → UserAccount | Yes | |
CreatedDateTime | Created Date | DateAndTime | Yes | |
Description | Description | Text | | |
Discount | Discount | Percent | | |
Discount2 | Discount 2 | Decimal | | |
DiscountAmount | Discount Amount | Currency | | |
DiscountAmount2 | Discount Amount 2 | Currency | | |
EligibleReturnQuantity | Eligible Return Quantity | Calculated (calculated) | | |
ExternalId | External | Text, unique | | |
GeneralLedgerId | General Ledger | Lookup → GeneralLedger | | |
GLAccountId | GL Account | Lookup → GLAccount | | |
GLAmount | GL Amount | Calculated (calculated) | | |
GLPostingType | GL Posting Type | PickList | | Decides the debit account for a line that did not come from a goods receipt: 'Inventory' debits the inventory asset account and anything else debits Expense. It is ignored entirely when the line carries a goods-receipt reference, because such a line instead clears the goods-received-not-invoiced accrual. |
GoodsReceiptLineId | Goods Receipt Line | Lookup → GoodsReceiptLine | | |
GrossAmount | Gross Amount | Calculated (calculated) | | Metadata-calculated as Amount plus TaxAmount, less the discounts again when the line is flagged for post-tax discounting. It is the tax-inclusive line value and is what the bill's TotalAmount and TotalLineGrossAmount both roll up. |
HsnSacCode | HSN/SAC Code | Text | | |
Id | Id | Guid | Yes | |
InventoryLedgerId | Inventory Ledger | Lookup → InventoryLedger | | |
InvoiceQuantity | Invoice Quantity | Calculated (calculated) | | |
IsCustomerBillable | Customer Billable | Boolean | Yes | |
IsGLPosted | GL Posted | Boolean | Yes | |
IsGLPostingApproved | GL Posting Approved | Boolean | Yes | |
IsILPosted | IL Posted | Boolean | Yes | |
IsILPostingApproved | IL Posting Approved | Boolean | Yes | |
IsSchemeGenerated | Scheme Generated | Boolean | Yes | |
ItemId | Item | Lookup → Item | | |
ItemLotId | Item Lot | Lookup → ItemLot | | |
ItemLotTypeId | Item Lot Type | Lookup → ItemLotType | | |
ItemName | Item Name | Text | | |
ModifiedById | Modified By | Lookup → UserAccount | Yes | |
Name | Document Number | Text | | |
NetDiscount | Net Discount | Calculated (calculated) | | |
NetSchemeDiscount | Net Scheme Discount | Calculated (calculated) | | |
OwnerId | Owner | Lookup → UserAccount | Yes | |
PartnerAccountId | Partner Account | Calculated (calculated) | | |
PriceAsOnDate | Price As On Date | Date | | |
PriceListId | Price List | Lookup → PriceList | | |
PriceListRuleId | Price List Rule | Lookup → PriceListRule | | |
PurchaseOrderLineId | Purchase Order Line | Lookup → PurchaseOrderLine | | |
Quantity | Quantity | LargeNumber | | |
RecordTypeId | Record Type | Guid, hidden | | |
ReturnedQuantity | Returned Quantity | LargeNumber | | |
SchemeDiscount | Scheme Discount | Percent | | |
SchemeDiscountAmount | Scheme Discount Amount | Currency | | |
SchemeLineId | Scheme Line | Lookup → SchemeLine | | |
SchemeRewardPoints | Scheme Reward Points | LargeNumber | | |
SkipScheme | Skip Scheme | Boolean | | |
SKUId | SKU | Lookup → SKU | | |
StorageLocationId | Storage Location | Lookup → StorageLocation | | |
Tax1 | Tax1 | Currency | | |
Tax1Name | Tax1 Name | Text | | |
Tax1Rate | Tax1 Rate | Currency | | |
Tax1Type | Tax1 Type | Text | | |
Tax2 | Tax2 | Currency | | |
Tax2Name | Tax2 Name | Text | | |
Tax2Rate | Tax2 Rate | Currency | | |
Tax2Type | Tax2 Type | Text | | |
Tax3 | Tax3 | Currency | | |
Tax3Name | Tax3 Name | Text | | |
Tax3Rate | Tax3 Rate | Currency | | |
Tax3Type | Tax3 Type | Text | | |
Tax4 | Tax4 | Currency | | |
Tax4Name | Tax4 Name | Text | | |
Tax4Rate | Tax4 Rate | Currency | | |
Tax4Type | Tax4 Type | Text | | |
Tax5 | Tax5 | Currency | | |
Tax5Name | Tax5 Name | Text | | |
Tax5Rate | Tax5 Rate | Currency | | |
Tax5Type | Tax5 Type | Text | | |
Tax6 | Tax6 | Currency | | |
Tax6Name | Tax6 Name | Text | | |
Tax6Rate | Tax6 Rate | Currency | | |
Tax6Type | Tax6 Type | Text | | |
TaxAmount | Tax Amount | Currency | | |
TaxGroupId | Tax Group | Lookup → TaxGroup | | |
TdsSectionId | TDS Section | Lookup → TdsSection | | Tags the line with a withholding section. New lines with no section inherit the vendor's default section, and explicit tags plus already-saved lines are never overwritten. When the bill posts, a line with a section triggers a withholding entry that debits the payable and credits the withholding liability, reducing what is owed to the vendor; a failure there rolls back the whole posting. |
UIProps | UI Props | Text | | |
UnitCost | Unit Cost | Currency | | The purchase cost per unit and the price-equivalent on this entity; BaseAmount is Quantity times UnitCost, unless UnitCost2 is non-zero in which case that wins. A validation rule against zero or negative cost exists but ships inactive. |
UnitCost2 | Unit Cost 2 | Decimal | | An alternate cost taken from the price-list rule's second value, and it takes precedence: BaseAmount uses it whenever it is non-zero and only falls back to UnitCost otherwise. |
UOM | UOM | Text | | |
UOM1 | UOM1 | PickList | | |
UOMQuantity | UOM Quantity | LargeNumber | | |
UOMQuantity1 | UOM Quantity 1 | LargeNumber | | |
UpdatedDateTime | Modified Date | DateAndTime | Yes | |
Actions
| Action | Label | Type | What it does |
BulkDelete | Delete | Delete | Delete the selected records. |
Clone | Clone | ServerAction (Clone) | Create a copy of this record |
Delete | Delete | Delete | Delete |
DeleteInList | Delete | Delete | Delete in a list page |
Edit | Edit | Edit | Edit |
EditIn | Edit | EditInline | EditInLine |
EditInLine | Edit | Edit | Edit in page. |
New | Quick Add | NewInline | New |
Validations
| Validation | Applies to | Error message | Notes |
| Unit Cost Rule Validation | UnitCost, Error, inactive | Unit Cost should not be less than 0 | Prevents zero or negative unit cost |
Lookup filters
| Filter | Lookup field | Notes |
| Sku For Item | SKUId | Sku For Item |