One expense position on an ExpenseClaim: the expense GL account debited (expenseGLAccountId), amount and GST, the ExpenseCategory, merchant/invoice details, payment mode, cost dimensions (project, cost centre, branch) and the receipt file. Posting only picks up lines that have an expense GL account and a non-zero amount+tax; ITC-eligible tax is debited to the Input GST control account instead of the expense head, with the cgst/sgst/igst/cess split captured as tax analytics. Also carries the billable-recharge fields (isBillableToCustomer, customerAccountId, markupPercent, billingStatus, rechargeInvoiceId) and the policy outcome flags (policyViolationFlag, duplicateFlag, disallowedAmount).
Fields
| Field | Label | Type | Required | What it does |
Amount | Amount | Currency | | |
ApprovedAmount | Approved Amount | Currency | | |
BillingStatus | Billing Status | Text | | Recharge pipeline state: NotBillable, PendingBilling (set by Compute Recharge), Billed (set by Link Recharge Invoice together with rechargeInvoiceId). Generating the actual customer invoice document is a separate sales-invoice flow. |
BlockedCreditReason | Blocked Credit Reason | Text | | |
BranchId | Branch | Lookup → Branch | | |
Cess | Cess | Currency | | |
Cgst | Cgst | Currency | | |
CostCenterId | Cost Center | Lookup → CostCenter | | |
CreatedById | Created By | Lookup → UserAccount | Yes | |
CreatedDateTime | Created On | DateAndTime | Yes | |
CustomerAccountId | Customer Account | Lookup → Account | | |
Description | Description | Text | | |
DisallowedAmount | Disallowed Amount | Currency | | The portion of the line finance will not reimburse. Policy rules with the AutoDisallow action add each over-limit excess to it automatically during evaluation; it can also be set in finance review. |
DuplicateFlag | Duplicate Flag | Boolean | | Set by the DuplicateDetection policy rule when another line with the same merchant, invoice number and amount exists on this claim or on a prior claim by the same employee (matched via the claim's resourceId). |
ExpenseCategoryId | Expense Category | Lookup → ExpenseCategory | | |
ExpenseClaimId | Expense Claim | Lookup → ExpenseClaim | | |
ExpenseDate | Expense Date | Date | | |
ExpenseGLAccountId | Expense GL Account | Lookup → GLAccount | | The expense head debited when the claim posts. Lines without it (or with a zero amount+tax) are skipped by posting entirely, so a claim whose lines all lack it cannot post. |
GLAccountName | Name | Text, unique | Yes | |
HsnSacCode | Hsn Sac Code | Text | | |
Id | Id | Guid | Yes | |
Igst | Igst | Currency | | |
InvoiceDate | Invoice Date | Date | | |
InvoiceNumber | Invoice Number | Text | | |
IsBillableToCustomer | Is Billable To Customer | Boolean | | Marks the line as rechargeable to a client. The Compute Recharge action only considers lines with this flag AND a customerAccountId, moving their billingStatus to PendingBilling and totalling them per customer and project. |
ItcCategory | Itc Category | Text | | GST input-credit classification of the line: Input, InputService, CapitalGoods or ImportIgst. |
ItcEligible | Itc Eligible | Boolean | | When true (and the line has tax), claim posting debits the tax to the Input GST control account rather than the expense head, and captures per-component TaxTransaction analytics for the input-credit trail. Posting fails if no TaxCredit control account is configured. |
LineNumber | Line Number | Number | | |
LineStatus | Line Status | Text | | Per-line review outcome: Pending, Approved, PartiallyApproved, Rejected. Line-level state for finance review, independent of the header's lifecycle Status. |
MarkupPercent | Markup Percent | Currency | | Recharge markup on a billable line: the recharge amount is (amount + tax) * (1 + markupPercent/100), computed by the Compute Recharge action. |
MerchantName | Merchant Name | Text | | |
ModifiedById | Modified By | Lookup → UserAccount | Yes | |
Name | Name | Text | | |
OwnerId | Owner | Lookup → UserAccount | Yes | |
PartnerAccountId | Partner Account | Lookup → Account | | |
PaymentMode | Payment Mode | Text | | How the expense was paid out of pocket: Cash, PersonalCard, CompanyCard, UPI or Bank. Distinguishes employee-payable spend from company-card spend, which is posted from CompanyCardTransaction against the card-payable liability instead. |
PlaceOfSupply | Place Of Supply | Text | | |
PolicyViolationFlag | Policy Violation Flag | Boolean | | |
ProjectId | Project | Lookup → Project | | |
ReceiptFileAssetId | Receipt File Asset | Lookup | | The attached receipt/proof file (a FileAsset; the binary is in blob storage). This exact field is what the ReceiptMandatoryAbove policy rule checks - a line over the threshold with this empty raises the violation. Richer OCR metadata lives on ExpenseReceipt rows. |
RechargeInvoiceId | Recharge Invoice | Lookup → Invoice | | |
RecordTypeId | Record Type | Guid, hidden | | |
Sgst | Sgst | Currency | | |
SupplierGstin | Supplier GSTIN | Text | | |
TaxAmount | Tax Amount | Currency | | GST on the line. For ITC-eligible lines it is debited to the Input GST (TaxCredit) control account instead of the expense head; the cgst/sgst/igst/cess component fields should sum to it, and an un-split tax amount is captured as IGST in the tax analytics. |
TaxInvoiceAvailable | Tax Invoice Available | Boolean | | |
TdsApplicable | Tds Applicable | Boolean | | |
UIProps | UI Props | Text | | |
UpdatedDateTime | Updated On | 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 this ExpenseClaimLine. |
DeleteRecord | Delete | Delete | Delete |
Edit | Edit | Edit | Edit this ExpenseClaimLine. |
EditInLine | Edit | EditInline | EditInLine |
EditRecord | Edit | Edit | Edit |
New | New | New | Create a ExpenseClaimLine. |
NewInLine | New | NewInline | New |
View | View | View | View this ExpenseClaimLine. |