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
| Field | Label | Type | Required | What it does |
BankGLAccountId | Bank GL Account | Lookup → GLAccount | | The 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. |
CreatedById | Created By | Lookup → UserAccount | Yes | |
CreatedDateTime | Created Date | DateAndTime | Yes | |
GLId | GL | Lookup → Journal | | The 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. |
Id | Id | Guid | Yes | |
ItemCount | Item Count | Number | | The 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. |
Label | Label | Text | | |
ModifiedById | Modified By | Lookup → UserAccount | Yes | |
Name | Name | Text, unique | Yes | |
OwnerId | Owner | Lookup → UserAccount | Yes | |
PartnerAccountId | Partner Account | Lookup → Account | | |
PaymentDate | Payment Date | Date | | The 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. |
PaymentFileFormat | Payment File Format | Text | | Intended to select the bank's payment file layout. |
PaymentReference | Payment Reference | Text | | A 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. |
PayrollRunId | Payroll Run | Lookup → PayrollRun | | The 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. |
RecordTypeId | Record Type | Guid, hidden | | |
Status | Status | PickList | | The batch's state, from Draft, Approved, FileGenerated and Paid. Values: Draft, Approved, File Generated, Paid. |
TotalNetPay | Total Net Pay | Currency | | The 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. |
UIProps | UI Props | Text | | |
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 this PayrollPaymentBatch. |
DeleteRecord | Delete | Delete | Delete |
Edit | Edit | Edit | Edit this PayrollPaymentBatch. |
EditInLine | Edit | EditInline | Edit |
EditRecord | Edit | Edit | Edit |
New | New | New | Create a PayrollPaymentBatch. |
PayBatch | Pay | ServerAction (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. |
View | View | View | View this PayrollPaymentBatch. |
Lookup filters
| Filter | Lookup field | Notes |
| PartnerAccountFilter | PartnerAccountId | |