^Login

Frequently Asked Questions

Authors
Category   API   Billing   Dashboard   Employee Access   Employee Management   Employee Settings   EOFY   Fingerprint Scanners   General   Glossary   Groups   HR   Jobs   Leave   Mobile App   Notification Config   Payroll   Payroll Deduction   Payroll Rules   Reports   Roster   Security   Settings   Skills Matrix   STP   Superannuation   Timesheet   VEVO   Xero

Can I build my own accounting export using the Payroll API?

Author Dylan Wong@Microkeeper
Category API
Last Modified 05/06/2026

Yes. If you post payroll journals in your own accounting system (and are not using Microkeeper's built-in Accounting Export to Xero, MYOB, Reckon, etc.), you can pull the payroll detail you need with the Developer API and build your own export or GL file on your side.

Note: if we don't have your accounting system supported, contact our support team to see if it is on our roadmap

You do not need Microkeeper account codes, journal descriptions, or tracking categories. You apply your own general ledger mapping to the amounts and descriptions returned by the API.


Before starting, complete the Hello World tutorial and read Process and get payroll data via developer API especially the section Retrieving Payroll Data or a List of Payruns.


Which API action to use

Use get_payroll to download completed payrun data in JSON.

Use get_payrun_list only if you need a lightweight list of payruns (dates and identifiers) without full payslip detail for example, to let a user pick a payrun before calling get_payroll.


How this differs from Microkeeper Accounting Export

Microkeeper's Accounting Export report is designed to push pre-mapped journal lines into connected accounting software. It stores GL accounts and tracking against pay types inside Microkeeper.

get_payroll returns the same underlying payroll information as payslips and payroll reports payments, expenses, deductions, tax, and net broken down line by line. Your application decides how to group amounts and which accounts to use.


Step 1 Request payroll data

Set the mk_action and mk_data variables.

Variable nameValues and example
mk_action

get_payroll

mk_data

By payment date range (up to 365 days)

{ "start_date":"2025-07-01", "end_date":"2025-07-31" }

By specific payrun(s)

{ "payrun_id":[{ "PCID":0, "year":2018, "run_id":48 }] }

Optional limit to certain staff

{ "start_date":"2025-07-01", "end_date":"2025-07-31", "EmployeeID":["A111","A222"], "eusername":["john_smith"], "EID":[3,4] }


Important

- Only payruns that have finished processing are returned. If a payrun is still calculating, the API will return an error until it is complete.

- Request the same pay cycle and date range you would use when running payroll in Microkeeper. For a single payrun, using payrun_id is often clearer than a wide date range.


Step 2 Data to use for your export

The response contains one or more payruns under data runs. Each payrun has run_data (header) and payslips (one record per employee).

Payrun header run_data

Use these fields for journal dating and references:

FieldTypical use in your export
payment_dateJournal or payment date (YYYY-MM-DD)
period_start / period_endPay period covered by the run
PCID, year, run_idUnique payrun reference (e.g. in memo or batch ID)
periodweekly, fortnightly, semi-monthly, monthly
pay_cycle_title, abn, abn_name, abn_tradingEntity / pay cycle labelling (may be omitted on legacy accounts check before use)


Line detail pay_list, exp_list, ded_list

For GL mapping, most integrators work from the line lists on each payslip rather than only the payslip totals.

ListWhat it containsFields commonly used for mapping
pay_listWages and other paymentsnote, value, hours, date, LID, ROID, JID, class, rate, mult, STP
exp_listEmployer expenses (e.g. super guarantee, salary sacrifice)note, value, class (e.g. SUPER3 for employer SG)
ded_listEmployee deductionsnote, value, class (e.g. FEES, GIVE, SUPER)

note is the pay or deduction description (e.g. Basic Rate, Super-Job C, Union Fees). Map this together with class and cost centre IDs to your own accounts.

value is the dollar amount for that line.

LID, ROID, and JID are Microkeeper Location, Role, and Job IDs. Use them in your mapping rules, or resolve to names in Microkeeper (Jobs, Locations, etc.) if your export needs readable labels.

Refer to the Payments Classification Chart for payment class values returned on pay_list (e.g. Normal, Overtime, Allowance).


Payslip totals tax and net

Each payslip also includes summary fields useful for balancing your journals:

FieldTypical use
payment, expense, taxableReconcile to summed pay_list / exp_list
deductionReconcile to ded_list
taxPAYG withholding for the employee sum across payslips for a run-level PAYG line if required
netNet pay sum for a wages payable / bank clearing line
hoursTotal hours for the period

Employee identifiers eusername, EID, and EmployeeID are included if you need per-employee exports or to match staff in your system.


Super and leave (optional)

super_fund_detail fund name, ABN, and USI keyed by super_fund on each payslip.

leave_accrual leave accrued and balances for the payrun (if your reporting needs them). Standard accounting exports usually focus on pay_list, exp_list, ded_list, tax, and net.


Step 3 Build your export

Microkeeper returns data per employee per payrun. Your application typically:

1. Loops through each payrun in runs.

2. Uses run_data.payment_date (and optionally period_start / period_end) on every journal line.

3. Groups pay_list, exp_list, and ded_list lines by the combination you care about for example note + class + JID, or by employee if you export separately.

4. Sums value for each group and assigns your own GL accounts.

5. Adds run-level lines from summed tax (PAYG) and net (wages payable) if your chart of accounts expects them.

This is the same information you would review on payslips in Microkeeper; the API simply delivers it in a structured format for your software.


Tips and limitations

Processing payroll via API If you use add_payroll as well, remember that totals you send may differ from payslip totals after Microkeeper calculates super, leave, and other rules. Use get_payroll after processing for an accurate picture for export. See the note in the main payroll API guide under Response for add_payroll.

Super on add_payroll Do not send super as a payment when processing payroll; Microkeeper calculates it. When getting payroll, employer super appears on exp_list (often with class SUPER3).

Locked payruns Locked payruns cannot be reprocessed via add_payroll; get_payroll can still be used to read historical data.

Date range A single request can cover up to 365 days. For large employers, request one payrun or a narrow date range per call.


Related guides

Hello World API integration

Process and get payroll data via developer API (full field reference for get_payroll)

Payments Classification Chart