The salary payment batch of one posted payroll run: one bank payment that settles every employee's Payroll Payable open item from that run in a single journal (debit Payroll Payable, credit the bank). Generate Payment on the run creates it in Draft with one line per employee whose net pay is above zero, named PPB- plus the run number. Because Name is unique, a run can have only one batch at a time. Pay posts the journal on the Payment Date, settles the open items, marks the batch and the run Paid and links them. Pay uses the open items, not the line amounts. The batch is in no app (find it through the App Launcher search), produces no bank file, and has no lock or reverse once paid.
Fields
| Field | Label | Type | Required | What it does |
BankGLAccountId | Bank GL Account | Lookup → GLAccount | | The bank GL account the payment credits. Generate Payment takes the company's default bank (Set default bank under Org Settings, Companies), or its only GL account with Control Type Bank, and stops when the company has several and no default. The picker is not filtered to bank accounts and Pay does not check the type. It is on the record page, not on the Edit form. Pay is refused without it. |
CreatedById | Created By | Lookup → UserAccount | Yes | |
CreatedDateTime | Created Date | DateAndTime | Yes | |
GLId | GL | Lookup → Journal | | The payment journal posted by Pay. While it is filled, Pay is refused with Payment batch is already paid. Reversing the journal from Journals does not clear it. |
Id | Id | Guid | Yes | |
ItemCount | Item Count | Number | | The number of employees. At generation it is the number of lines. Pay replaces it with the number of open items settled, so a lower figure means some employees had nothing left open. |
Label | Label | Text | | |
ModifiedById | Modified By | Lookup → UserAccount | Yes | |
Name | Name | Text, unique | Yes | The batch number, set by Generate Payment to PPB- followed by the payroll run number. Names are unique, so a second Generate Payment on the same run is refused while the first batch exists. |
OwnerId | Owner | Lookup → UserAccount | Yes | |
PartnerAccountId | Partner Account | Lookup → Account | | The company paying the salary, copied from the payroll run at generation. Pay posts the journal for this company. |
PaymentDate | Payment Date | Date | | The date the payment journal is posted on. Generate Payment sets it to the day the batch is generated; change it before paying if the transfer happens later. Its fiscal period and financial year must be open. It is independent of the payroll period's pay date, which dates the accrual. |
PaymentFileFormat | Payment File Format | Text | | A free-text note on the bank file layout. Nothing reads it, and the platform produces no bank payment file. |
PaymentReference | Payment Reference | Text | | A free-text bank reference for the whole payment, for your own records. Nothing fills or reads it. |
PayrollRunId | Payroll Run | Lookup → PayrollRun | | The posted payroll run this batch pays. Pay settles that run's open items for the employees on the lines, so it should not be changed. |
RecordTypeId | Record Type | Guid, hidden | | |
Status | Status | PickList | | Draft when generated and Paid when Pay posts the journal. Approved and File Generated are offered but never set or read. It is shown in the record header and is not edited by hand. Values: Draft, Approved, File Generated, Paid. |
TotalNetPay | Total Net Pay | Currency | | The batch amount. At generation it is the sum of the line net pays. Pay replaces it with the total actually settled from the employees' open items, which is the amount of the bank credit. |
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 | |