Adjustment Notes
API endpoints for managing credit notes, debit notes, and refund notes
Adjustment Notes API
Manage adjustment notes (credit notes, debit notes, and refund notes) that are linked to invoices or consolidated invoices.
To create an adjustment note, use Create Adjustment Note for Invoice or Create Adjustment Note for Consolidated Invoice.
List Adjustment Notes
Endpoint
GET /api/adjustment-notesHeaders
| Header | Value |
|---|---|
X-API-Key | Your API key |
Query Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
page | number | 1 | Page number |
per_page | number | 10 | Items per page |
Response
{
"meta": {
"total": 5,
"per_page": 10,
"current_page": 1,
"last_page": 1
},
"data": [
{
"id": 1,
"company_id": 2,
"invoice_id": 71,
"consolidated_invoice_id": null,
"code": 123,
"type": "CREDIT_NOTE",
"line_items": [],
"issue_date": "2025-08-01T00:00:00.000Z",
"status": "Valid",
"legal_monetary_total": {
"excludingTax": 200,
"includingTax": 212,
"payableAmount": 212
},
"created_at": "2025-08-01T10:00:00.000+00:00",
"updated_at": "2025-08-01T10:00:00.000+00:00"
}
]
}Code Examples
cURL
curl -X GET "https://api.bizcare-einvoice.com/api/adjustment-notes?page=1&per_page=10" \
-H "X-API-Key: your-api-key-here"JavaScript
const response = await fetch(
'https://api.bizcare-einvoice.com/api/adjustment-notes?page=1&per_page=10',
{ headers: { 'X-API-Key': 'your-api-key-here' } }
);
const data = await response.json();Python
response = requests.get(
'https://api.bizcare-einvoice.com/api/adjustment-notes',
headers={'X-API-Key': 'your-api-key-here'},
params={'page': 1, 'per_page': 10},
)PHP
$response = Http::withHeaders([
'X-API-Key' => 'your-api-key-here',
])->get('https://api.bizcare-einvoice.com/api/adjustment-notes', [
'page' => 1,
'per_page' => 10,
]);Get Adjustment Note
Endpoint
GET /api/adjustment-notes/:idHeaders
| Header | Value |
|---|---|
X-API-Key | Your API key |
Path Parameters
| Parameter | Type | Description |
|---|---|---|
id | integer | Adjustment note ID |
Response
Returns a single AdjustmentNote object.
Code Examples
cURL
curl -X GET https://api.bizcare-einvoice.com/api/adjustment-notes/1 \
-H "X-API-Key: your-api-key-here"JavaScript
const response = await fetch('https://api.bizcare-einvoice.com/api/adjustment-notes/1', {
headers: { 'X-API-Key': 'your-api-key-here' },
});Python
response = requests.get(
'https://api.bizcare-einvoice.com/api/adjustment-notes/1',
headers={'X-API-Key': 'your-api-key-here'},
)PHP
$response = Http::withHeaders([
'X-API-Key' => 'your-api-key-here',
])->get('https://api.bizcare-einvoice.com/api/adjustment-notes/1');Update Adjustment Note
Endpoint
PUT /api/adjustment-notes/:idHeaders
| Header | Value |
|---|---|
X-API-Key | Your API key |
Content-Type | application/json |
Path Parameters
| Parameter | Type | Description |
|---|---|---|
id | integer | Adjustment note ID |
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
type | string | No | CREDIT_NOTE, DEBIT_NOTE, or REFUND_NOTE |
adjustmentNoteCode | number | No | Adjustment note code |
adjustmentNoteIssueDate | string | No | ISO 8601 datetime |
lineItems | array | No | Updated line items |
Response
{
"success": true,
"message": "Updated successfully"
}Code Examples
cURL
curl -X PUT https://api.bizcare-einvoice.com/api/adjustment-notes/1 \
-H "X-API-Key: your-api-key-here" \
-H "Content-Type: application/json" \
-d '{
"lineItems": [
{
"id": "item-1",
"classifications": ["001"],
"description": "Updated adjustment item",
"unit": { "price": 150, "count": 1, "code": "EA" },
"taxDetails": [{ "taxType": "01", "taxRate": { "percentage": 10 } }],
"originCountry": "MYS"
}
]
}'JavaScript
const response = await fetch('https://api.bizcare-einvoice.com/api/adjustment-notes/1', {
method: 'PUT',
headers: {
'X-API-Key': 'your-api-key-here',
'Content-Type': 'application/json',
},
body: JSON.stringify({
lineItems: [
{
id: 'item-1',
classifications: ['001'],
description: 'Updated adjustment item',
unit: { price: 150, count: 1, code: 'EA' },
taxDetails: [{ taxType: '01', taxRate: { percentage: 10 } }],
originCountry: 'MYS',
},
],
}),
});Python
response = requests.put(
'https://api.bizcare-einvoice.com/api/adjustment-notes/1',
headers={'X-API-Key': 'your-api-key-here'},
json={
'lineItems': [
{
'id': 'item-1',
'classifications': ['001'],
'description': 'Updated adjustment item',
'unit': {'price': 150, 'count': 1, 'code': 'EA'},
'taxDetails': [{'taxType': '01', 'taxRate': {'percentage': 10}}],
'originCountry': 'MYS',
}
],
},
)PHP
$response = Http::withHeaders([
'X-API-Key' => 'your-api-key-here',
])->put('https://api.bizcare-einvoice.com/api/adjustment-notes/1', [
'lineItems' => [
[
'id' => 'item-1',
'classifications' => ['001'],
'description' => 'Updated adjustment item',
'unit' => ['price' => 150, 'count' => 1, 'code' => 'EA'],
'taxDetails' => [['taxType' => '01', 'taxRate' => ['percentage' => 10]]],
'originCountry' => 'MYS',
],
],
]);Delete Adjustment Note
Endpoint
DELETE /api/adjustment-notes/:idHeaders
| Header | Value |
|---|---|
X-API-Key | Your API key |
Path Parameters
| Parameter | Type | Description |
|---|---|---|
id | integer | Adjustment note ID |
Response
{
"message": "Adjustment Note deleted successfully"
}Error Responses
| Status | Message |
|---|---|
403 | "A submitted adjustment note cannot be deleted, please cancel first and try again. A submitted document can only be cancelled within 72 hours after submission" |
Code Examples
cURL
curl -X DELETE https://api.bizcare-einvoice.com/api/adjustment-notes/1 \
-H "X-API-Key: your-api-key-here"JavaScript
const response = await fetch('https://api.bizcare-einvoice.com/api/adjustment-notes/1', {
method: 'DELETE',
headers: { 'X-API-Key': 'your-api-key-here' },
});Python
response = requests.delete(
'https://api.bizcare-einvoice.com/api/adjustment-notes/1',
headers={'X-API-Key': 'your-api-key-here'},
)PHP
$response = Http::withHeaders([
'X-API-Key' => 'your-api-key-here',
])->delete('https://api.bizcare-einvoice.com/api/adjustment-notes/1');Export Adjustment Note
Export a single adjustment note's data as a downloadable JSON file, including the linked invoice or consolidated invoice code.
Endpoint
GET /api/adjustment-notes/:id/exportHeaders
| Header | Value |
|---|---|
X-API-Key | Your API key |
Path Parameters
| Parameter | Type | Description |
|---|---|---|
id | integer | Adjustment note ID |
Response
The response is returned as a downloadable JSON file with Content-Disposition: attachment header.
{
"invoiceCodeWithPrefixAndDigits": "CN-0123",
"code": 123,
"type": "CREDIT_NOTE",
"lineItems": [ "..." ],
"issueDate": "2025-08-01T00:00:00.000Z",
"targetInvoiceCode": "INV-0007",
"targetConsolidatedInvoiceCode": null,
"createdAt": "2025-08-01T10:00:00.000+00:00"
}| Field | Type | Description |
|---|---|---|
invoiceCodeWithPrefixAndDigits | string | Full adjustment note code with prefix |
code | number | Raw adjustment note code |
type | string | CREDIT_NOTE, DEBIT_NOTE, or REFUND_NOTE |
lineItems | array | Array of line items |
issueDate | string | Issue date (ISO 8601) |
targetInvoiceCode | string|null | Linked invoice code, if linked to an invoice |
targetConsolidatedInvoiceCode | string|null | Linked consolidated invoice code, if linked to a consolidated invoice |
createdAt | string | Record creation timestamp (ISO 8601) |
Code Examples
cURL
curl -X GET https://api.bizcare-einvoice.com/api/adjustment-notes/1/export \
-H "X-API-Key: your-api-key-here" \
-o adjustment-note-export.jsonJavaScript
const response = await fetch(
'https://api.bizcare-einvoice.com/api/adjustment-notes/1/export',
{ headers: { 'X-API-Key': 'your-api-key-here' } }
);
const data = await response.json();Python
response = requests.get(
'https://api.bizcare-einvoice.com/api/adjustment-notes/1/export',
headers={'X-API-Key': 'your-api-key-here'},
)PHP
$response = Http::withHeaders([
'X-API-Key' => 'your-api-key-here',
])->get('https://api.bizcare-einvoice.com/api/adjustment-notes/1/export');Export All Adjustment Notes
Export all adjustment notes for the authenticated company as a downloadable JSON file. No pagination — returns the full dataset.
Endpoint
GET /api/adjustment-notes/export-allHeaders
| Header | Value |
|---|---|
X-API-Key | Your API key |
Response
The response is returned as a downloadable JSON file with Content-Disposition: attachment header. Contains an array of adjustment note export objects.
[
{
"invoiceCodeWithPrefixAndDigits": "CN-0123",
"code": 123,
"type": "CREDIT_NOTE",
"lineItems": [ "..." ],
"issueDate": "2025-08-01T00:00:00.000Z",
"targetInvoiceCode": "INV-0007",
"targetConsolidatedInvoiceCode": null,
"createdAt": "2025-08-01T10:00:00.000+00:00"
}
]See Export Adjustment Note for field descriptions.
Code Examples
cURL
curl -X GET https://api.bizcare-einvoice.com/api/adjustment-notes/export-all \
-H "X-API-Key: your-api-key-here" \
-o all-adjustment-notes-export.jsonJavaScript
const response = await fetch(
'https://api.bizcare-einvoice.com/api/adjustment-notes/export-all',
{ headers: { 'X-API-Key': 'your-api-key-here' } }
);
const data = await response.json();Python
response = requests.get(
'https://api.bizcare-einvoice.com/api/adjustment-notes/export-all',
headers={'X-API-Key': 'your-api-key-here'},
)PHP
$response = Http::withHeaders([
'X-API-Key' => 'your-api-key-here',
])->get('https://api.bizcare-einvoice.com/api/adjustment-notes/export-all');Submit Adjustment Note to MyInvois
Submit an adjustment note to LHDN's MyInvois system.
Endpoint
POST /api/adjustment-notes/:id/submit-to-myinvoisHeaders
| Header | Value |
|---|---|
X-API-Key | Your API key |
Path Parameters
| Parameter | Type | Description |
|---|---|---|
id | integer | Adjustment note ID |
Request Body
Empty JSON object: {}
Response
{
"success": true,
"message": "Submitted successfully"
}Error Responses
| Status | Message |
|---|---|
400 | "Only invoice with status Valid can have adjustment note submitted to MyInvois" |
Code Examples
cURL
curl -X POST https://api.bizcare-einvoice.com/api/adjustment-notes/1/submit-to-myinvois \
-H "X-API-Key: your-api-key-here" \
-H "Content-Type: application/json" \
-d '{}'JavaScript
const response = await fetch(
'https://api.bizcare-einvoice.com/api/adjustment-notes/1/submit-to-myinvois',
{
method: 'POST',
headers: {
'X-API-Key': 'your-api-key-here',
'Content-Type': 'application/json',
},
body: '{}',
}
);Python
response = requests.post(
'https://api.bizcare-einvoice.com/api/adjustment-notes/1/submit-to-myinvois',
headers={'X-API-Key': 'your-api-key-here'},
json={},
)PHP
$response = Http::withHeaders([
'X-API-Key' => 'your-api-key-here',
])->post('https://api.bizcare-einvoice.com/api/adjustment-notes/1/submit-to-myinvois', []);Cancel Latest Submitted Adjustment Note
Cancel the most recent submitted document for an adjustment note. Must be within 72 hours of submission.
Endpoint
POST /api/adjustment-notes/:id/cancel-latest-adjustment-note-submittedHeaders
| Header | Value |
|---|---|
X-API-Key | Your API key |
Path Parameters
| Parameter | Type | Description |
|---|---|---|
id | integer | Adjustment note ID |
Response
{
"success": true,
"message": "Cancelled submitted document successfully"
}Error Responses
| Status | Message |
|---|---|
403 | "The latest submitted document of the adjustment note not found." |
403 | "The latest submitted document of the adjustment note has already been cancelled/invalid." |
403 | "The latest submitted document of the adjustment note has been submitted more than 72 hours ago. Submitted documents can only be cancelled within 72 hours." |
Code Examples
cURL
curl -X POST https://api.bizcare-einvoice.com/api/adjustment-notes/1/cancel-latest-adjustment-note-submitted \
-H "X-API-Key: your-api-key-here"JavaScript
const response = await fetch(
'https://api.bizcare-einvoice.com/api/adjustment-notes/1/cancel-latest-adjustment-note-submitted',
{
method: 'POST',
headers: { 'X-API-Key': 'your-api-key-here' },
}
);Python
response = requests.post(
'https://api.bizcare-einvoice.com/api/adjustment-notes/1/cancel-latest-adjustment-note-submitted',
headers={'X-API-Key': 'your-api-key-here'},
)PHP
$response = Http::withHeaders([
'X-API-Key' => 'your-api-key-here',
])->post('https://api.bizcare-einvoice.com/api/adjustment-notes/1/cancel-latest-adjustment-note-submitted');List Adjustment Note Submitted Documents
Endpoint
GET /api/adjustment-notes/:id/submitted-documentsHeaders
| Header | Value |
|---|---|
X-API-Key | Your API key |
Path Parameters
| Parameter | Type | Description |
|---|---|---|
id | integer | Adjustment note ID |
Response
Returns an array of SubmittedDocument objects.
Code Examples
cURL
curl -X GET https://api.bizcare-einvoice.com/api/adjustment-notes/1/submitted-documents \
-H "X-API-Key: your-api-key-here"JavaScript
const response = await fetch(
'https://api.bizcare-einvoice.com/api/adjustment-notes/1/submitted-documents',
{ headers: { 'X-API-Key': 'your-api-key-here' } }
);Python
response = requests.get(
'https://api.bizcare-einvoice.com/api/adjustment-notes/1/submitted-documents',
headers={'X-API-Key': 'your-api-key-here'},
)PHP
$response = Http::withHeaders([
'X-API-Key' => 'your-api-key-here',
])->get('https://api.bizcare-einvoice.com/api/adjustment-notes/1/submitted-documents');Get Adjustment Note Submitted Document
Endpoint
GET /api/adjustment-notes/:id/submitted-documents/:submitted_document_idHeaders
| Header | Value |
|---|---|
X-API-Key | Your API key |
Path Parameters
| Parameter | Type | Description |
|---|---|---|
id | integer | Adjustment note ID |
submitted_document_id | integer | Submitted document ID |
Response
Returns a single SubmittedDocument object.
Code Examples
cURL
curl -X GET https://api.bizcare-einvoice.com/api/adjustment-notes/1/submitted-documents/5 \
-H "X-API-Key: your-api-key-here"JavaScript
const response = await fetch(
'https://api.bizcare-einvoice.com/api/adjustment-notes/1/submitted-documents/5',
{ headers: { 'X-API-Key': 'your-api-key-here' } }
);Python
response = requests.get(
'https://api.bizcare-einvoice.com/api/adjustment-notes/1/submitted-documents/5',
headers={'X-API-Key': 'your-api-key-here'},
)PHP
$response = Http::withHeaders([
'X-API-Key' => 'your-api-key-here',
])->get('https://api.bizcare-einvoice.com/api/adjustment-notes/1/submitted-documents/5');