Payroll (UK specific)

Keith A. Milner kamilner at superlative.org
Wed Jan 9 10:23:02 EST 2008


The following is a description of how I'm using Gnucash to help with Payroll 
administration for my (UK based) company.

I'm posting this for three reasons:

1. for peer review (I might well have something wrong)
2. as an real-world example of scheduled transactions using simple formula
3. as an example of how to use Gnucash for UK Payroll (probably adaptable for 
other countries)

Note this doesn't deal with how the various deductions are calculated, but how 
the resuling figured can be dealt with on Gnucash.

Hopefully it can help someone.

BACKGROUND:
Salary payments in the UK attract "PAYE" Income taxes and National Insurance 
Contributions (NICs) from both the employer and employee. The employee NICs 
and tax are subtracted from the employees gross pay. The employer NICs are 
paid by the company. Taxes and NICs are paid to Her Majesty's Revenue & 
Customs (HMRC) also known by many as "Hector".

My payroll is computed by an outside agency and I get regular payslips and 
summaries telling me the deductions related to each monthly payroll for each 
employee. Every 3 months I get a statement telling me how much I owe Hector, 
and I make a payment. This is a common mode of operation of many small 
companies.
(NOTE: I have deliberately kept this simple by ignoring things like pensions 
and other deductables or benefits - the concept should be extensible to 
handle these as required)

REQUIREMENT:
I needed a way to record what I owe to Hector, and the salary payments to each 
employee. Ideally this would let me easily see the deductions for each 
employee, as well as (ideally) do a cross-check against payments made to 
Hector.

ACCOUNT TREE:
The account tree I set up for this was as follows:
|- Expenses
  |- Emoluments
     |- Employer NIC
        |- Fred Bloggs
            |- Net Salary
            |- NI
            |- PAYE
        |- Jane doe
            |- Net Salary
            |- NI
            |- PAYE
...etc.

All of these are expense accounts. This structure allows me to instantly see 
the breakdown of Salary tax and NICs for each employee.

RECORDING TRANSACTIONS:
Each salary cycle, I need to record the fact that the company owes money to 
each of the 3 expense accounts for each employee. I also need to make a 
payment to each employee from the company bank account, and need to record 
this transaction.

This is done with two transactions per employee.

The first is a split transaction which records the fact the company owes money 
to the employee and to Hector. This transaction is from Accounts Payable to 
the following accounts:
Expenses:Emoluments:Employer NIC
Expenses:Emoluments:<employee>:Net Salary
Expenses:Emoluments:<employee>:NI
Expenses:Emoluments:<employee>:PAYE

(Remember, the calculation of the deductions is outside the scope of Gnucash 
and this description. I get the amounts from my payroll agency.)

The second transaction is to record the actual (Net) salary payment made to 
the employee by the company (which, effectively cancels that part of the debt 
incurred in the first transaction. This is simply from the company bank 
account to Accounts Payable.

To reiterate, both of these transactions have to be performed for every 
employee.

AUTOMATING:
As you can imagine, having to manually perform moderately complex split 
transactions for each employee every month is a little painful (even with a 
small number of employees) and is prone to error.
This is where scheduled transactions come in.
For each employee, I have set up a monthly scheduled transaction as follows:

Each employee's schedule transaction which has the following template (which 
is actually both of the transactions described above) - account names have 
been shortened for brevity, example is for employee "Keith Milner":

Account,  Debit Formula,  Credit Formula
-------------------------------------------------------------------
Accounts Payable,  (blank), Gross_Salary+Employer_NIC
E:E:Employer NIC, Employer_NIC, (blank)
E:E:Keith Milner:Net Salary, Gross_Salary-Employee_NIC-Tax, (blank)
E:E:Keith Milner:NI, Employee_NIC, (blank)
E:E:Keith Milner:PAYE, PAYE, (blank)

Bank Account:Current Account, (blank), Gross_Salary-Employee_NIC-PAYE
Accounts Payable, Gross_Salary-Employee_NIC-PAYE, (blank)

I have included a screen shot of this template attached to this email as well.

Every month, the scheduled transaction window pops up and requests the 
following details for each employee:
* Gross_Salary
* Employer_NIC
* Employee_NIC
* PAYE

These are simply entered and the transactions are created. This is easy to do 
and prevents user error.

REPORTING:
I haven't worked this out yet. What I'm aiming to do is to create a custom 
report which basically allows me to list out and total up the NICs and the 
PAYE for a given period. I can then cross-check this against the report from 
my agency. I'm not sweating too much over this, as the payment figures are 
already provided by the payroll agency and these are based on the 
computations they did for the salaries. It would be useful to help spot any 
user-input errors within Guncash though.

Any comments or critique of this is welcome.

regards,

-- 
Keith A. Milner
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: image/png
Size: 30096 bytes
Desc: not available
Url : http://lists.gnucash.org/pipermail/gnucash-user/attachments/20080109/0e1f0707/attachment.png 


More information about the gnucash-user mailing list