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

Salary Payment Batch — entity reference

The salary disbursement batch: one bank payment that settles many employees' Payroll-Payable open items in a single posting of Dr Payroll Payable / Cr Bank. It is generated from a run that is already POSTED (one line per employee with positive net pay, bank details read from each Resource) and starts in Draft with no accounting effect; paying it is the step that moves money and writes the journal, stamps GLId, sets Status to Paid, and sets the run to Paid with its PaymentBatchId. The amounts actually paid come from the run's Resource-keyed Payroll-Payable open items, not from the batch line values, so editing a line does not change what is settled. Status is Draft, Approved, FileGenerated or Paid, but only Draft and Paid are ever written — nothing generates a bank payment file.

Fields

FieldLabelTypeRequiredWhat it does
BankGLAccountIdBank GL AccountLookup → GLAccountThe bank account the salary is paid from, credited when the batch is paid. It can be left to the system at generation time, in which case it resolves to the company's configured default bank account or its single bank control account, and generation fails outright when the company has several banks and no default rather than guessing.
CreatedByIdCreated ByLookup → UserAccountYes
CreatedDateTimeCreated DateDateAndTimeYes
GLIdGLLookup → JournalThe bank payment Journal this batch posted. It doubles as the already-paid guard — any value here makes a second pay attempt fail — so treat a batch with a journal as final regardless of what Status says.
IdIdGuidYes
ItemCountItem CountNumberThe number of employees in the batch. At generation it counts the lines built from the run's positive net pay; at payment it is rewritten to the number of open items actually settled, so a drop between the two means some employees had no outstanding net-pay item left.
LabelLabelText
ModifiedByIdModified ByLookup → UserAccountYes
NameNameText, uniqueYes
OwnerIdOwnerLookup → UserAccountYes
PartnerAccountIdPartner AccountLookup → Account
PaymentDatePayment DateDateThe value date of the bank payment, defaulting to the generation date, and the date the settlement journal is stamped with. It is independent of the payroll period's pay date, which dates the accrual instead.
PaymentFileFormatPayment File FormatTextIntended to select the bank's payment file layout.
PaymentReferencePayment ReferenceTextA free-text bank reference for the batch as a whole. No first-party code populates it — it is manual data entry kept for reconciliation notes.
PayrollRunIdPayroll RunLookup → PayrollRunThe posted run whose net pay this batch disburses; it is also how the batch finds the employees' Payroll-Payable open items to settle. The reverse link on the run is only stamped once the batch is actually paid, so this side exists first.
RecordTypeIdRecord TypeGuid, hidden
StatusStatusPickListThe batch's state, from Draft, Approved, FileGenerated and Paid. Values: Draft, Approved, File Generated, Paid.
TotalNetPayTotal Net PayCurrencyThe batch amount. At generation it is the sum of the run's positive per-employee net pay; when the batch is paid it is overwritten with the total actually settled from the Payroll-Payable open items, which is the figure the bank credit line carries.
UIPropsUI PropsText
UpdatedDateTimeModified DateDateAndTimeYes

Actions

ActionLabelTypeWhat it does
BulkDeleteDeleteDeleteDelete the selected records.
CloneCloneServerAction (Clone)Create a copy of this record
DeleteDeleteDeleteDelete this PayrollPaymentBatch.
DeleteRecordDeleteDeleteDelete
EditEditEditEdit this PayrollPaymentBatch.
EditInLineEditEditInlineEdit
EditRecordEditEditEdit
NewNewNewCreate a PayrollPaymentBatch.
PayBatchPayServerAction (PayPaymentBatch)Posts the actual bank payment: it finds each line's employee Payroll-Payable open item for the run, aggregates the debits by control account and branch, credits the bank account on the batch, and writes one payroll journal for the whole batch. It then zeroes and settles those open items, marks the settled lines Paid, stamps the batch with its journal and Paid status and rewrites its total and item count, and moves the parent run to Paid with this batch recorded on it. It refuses a batch that already has a journal, one with no bank account, and one where nothing is left open to settle; because it works from the open items, editing line amounts beforehand does not change what is paid.
ViewViewViewView this PayrollPaymentBatch.

Lookup filters

FilterLookup fieldNotes
PartnerAccountFilterPartnerAccountId