Skip to main content
This is the technical companion to the IIF export walkthrough. It documents what’s actually inside the .iif file PayPunch generates, so you know exactly what lands in QuickBooks.
IIF is the PayPunch payoff. Approved hours export straight to a QuickBooks Desktop .IIF file — no manual re-keying. This is what saves bookkeepers 30–40% of payroll processing time. See the IIF Export walkthrough.

File basics

  • Format: plain-text, tab-delimited (IIF = Intuit Interchange Format).
  • Extension: .iif, imported into QuickBooks Desktop.
  • Records: time-tracking records only (TIMEACT).
  • Filename: timesheet_{company-slug}_{YYYYMMDD}_to_{YYYYMMDD}.iif — e.g. timesheet_builders-r-us-construction_20260609_to_20260615.iif.

Layout

The first line is a header that names the columns; every following line is one time record.
TIMEACT layout
!TIMEACT	DATE	JOB	EMP	ITEM	PITEM	DURATION	NOTE
TIMEACT	06/09/2026	Builders R Us Construction	Smith, John	Hourly Wages	Regular Pay	40:00	Job: PROJ001
TIMEACT	06/09/2026	Builders R Us Construction	Smith, John	Hourly Wages	Overtime Pay	5:30	Job: PROJ001 (OT)
Columns are separated by tabs, not spaces. The spacing above is just for readability — in the real file each gap is a single tab character.

Column reference

ColumnMeaningFormat / source
TIMEACTRecord type markerLiteral TIMEACT on every data row
DATEWork dateMM/DD/YYYY, taken from the entry’s clock-in
JOBCustomer / jobThe client company name
EMPEmployeeLast, First
ITEMService itemThe employee’s QuickBooks payroll item, or Hourly Wages if none is set
PITEMPayroll itemThe employee’s QuickBooks payroll item, or Regular Pay if none is set
DURATIONHours workedHH:MM (e.g. 40:00, 5:30)
NOTEFree-text noteCombined from the entry’s job code, task code, and notes

The overtime split

Regular and overtime hours are written as separate TIMEACT lines for the same employee and date:
  • The regular line uses the employee’s normal payroll item (PITEM = the item or Regular Pay).
  • The overtime line uses an OT payroll item — {payroll item} - OT, or Overtime Pay when the employee has no QuickBooks item configured — and its note is suffixed with (OT).
A line is only written when that bucket has hours: a shift with no overtime produces a single regular line; a shift with no regular hours produces only the OT line.

What gets included

PayPunch is deliberate about which entries make it into the file. An entry is exported only if it is:
1

Approved

The time entry is approved (approved = true). Pending or rejected entries are skipped.
2

Clocked out

The entry has a clock-out time — open/in-progress shifts are excluded.
3

In the selected date range

The clock-in falls between the export’s start and end dates (the date range can’t exceed one year).
4

Not already exported (by default)

Entries already marked exported are skipped so hours aren’t double-counted. Re-exporting a period that includes already-exported entries is an explicit opt-in.

Field cleaning

Because the format is tab-delimited, PayPunch sanitizes every text field before writing it: tabs become spaces, line breaks are removed, and surrounding whitespace is trimmed. This keeps a stray character in a company name or note from shifting columns in QuickBooks.