curl --request GET \
--url https://sandbox.nmbr.co/services/payroll/payrolls/{payroll}/remittances \
--header 'Authorization: Bearer <token>'import requests
url = "https://sandbox.nmbr.co/services/payroll/payrolls/{payroll}/remittances"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://sandbox.nmbr.co/services/payroll/payrolls/{payroll}/remittances', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://sandbox.nmbr.co/services/payroll/payrolls/{payroll}/remittances",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://sandbox.nmbr.co/services/payroll/payrolls/{payroll}/remittances"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://sandbox.nmbr.co/services/payroll/payrolls/{payroll}/remittances")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox.nmbr.co/services/payroll/payrolls/{payroll}/remittances")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"object": "list",
"data": [
{
"object": "remittance_total",
"data": {
"remittance_account": {
"id": "<id>",
"object": "remittance_account",
"links": {
"self": "/remittance_accounts/<id>"
}
},
"account_provider": null,
"label_translated": "IBEW Local 353 — Dues",
"amount": 245,
"details": {
"employee_amount": 245,
"employer_amount": 0
}
}
},
{
"object": "remittance_total",
"data": {
"remittance_account": {
"id": "<id>",
"object": "remittance_account",
"links": {
"self": "/remittance_accounts/<id>"
}
},
"account_provider": "ca_cra",
"label_translated": "Canada Revenue Agency (CRA)",
"amount": 918.73,
"details": {
"employee_amount": 611.42,
"employer_amount": 307.31
}
}
}
]
}List remittance totals
Totals every statutory withholding, deduction and benefit on the payroll that names a remittance destination, and returns one figure per destination — what the payroll owes the CRA, Revenue Québec, each benefit provider, union, workers’ compensation board and employer health tax authority.
Totals are computed when you ask for them, so they are available on a draft payroll that has never been approved, and on historical, correction and off-cycle payrolls that never produce payments at all. The whole list comes back in one response — there are no pages.
Line items that name no remittance destination are left out entirely; there is no catch-all entry for them. A payroll with nothing to remit returns an empty list.
curl --request GET \
--url https://sandbox.nmbr.co/services/payroll/payrolls/{payroll}/remittances \
--header 'Authorization: Bearer <token>'import requests
url = "https://sandbox.nmbr.co/services/payroll/payrolls/{payroll}/remittances"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://sandbox.nmbr.co/services/payroll/payrolls/{payroll}/remittances', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://sandbox.nmbr.co/services/payroll/payrolls/{payroll}/remittances",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://sandbox.nmbr.co/services/payroll/payrolls/{payroll}/remittances"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://sandbox.nmbr.co/services/payroll/payrolls/{payroll}/remittances")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox.nmbr.co/services/payroll/payrolls/{payroll}/remittances")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"object": "list",
"data": [
{
"object": "remittance_total",
"data": {
"remittance_account": {
"id": "<id>",
"object": "remittance_account",
"links": {
"self": "/remittance_accounts/<id>"
}
},
"account_provider": null,
"label_translated": "IBEW Local 353 — Dues",
"amount": 245,
"details": {
"employee_amount": 245,
"employer_amount": 0
}
}
},
{
"object": "remittance_total",
"data": {
"remittance_account": {
"id": "<id>",
"object": "remittance_account",
"links": {
"self": "/remittance_accounts/<id>"
}
},
"account_provider": "ca_cra",
"label_translated": "Canada Revenue Agency (CRA)",
"amount": 918.73,
"details": {
"employee_amount": 611.42,
"employer_amount": 307.31
}
}
}
]
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Query Parameters
Only return totals for these authorities. Supports multiple comma-separated values.
ca_ab_workers_compensation, ca_bc_eht, ca_bc_workers_compensation, ca_cra, ca_mb_eht, ca_mb_workers_compensation, ca_nb_workers_compensation, ca_nl_eht, ca_nl_workers_compensation, ca_ns_workers_compensation, ca_nt_government, ca_nt_workers_compensation, ca_nu_government, ca_nu_workers_compensation, ca_on_eht, ca_on_workers_compensation, ca_pe_workers_compensation, ca_rq, ca_sk_workers_compensation, ca_yt_workers_compensation Only return totals for these remittance accounts. Supports multiple comma-separated values.
remittance_account Response
OK
The type of the object in Nmbr ("list").
Hide child attributes
Hide child attributes
The unique identifier of the object in Nmbr.
The type of the object in Nmbr ("remittance_total").
- Default
- With remittance_account expanded
Hide child attributes
Hide child attributes
The remittance account the money is owed to. Expand it for the account identifier, address, and remitter type.
The authority this account remits to. null for accounts that are not a tax authority, such as a benefit provider or union.
ca_ab_workers_compensation, ca_bc_eht, ca_bc_workers_compensation, ca_cra, ca_mb_eht, ca_mb_workers_compensation, ca_nb_workers_compensation, ca_nl_eht, ca_nl_workers_compensation, ca_ns_workers_compensation, ca_nt_government, ca_nt_workers_compensation, ca_nu_government, ca_nu_workers_compensation, ca_on_eht, ca_on_workers_compensation, ca_pe_workers_compensation, ca_rq, ca_sk_workers_compensation, ca_yt_workers_compensation The translation of the label property for the request locale. Computed using the values in label and label_translations and the value of the request's Accept-Language header.
The sum of every line item on the payroll payable to this account. The sum is signed. Note that when it is negative, the CRA and Revenue Québec payment records created when a payroll is approved report zero rather than a negative amount, so the two figures differ.
The same total split by who the money came from. employee_amount covers amounts withheld from workers, employer_amount covers amounts the employer owes on top of wages. The two add up to amount.

