BizCARE MyInvois
API Reference

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-notes

Headers

HeaderValue
X-API-KeyYour API key

Query Parameters

ParameterTypeDefaultDescription
pagenumber1Page number
per_pagenumber10Items 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/:id

Headers

HeaderValue
X-API-KeyYour API key

Path Parameters

ParameterTypeDescription
idintegerAdjustment 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/:id

Headers

HeaderValue
X-API-KeyYour API key
Content-Typeapplication/json

Path Parameters

ParameterTypeDescription
idintegerAdjustment note ID

Request Body

FieldTypeRequiredDescription
typestringNoCREDIT_NOTE, DEBIT_NOTE, or REFUND_NOTE
adjustmentNoteCodenumberNoAdjustment note code
adjustmentNoteIssueDatestringNoISO 8601 datetime
lineItemsarrayNoUpdated 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/:id

Headers

HeaderValue
X-API-KeyYour API key

Path Parameters

ParameterTypeDescription
idintegerAdjustment note ID

Response

{
  "message": "Adjustment Note deleted successfully"
}

Error Responses

StatusMessage
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/export

Headers

HeaderValue
X-API-KeyYour API key

Path Parameters

ParameterTypeDescription
idintegerAdjustment 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"
}
FieldTypeDescription
invoiceCodeWithPrefixAndDigitsstringFull adjustment note code with prefix
codenumberRaw adjustment note code
typestringCREDIT_NOTE, DEBIT_NOTE, or REFUND_NOTE
lineItemsarrayArray of line items
issueDatestringIssue date (ISO 8601)
targetInvoiceCodestring|nullLinked invoice code, if linked to an invoice
targetConsolidatedInvoiceCodestring|nullLinked consolidated invoice code, if linked to a consolidated invoice
createdAtstringRecord 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.json

JavaScript

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-all

Headers

HeaderValue
X-API-KeyYour 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.json

JavaScript

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-myinvois

Headers

HeaderValue
X-API-KeyYour API key

Path Parameters

ParameterTypeDescription
idintegerAdjustment note ID

Request Body

Empty JSON object: {}

Response

{
  "success": true,
  "message": "Submitted successfully"
}

Error Responses

StatusMessage
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-submitted

Headers

HeaderValue
X-API-KeyYour API key

Path Parameters

ParameterTypeDescription
idintegerAdjustment note ID

Response

{
  "success": true,
  "message": "Cancelled submitted document successfully"
}

Error Responses

StatusMessage
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-documents

Headers

HeaderValue
X-API-KeyYour API key

Path Parameters

ParameterTypeDescription
idintegerAdjustment 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_id

Headers

HeaderValue
X-API-KeyYour API key

Path Parameters

ParameterTypeDescription
idintegerAdjustment note ID
submitted_document_idintegerSubmitted 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');