> ## Documentation Index
> Fetch the complete documentation index at: https://human-resource-docs.ha-consultancy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Employee Posting Groups

> How Business Central posts HR transactions to the General Ledger and what the 10 extra G/L account fields on the Employee Posting Group are used for.

Employee Posting Groups are how Business Central decides which G/L account to debit or credit when an Employee Journal Line is posted. This page covers both the standard BC field that drives posting and the 10 reference fields this extension adds on top.

## How HR posting works in BC

When you post an entry from the **Employee Journal**, the extension hands the lines to BC's standard `Gen. Jnl.-Post Batch` codeunit. Every line is built with:

```
Account Type = Employee
Account No.  = <Employee No.>
```

BC then resolves the **G/L offset account** in the following order:

1. The **`Bal. Account No.`** on the journal line itself (if set).
2. The **`Bal. Account No.`** on the Gen. Journal Batch (if the line doesn't have one).
3. The **Payables Account** on the Employee Posting Group of the employee (standard BC field).

The dimensions on the journal line (Shortcut Dimension 1 & 2) are carried through unchanged — see [Dimensions](/configuration/dimensions).

<Note>
  The HR extension does **not** override BC's standard posting flow. It feeds the standard codeunit; everything from balance checking to ledger-entry creation is BC's stock behaviour.
</Note>

## The fields you must set

To post HR transactions you need exactly **one** standard BC field configured on each Employee Posting Group you use:

| Field            | Where it lives                            | Required?                           |
| ---------------- | ----------------------------------------- | ----------------------------------- |
| Payables Account | Standard Employee Posting Group (BC core) | Required to post any employee entry |

That is the only field the posting engine reads.

## The 10 reference accounts added by this extension

The extension adds 10 extra G/L account fields to the Employee Posting Group page. They are **reference fields** — they document which G/L account *should* be hit for each HR-specific transaction type. They give a partner or finance manager one place to record their chart-of-accounts mapping, and they are intended to be consumed by:

* A partner's per-customer customization codeunit that defaults `Bal. Account No.` on lines based on document type.
* Manual reference when entering one-off lines in the Employee Journal.
* Reporting that needs to know which accounts collect each HR liability.

| Field (HAC)                | Field ID | What it accrues           |
| -------------------------- | -------- | ------------------------- |
| Employees Salary Account   | 70003104 | Salary expense            |
| Employees Leave Account    | 70003100 | Accrued leave liability   |
| Employees Overtime Account | 70003101 | Overtime expense          |
| Employees EOS Account      | 70003103 | End-of-service liability  |
| Employees Loans Account    | 70003107 | Loan principal receivable |
| Emp. Loan Instal. Account  | 70003110 | Loan installment offset   |
| Employees Advance Account  | 70003109 | Salary-advance receivable |
| Employees Bonus Account    | 70003108 | Bonus expense             |
| Employees Deduc. Account   | 70003106 | Generic deductions        |
| Employees Warnings Account | 70003105 | Disciplinary deductions   |

It is fine to leave any of these blank — the out-of-the-box posting flow does not require them.

## Recommended setup

1. Open **Tell Me** → **Employee Posting Groups**.
2. Open the posting group you assign to most employees (or create a new one named, for example, `LOCAL`).
3. Set the **Payables Account** (standard BC field). This is the only mandatory step for posting.
4. Optionally fill in any of the 10 reference accounts above to document your chart-of-accounts plan.
5. Assign the posting group to each employee on their **Employee Card** under **Invoicing**.

## Common pitfalls

| Symptom                                                                 | Likely cause                                                                                |
| ----------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- |
| "The journal lines were not posted because…" with a balance error       | No `Bal. Account No.` on the line or batch, and the posting group has no `Payables Account` |
| Posted entries show in Employee Ledger but no G/L impact for the offset | The journal batch is missing a `Bal. Account No.` — set one or balance every line manually  |
| The 10 HAC reference accounts are ignored                               | This is **expected**. They are not consumed by the posting engine — see above               |

## Object reference

| Object                                       | ID       | Notes                                                                                                              |
| -------------------------------------------- | -------- | ------------------------------------------------------------------------------------------------------------------ |
| Table extension `Employee Posting Group HAC` | 70003103 | Adds the 10 reference G/L account fields                                                                           |
| Page extension `Employee Posting Groups HAC` | 70003103 | Surfaces the 10 reference fields on the standard page                                                              |
| Codeunit `Employee Jnl. Post Mng. HAC`       | 70003133 | Maps Employee Journal Line → Gen. Journal Line and hands off to BC's standard `Gen. Jnl.-Post Batch` (Codeunit 13) |

## Related pages

* [Journals](/features/journals) — Employee Journal walkthrough
* [Dimensions](/configuration/dimensions) — how dimensions flow through HR posting
* [First-Time Configuration](/getting-started/configure) — high-level setup overview
