curl --request POST \
--url https://sandbox.nmbr.co/services/payroll/allowances \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"work_assignment_id": "<id>",
"allowance_type": "cell_phone_allowance",
"amount": "75.25",
"title": "Cell phone allowance",
"title_translations": {
"en": "Cell phone allowance",
"fr": "Allocation de téléphone cellulaire"
},
"frequency": "per_month",
"effective_from": "2026-01-01",
"effective_to": "2026-12-31",
"external_ref": "01KFNHG3MNRS84XF1ERW0M7HP0",
"tag_assignment": {
"unit": "percentage",
"tag_allocations": [
{
"tags": [
"<id>"
],
"value": 100
}
]
},
"date_basis": "by_period_start_date",
"pay_period_cadence": [
1
]
}
'import requests
url = "https://sandbox.nmbr.co/services/payroll/allowances"
payload = {
"work_assignment_id": "<id>",
"allowance_type": "cell_phone_allowance",
"amount": "75.25",
"title": "Cell phone allowance",
"title_translations": {
"en": "Cell phone allowance",
"fr": "Allocation de téléphone cellulaire"
},
"frequency": "per_month",
"effective_from": "2026-01-01",
"effective_to": "2026-12-31",
"external_ref": "01KFNHG3MNRS84XF1ERW0M7HP0",
"tag_assignment": {
"unit": "percentage",
"tag_allocations": [
{
"tags": ["<id>"],
"value": 100
}
]
},
"date_basis": "by_period_start_date",
"pay_period_cadence": [1]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
work_assignment_id: '<id>',
allowance_type: 'cell_phone_allowance',
amount: '75.25',
title: 'Cell phone allowance',
title_translations: {en: 'Cell phone allowance', fr: 'Allocation de téléphone cellulaire'},
frequency: 'per_month',
effective_from: '2026-01-01',
effective_to: '2026-12-31',
external_ref: '01KFNHG3MNRS84XF1ERW0M7HP0',
tag_assignment: {unit: 'percentage', tag_allocations: [{tags: ['<id>'], value: 100}]},
date_basis: 'by_period_start_date',
pay_period_cadence: [1]
})
};
fetch('https://sandbox.nmbr.co/services/payroll/allowances', 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/allowances",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'work_assignment_id' => '<id>',
'allowance_type' => 'cell_phone_allowance',
'amount' => '75.25',
'title' => 'Cell phone allowance',
'title_translations' => [
'en' => 'Cell phone allowance',
'fr' => 'Allocation de téléphone cellulaire'
],
'frequency' => 'per_month',
'effective_from' => '2026-01-01',
'effective_to' => '2026-12-31',
'external_ref' => '01KFNHG3MNRS84XF1ERW0M7HP0',
'tag_assignment' => [
'unit' => 'percentage',
'tag_allocations' => [
[
'tags' => [
'<id>'
],
'value' => 100
]
]
],
'date_basis' => 'by_period_start_date',
'pay_period_cadence' => [
1
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://sandbox.nmbr.co/services/payroll/allowances"
payload := strings.NewReader("{\n \"work_assignment_id\": \"<id>\",\n \"allowance_type\": \"cell_phone_allowance\",\n \"amount\": \"75.25\",\n \"title\": \"Cell phone allowance\",\n \"title_translations\": {\n \"en\": \"Cell phone allowance\",\n \"fr\": \"Allocation de téléphone cellulaire\"\n },\n \"frequency\": \"per_month\",\n \"effective_from\": \"2026-01-01\",\n \"effective_to\": \"2026-12-31\",\n \"external_ref\": \"01KFNHG3MNRS84XF1ERW0M7HP0\",\n \"tag_assignment\": {\n \"unit\": \"percentage\",\n \"tag_allocations\": [\n {\n \"tags\": [\n \"<id>\"\n ],\n \"value\": 100\n }\n ]\n },\n \"date_basis\": \"by_period_start_date\",\n \"pay_period_cadence\": [\n 1\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://sandbox.nmbr.co/services/payroll/allowances")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"work_assignment_id\": \"<id>\",\n \"allowance_type\": \"cell_phone_allowance\",\n \"amount\": \"75.25\",\n \"title\": \"Cell phone allowance\",\n \"title_translations\": {\n \"en\": \"Cell phone allowance\",\n \"fr\": \"Allocation de téléphone cellulaire\"\n },\n \"frequency\": \"per_month\",\n \"effective_from\": \"2026-01-01\",\n \"effective_to\": \"2026-12-31\",\n \"external_ref\": \"01KFNHG3MNRS84XF1ERW0M7HP0\",\n \"tag_assignment\": {\n \"unit\": \"percentage\",\n \"tag_allocations\": [\n {\n \"tags\": [\n \"<id>\"\n ],\n \"value\": 100\n }\n ]\n },\n \"date_basis\": \"by_period_start_date\",\n \"pay_period_cadence\": [\n 1\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox.nmbr.co/services/payroll/allowances")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"work_assignment_id\": \"<id>\",\n \"allowance_type\": \"cell_phone_allowance\",\n \"amount\": \"75.25\",\n \"title\": \"Cell phone allowance\",\n \"title_translations\": {\n \"en\": \"Cell phone allowance\",\n \"fr\": \"Allocation de téléphone cellulaire\"\n },\n \"frequency\": \"per_month\",\n \"effective_from\": \"2026-01-01\",\n \"effective_to\": \"2026-12-31\",\n \"external_ref\": \"01KFNHG3MNRS84XF1ERW0M7HP0\",\n \"tag_assignment\": {\n \"unit\": \"percentage\",\n \"tag_allocations\": [\n {\n \"tags\": [\n \"<id>\"\n ],\n \"value\": 100\n }\n ]\n },\n \"date_basis\": \"by_period_start_date\",\n \"pay_period_cadence\": [\n 1\n ]\n}"
response = http.request(request)
puts response.read_body{
"id": "<id>",
"object": "allowance",
"data": {
"work_assignment": {
"id": "<id>",
"object": "work_assignment",
"links": {
"self": "/work_assignments/<id>"
}
},
"allowance_type": {
"id": "<id>",
"object": "allowance_type",
"data": {
"type": "cell_phone_allowance",
"label": "Cell phone allowance"
},
"links": {
"self": "/allowance_types/cell_phone_allowance"
}
},
"title": "Cell phone allowance",
"title_translations": {
"en": "Cell phone allowance",
"fr": "Allocation de téléphone cellulaire"
},
"title_translated": "Cell phone allowance",
"amount": 75.25,
"frequency": "per_month",
"date_basis": "by_period_start_date",
"pay_period_cadence": [
1
],
"effective_from": "2026-01-01",
"effective_to": "2026-12-31",
"business_preset": null,
"expense_accounting_code": null,
"liability_accounting_code": null,
"external_ref": "01KFNHG3MNRS84XF1ERW0M7HP0",
"created_at": "2026-01-01T00:00:00.000000Z",
"updated_at": "2026-01-01T00:00:00.000000Z"
},
"links": {
"self": "/allowances/<id>"
}
}Create an allowance
curl --request POST \
--url https://sandbox.nmbr.co/services/payroll/allowances \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"work_assignment_id": "<id>",
"allowance_type": "cell_phone_allowance",
"amount": "75.25",
"title": "Cell phone allowance",
"title_translations": {
"en": "Cell phone allowance",
"fr": "Allocation de téléphone cellulaire"
},
"frequency": "per_month",
"effective_from": "2026-01-01",
"effective_to": "2026-12-31",
"external_ref": "01KFNHG3MNRS84XF1ERW0M7HP0",
"tag_assignment": {
"unit": "percentage",
"tag_allocations": [
{
"tags": [
"<id>"
],
"value": 100
}
]
},
"date_basis": "by_period_start_date",
"pay_period_cadence": [
1
]
}
'import requests
url = "https://sandbox.nmbr.co/services/payroll/allowances"
payload = {
"work_assignment_id": "<id>",
"allowance_type": "cell_phone_allowance",
"amount": "75.25",
"title": "Cell phone allowance",
"title_translations": {
"en": "Cell phone allowance",
"fr": "Allocation de téléphone cellulaire"
},
"frequency": "per_month",
"effective_from": "2026-01-01",
"effective_to": "2026-12-31",
"external_ref": "01KFNHG3MNRS84XF1ERW0M7HP0",
"tag_assignment": {
"unit": "percentage",
"tag_allocations": [
{
"tags": ["<id>"],
"value": 100
}
]
},
"date_basis": "by_period_start_date",
"pay_period_cadence": [1]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
work_assignment_id: '<id>',
allowance_type: 'cell_phone_allowance',
amount: '75.25',
title: 'Cell phone allowance',
title_translations: {en: 'Cell phone allowance', fr: 'Allocation de téléphone cellulaire'},
frequency: 'per_month',
effective_from: '2026-01-01',
effective_to: '2026-12-31',
external_ref: '01KFNHG3MNRS84XF1ERW0M7HP0',
tag_assignment: {unit: 'percentage', tag_allocations: [{tags: ['<id>'], value: 100}]},
date_basis: 'by_period_start_date',
pay_period_cadence: [1]
})
};
fetch('https://sandbox.nmbr.co/services/payroll/allowances', 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/allowances",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'work_assignment_id' => '<id>',
'allowance_type' => 'cell_phone_allowance',
'amount' => '75.25',
'title' => 'Cell phone allowance',
'title_translations' => [
'en' => 'Cell phone allowance',
'fr' => 'Allocation de téléphone cellulaire'
],
'frequency' => 'per_month',
'effective_from' => '2026-01-01',
'effective_to' => '2026-12-31',
'external_ref' => '01KFNHG3MNRS84XF1ERW0M7HP0',
'tag_assignment' => [
'unit' => 'percentage',
'tag_allocations' => [
[
'tags' => [
'<id>'
],
'value' => 100
]
]
],
'date_basis' => 'by_period_start_date',
'pay_period_cadence' => [
1
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://sandbox.nmbr.co/services/payroll/allowances"
payload := strings.NewReader("{\n \"work_assignment_id\": \"<id>\",\n \"allowance_type\": \"cell_phone_allowance\",\n \"amount\": \"75.25\",\n \"title\": \"Cell phone allowance\",\n \"title_translations\": {\n \"en\": \"Cell phone allowance\",\n \"fr\": \"Allocation de téléphone cellulaire\"\n },\n \"frequency\": \"per_month\",\n \"effective_from\": \"2026-01-01\",\n \"effective_to\": \"2026-12-31\",\n \"external_ref\": \"01KFNHG3MNRS84XF1ERW0M7HP0\",\n \"tag_assignment\": {\n \"unit\": \"percentage\",\n \"tag_allocations\": [\n {\n \"tags\": [\n \"<id>\"\n ],\n \"value\": 100\n }\n ]\n },\n \"date_basis\": \"by_period_start_date\",\n \"pay_period_cadence\": [\n 1\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://sandbox.nmbr.co/services/payroll/allowances")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"work_assignment_id\": \"<id>\",\n \"allowance_type\": \"cell_phone_allowance\",\n \"amount\": \"75.25\",\n \"title\": \"Cell phone allowance\",\n \"title_translations\": {\n \"en\": \"Cell phone allowance\",\n \"fr\": \"Allocation de téléphone cellulaire\"\n },\n \"frequency\": \"per_month\",\n \"effective_from\": \"2026-01-01\",\n \"effective_to\": \"2026-12-31\",\n \"external_ref\": \"01KFNHG3MNRS84XF1ERW0M7HP0\",\n \"tag_assignment\": {\n \"unit\": \"percentage\",\n \"tag_allocations\": [\n {\n \"tags\": [\n \"<id>\"\n ],\n \"value\": 100\n }\n ]\n },\n \"date_basis\": \"by_period_start_date\",\n \"pay_period_cadence\": [\n 1\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox.nmbr.co/services/payroll/allowances")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"work_assignment_id\": \"<id>\",\n \"allowance_type\": \"cell_phone_allowance\",\n \"amount\": \"75.25\",\n \"title\": \"Cell phone allowance\",\n \"title_translations\": {\n \"en\": \"Cell phone allowance\",\n \"fr\": \"Allocation de téléphone cellulaire\"\n },\n \"frequency\": \"per_month\",\n \"effective_from\": \"2026-01-01\",\n \"effective_to\": \"2026-12-31\",\n \"external_ref\": \"01KFNHG3MNRS84XF1ERW0M7HP0\",\n \"tag_assignment\": {\n \"unit\": \"percentage\",\n \"tag_allocations\": [\n {\n \"tags\": [\n \"<id>\"\n ],\n \"value\": 100\n }\n ]\n },\n \"date_basis\": \"by_period_start_date\",\n \"pay_period_cadence\": [\n 1\n ]\n}"
response = http.request(request)
puts response.read_body{
"id": "<id>",
"object": "allowance",
"data": {
"work_assignment": {
"id": "<id>",
"object": "work_assignment",
"links": {
"self": "/work_assignments/<id>"
}
},
"allowance_type": {
"id": "<id>",
"object": "allowance_type",
"data": {
"type": "cell_phone_allowance",
"label": "Cell phone allowance"
},
"links": {
"self": "/allowance_types/cell_phone_allowance"
}
},
"title": "Cell phone allowance",
"title_translations": {
"en": "Cell phone allowance",
"fr": "Allocation de téléphone cellulaire"
},
"title_translated": "Cell phone allowance",
"amount": 75.25,
"frequency": "per_month",
"date_basis": "by_period_start_date",
"pay_period_cadence": [
1
],
"effective_from": "2026-01-01",
"effective_to": "2026-12-31",
"business_preset": null,
"expense_accounting_code": null,
"liability_accounting_code": null,
"external_ref": "01KFNHG3MNRS84XF1ERW0M7HP0",
"created_at": "2026-01-01T00:00:00.000000Z",
"updated_at": "2026-01-01T00:00:00.000000Z"
},
"links": {
"self": "/allowances/<id>"
}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
Must belong to a work assignment associated with an entity of type Employee.
The monetary amount applied each time this allowance is included on a Pay Stub.
0 <= x <= 99999The frequency at which this allowance is applied to Pay Stubs. When per_month, the amount is distributed evenly across all Payrolls in the calendar month.
once, per_month, per_payroll The date from which this allowance is applied to Pay Stubs.
The type of allowance, which determines how it is taxed and reported on Pay Stubs.
Must be present when business_preset_id is either empty or not set.
automobile_and_motor_vehicle, cell_phone_allowance, child_care_expenses, child_eduction_non_taxable, child_eduction_taxable, clothing_non_taxable, clothing_taxable, education_and_professional_development, housing_allowance_cash, internet_allowance, meals_taxable, moving_allowance_non_taxable, moving_allowance_taxable, municipal_officers_expense, non_taxable_allowance, overtime_meals_non_taxable, parking_allowance, professional_membership, professional_membership_dues_taxable, social_event_allowance, taxable_cash_allowance, tools_allowance, transit_pass, travelling_allowance_non_taxable, travelling_allowance_taxable, utilities_allowance, vehicle_allowance_non_taxable 255The date after which this allowance is no longer applied. null if the allowance applies indefinitely.
255Hide child attributes
Hide child attributes
Which payroll date determines the calendar month for the allocation. Applies only to per_month recurrences.
by_pay_date, by_period_end_date, by_period_start_date Which pay periods within the month receive the allocation. An array of 1-based positions; -1 is the final period. Applies only to per_month recurrences.
1Response
Created
The unique identifier of the object in Nmbr.
The type of the object in Nmbr ("allowance").
Hide child attributes
Hide child attributes
The type of allowance, which determines how it is taxed and reported on Pay Stubs.
Hide child attributes
Hide child attributes
The unique identifier of the object in Nmbr.
The type of the object in Nmbr ("allowance_type").
Hide child attributes
Hide child attributes
The string identifier for this allowance type.
The human-readable display name for this allowance type.
Hide child attributes
Hide child attributes
The payroll calculation this entry describes.
eht, income_tax, insurable, pensionable, vacationable, wcb Human-readable name for the payroll calculation.
How this type affects the calculation, broken down by jurisdiction. Jurisdictions where it does not apply are omitted.
Hide child attributes
Hide child attributes
The jurisdiction this applies to (e.g. ca_federal, ca_on, ca_qc).
How this type affects the payroll calculation in this jurisdiction.
accrues_vacation_pay, reduces_base, tax_credit, withholding Plain-language explanation of how this type affects the calculation in this jurisdiction.
The program that applies in this jurisdiction, for calculations that use different programs by jurisdiction (e.g. CPP federally, QPP in Quebec; EI federally, QPIP in Quebec).
Hide child attributes
Hide child attributes
The form code (e.g. t4).
Human-readable form name.
The translation of the title property for the request locale. Computed using the values in title and title_translations and the value of the request's Accept-Language header.
The monetary amount applied each time this allowance is included on a Pay Stub.
The frequency at which this allowance is applied to Pay Stubs. When per_month, the amount is distributed evenly across all Payrolls in the calendar month.
once, per_month, per_payroll Which payroll date determines the calendar month for the allocation. Applies only to per_month recurrences.
by_pay_date, by_period_end_date, by_period_start_date Which pay periods within the month receive the allocation. An array of 1-based positions; -1 is the final period. Applies only to per_month recurrences.
The date from which this allowance is applied to Pay Stubs.
The date after which this allowance is no longer applied. null if the allowance applies indefinitely.
A reference to the object in an external system, e.g. the primary key of the object in your application's database. Nmbr doesn't use, validate, parse, or require this value to be unique - it simply stores it for your reference.
255The date and time the object was created in Nmbr.
The date and time the object was last updated in Nmbr.

