Post Payroll
Post Payroll is the bridge to the accounts. It takes one completed payroll run, totals it by wage type, puts each total against the debit and credit accounts the salary structure names, and writes it into the ledger. It is also where a posting is reversed.
What it is for
A payroll run is a calculation. Until it is posted, the company's books do not know that a salary cost happened at all. This screen is the step that tells them.
The lines come up by themselves from the payroll you pick, and the shape they come up in is the point. The run holds a figure per man per wage type. This screen totals that by wage type and dimension, so the ledger receives one line for basic salary, one for house rent, one for the provident fund, each against its accounts and its cost dimension. The ledger gets the cost, broken down the way accounts want it, and nobody's individual salary goes into the general ledger where the whole company can read it.
The accounts on each line are not typed. They come from the accounting set-up on the Salary Structure that the man was on at the end of the period, matched on the wage type. An empty account column is therefore not a mistake on this screen, it is a wage type with no account set against it on the structure. Fix it there and create the posting again.
Posting is also what locks the run. Once a payroll has a posting against it that has not been reversed, it cannot be deleted. That is how a period that has gone to the accounts stops being quietly edited.
Reversal is the way back. Tick Reverse, give a reverse date that is not earlier than the posting date, name a reason and write a remark. The posting is reversed in the ledger, and the payroll it belonged to is free again - it can be deleted, corrected and re-run.
Every field, in plain words
Basic Data
| Field | What it means | What to put in it | Notes |
|---|---|---|---|
| Transaction | The posting's number | PYPO-000071 | Required. It numbers itself |
| Posting Date | The date the cost hits the books | 31 Jan 2026 | Required. Normally the last day of the period being paid. Accounts will want it inside the accounting period they expect the salary cost in |
| Transaction Journal | Which journal the entry is written into | PAYROLL | Required. Pick it from the list of transaction journals. Agree with accounts which journal salary costs go into before the first posting |
| Payroll | Which payroll run is being posted | PYRO-000074 | Required. Pick it from the list, which offers the runs available to post. One posting per run |
Reverse
| Field | What it means | What to put in it | Notes |
|---|---|---|---|
| Reverse | Reverses this posting | Leave it clear unless you are reversing | Ticking it and saving reverses the entry in the ledger and frees the payroll run again |
| Reverse Date | The date the reversal hits the books | 05 Feb 2026 | It cannot be earlier than the Posting Date, and the screen refuses that with both dates in the message |
| Reverse Reason | Why it is being reversed | CORRECTION | Pick it from the reason list. Have the client agree a short set, so a year of reversals can be counted |
| Remarks | The reversal in words | Attendance sheet corrected for 14 late marks, payroll to be re-run | Write it properly. A reversal with no explanation is the first thing an auditor asks about |
Periods Lines
One line per wage type and dimension. Everything on it is worked out.
| Field | What it means | What to put in it | Notes |
|---|---|---|---|
| Line # | The line number | Fills itself | Leave it |
| Wage Type | Which wage type the total belongs to | BASIC | Fills itself. Leave it |
| Name | The wage type in words | Basic Salary | Fills itself. Leave it |
| Dimension | The cost dimension the amount is carried on | Factory / Spinning | Fills itself from the payroll line, so the cost lands against the right cost object |
| Gross Amount | The total for that wage type across everybody on the run | 2,845,000.00 | Fills itself. A deduction shows as a negative figure, because the direction of the wage type is already in the sign |
| Debit Account | Where the amount is debited | 5110-01 Salaries and Wages | Fills itself from the accounting set-up on the salary structure. If it is empty, no account is set for that wage type there |
| Credit Account | Where the amount is credited | 2210-01 Salaries Payable | Fills itself the same way |
How to configure it
- Before the first posting, sit with the accounts department and set a debit and a credit account against every wage type on each Salary Structure in use. This is the work that makes this screen a two minute job every month.
- Agree which transaction journal salary costs are written into.
- Run and check the Payroll for the period first. Posting a run you have not checked is how a wrong period reaches the books.
- Open this screen, set the Posting Date, pick the journal and pick the payroll.
- Read down the Periods Lines. Look for an empty Debit Account or Credit Account, and for a wage type you did not expect to see.
- Check that the lines total to what you expect: the cost to company for the period, not the net pay. See the maths for the difference.
- Save. The entry is written and the payroll is locked.
- Only then release the payment.
Scenarios
An account column is empty on one line
That wage type has no account against it on the salary structure the man was on at the end of the period. Set it there, then create the posting again. Do not leave the line unaccounted for in the hope that accounts will sort it out in a journal of their own, because next month it will be empty again.
We posted the wrong period and the accounts are closed
Reverse the posting with a reverse date inside an open accounting period, and name the reason. The reversal cannot be dated earlier than the posting, so a posting dated in a closed period is reversed in the current one. Then post the right period.
We need to correct a payroll that has already been posted
The run cannot be deleted while a live posting exists against it. Reverse the posting, then delete the run, fix what was wrong - the attendance sheet, a wage type, an additional payment document - and run and post it again.
The ledger total does not match what we paid out
It should not. The posting carries the whole cost of employing people for the period, including the employer's share of the contributions, which never reaches anybody's hand. What was paid out is the total of the Payment Amount column on the run. The two differ by exactly the tax and the employer costs, which is what the maths sets out.
A man left on the fifteenth and his settlement is not in the posting
It would not be. A leaver is not in the payroll run, so he is not in its posting either. Final Settlement does not post itself - its Posted tick is a note somebody sets by hand - so the client has to agree how a settlement reaches the books, normally as a journal entry raised by accounts from the settlement document.
What it is connected to
- Posts one Payroll run, which is locked against deletion while the posting stands.
- Takes its accounts from the accounting set-up on the Salary Structure, matched on wage type.
- Writes into the transaction journal that accounts nominate.
- A reversal frees the run again.
If something looks wrong
- "The lines come up with empty accounts" - the wage type has no account on the salary structure in use. Set it there and create the posting again.
- "It says the reverse date cannot be less than the posting date" - date the reversal on or after the posting. Both dates are in the message.
- "The payroll will not delete" - a posting exists against it. Reverse the posting first.
- "A deduction shows as a negative amount" - that is correct. The wage type's direction is carried in the sign.
- "The payroll is not in the list to post" - it has a live posting already, or it was never saved.