Payroll

Get General Ledger Transactions

GET
/general-ledger-transactions

Returns a paginated list of general ledger journal entries for a specific company and payroll run. Each entry represents a debit or credit transaction used to record payroll costs in the company's accounting system.

Use distribution-options to control how payroll costs are allocated to departments within each journal entry category. Each category can be independently set to HomeDepartment (the employee's primary assigned department), WorkDepartment (the department where the employee actually worked during the pay period), or None (no department allocation). When a category is omitted, the company's default allocation setting is used.

Transaction categories available for distribution:

  • salary-expenses
  • employer-tax-expenses
  • employer-tax-liabilities
  • employee-tax-liabilities
  • employer-deduction-expenses
  • employee-deduction-liabilities
  • employer-deduction-liabilities
  • workers-compensation-expenses (only applies when include-workers-compensation=true)
  • workers-compensation-liabilities (only applies when include-workers-compensation=true)

Access control: Results are limited to companies your integration has access to.

Error Details:

  • 404 Not Found — the specified company is not accessible, or no transactions were found for the given company and payroll number
X-API-KEY<token>

Your API key.

In: header

Query Parameters

api-version*string

API version

Default"3.0"
Value in"3.0"
company-id*integer

The company to retrieve general ledger transactions for.

Formatint32
payroll-number*integer

The sequential payroll run number to retrieve transactions for.

Formatint32
include-workers-compensation?boolean

When true, includes workers compensation transactions in results. Defaults to false.

salary-expenses?string
Value in"homeDepartment" | "workDepartment" | "none"
employer-tax-expenses?string
Value in"homeDepartment" | "workDepartment" | "none"
employer-tax-liabilities?string
Value in"homeDepartment" | "workDepartment" | "none"
employee-tax-liabilities?string
Value in"homeDepartment" | "workDepartment" | "none"
employer-deduction-expenses?string
Value in"homeDepartment" | "workDepartment" | "none"
employee-deduction-liabilities?string
Value in"homeDepartment" | "workDepartment" | "none"
employer-deduction-liabilities?string
Value in"homeDepartment" | "workDepartment" | "none"
workers-compensation-expenses?string
Value in"homeDepartment" | "workDepartment" | "none"
workers-compensation-liabilities?string
Value in"homeDepartment" | "workDepartment" | "none"
page-number?integer

Page number (1-based). Defaults to 1 if not specified.

Formatint32
Range1 <= value <= 2147483647
page-size?integer

Number of items per page. Defaults to 100 if not specified. Maximum 500.

Formatint32
Range1 <= value <= 500

Response Body

curl -X GET "https://external-app-prod.netchexonline.net/general-ledger-transactions?api-version=3.0&company-id=0&payroll-number=0"
{
  "pageNumber": 0,
  "pageSize": 0,
  "totalItemsCount": 0,
  "items": [
    {
      "accountNumber": "string",
      "accountDescription": "string",
      "amount": 0.1,
      "type": "debit",
      "transactionCategory": "other",
      "divisionId": 0,
      "departmentId": 0,
      "businessUnitId": 0,
      "costCenter": "string",
      "paycheckNumber": "string"
    }
  ],
  "companyId": 0,
  "payrollNumber": 0,
  "paycheckDate": "string",
  "payPeriod": {
    "startDate": "string",
    "endDate": "string"
  },
  "totalDebits": 0.1,
  "totalCredits": 0.1
}
{
  "type": "string",
  "title": "string",
  "status": 0,
  "detail": "string",
  "instance": "string",
  "property1": null,
  "property2": null
}
{
  "type": "string",
  "title": "string",
  "status": 0,
  "detail": "string",
  "instance": "string",
  "property1": null,
  "property2": null
}
{
  "type": "string",
  "title": "string",
  "status": 0,
  "detail": "string",
  "instance": "string",
  "property1": null,
  "property2": null
}
{
  "type": "string",
  "title": "string",
  "status": 0,
  "detail": "string",
  "instance": "string",
  "property1": null,
  "property2": null
}

Get Employee Scheduled Deductions GET

Returns a paginated list of scheduled deductions for employees. A scheduled deduction is a recurring or one-time amount withheld from an employee's paycheck for a specific deduction type (e.g., a weekly 401k contribution). **Optional Filters:** - `organization-id` — limit to deductions for employees in companies belonging to these organizations - `company-ids` — limit to deductions for employees in these companies - `employee-ids` — limit to deductions for these employees - `company-deduction-ids` — limit to deductions of these deduction types - `status` — `Active` returns active deductions; `InActive` returns stopped deductions only - `effective-from` / `effective-to` — inclusive date bounds. **Required** when filtering by `organization-id` or `company-ids` only. Date range cannot exceed 365 days. **Date range behavior:** When both dates are provided, returns deductions that started on or after `effective-from` AND ended on or before `effective-to` (or have no end date). One-time deductions are included if their start date falls within the range. **EffectiveTo behavior:** `effectiveTo` is always `null` for one-time deductions. For recurring deductions, it is returned when set. Multiple filters combine with AND logic; values within one parameter combine with OR. **Access control:** Results are limited to companies your integration has access to. When `organization-id` is supplied, only results from organizations containing at least one accessible company are included. Inaccessible IDs in filter parameters are silently excluded; if none match, an empty list is returned. **Error Details:** - **400 Bad Request** — `effective-from` is after `effective-to`, or the date range exceeds 365 days

Get Pay Range GET

Returns a paginated list of paychecks. Each paycheck captures an employee's earnings, deductions, taxes, and net pay for a single payroll run. **Optional Filters:** - `organization-id` — limit to paychecks for companies belonging to these organizations - `company-ids` — limit to paychecks for employees in these companies - `employee-ids` — limit to paychecks for these employees - `payroll-keys` — limit to specific payroll runs; each key is `companyId:payrollNumber` (e.g., `1234:56`). A payroll number is the sequential run number assigned when payroll is processed. - `paycheck-date-from` / `paycheck-date-to` — inclusive date bounds. **Required** when filtering by `organization-id` or `company-ids` only. Date range cannot exceed 365 days. Multiple filters combine with AND logic; values within one parameter combine with OR. **Access control:** Results are limited to companies your integration has access to. When `organization-id` is supplied, only results from organizations containing at least one accessible company are included. Inaccessible IDs in filter parameters are silently excluded; if none match, an empty list is returned. **Error Details:** - **400 Bad Request** — `paycheck-date-from` is after `paycheck-date-to`, or the date range exceeds 365 days