JSR Tax Advisors logoAPI
Developer APIsReference documentation

Create a purchase credit note


Creates a self-billed purchase credit note conforming to UBL 2.1 specification.

Path parameters

ParameterTypeRequiredDescription
customer_profile_idstring
Required
The business profile ID of the customer issuing the credit note.
Required data

  • Original purchase invoice reference

  • Supplier party details (taxable supplier)

  • Buyer party details (credit note issuer)

  • Buyer business profile identifier

  • Line items being credited

  • Discrepancy reason

  • VAT information

System behavior

  • VAT is recalculated according to OMN VAT law

  • Credit note status and transmission events are tracked

Request

POST /api/purchase-credit-notes/{customer_profile_id}
Authorization: Bearer {jwt_token}
Response

Status code: 201 Created

Response body:

Same response structure as sales credit notes, with credit_note_type_code set to "261". Returns the created purchase credit note object with all calculated fields populated.

Each line includes calculated fields: base_amount, net_amount, total_amount, tax_amount. The price object in the response contains price_amount (instead of base_amount in the request).

System-generated response fields include seller_uuid and qr_code_base64. See Invoice QR Code and Seller UUID for generation rules.

See the right panel for example purchase credit note JSON payloads.

Error responses

400 Bad Request

Invalid request parameters or validation failed.

{
  "errors": {
    "message": "Business profile not found with id: {customer_profile_id}"
  }
}

For validation errors, the response includes field-specific errors:

{
  "errors": {
    "transaction_type": "Transaction type is mandatory",
    "issue_date": "Issue date is mandatory"
  }
}
401 Unauthorized

Authentication required or invalid token.

{
  "errors": {
    "message": "Authentication required or invalid token"
  }
}
500 Internal Server Error

An error occurred while processing the request.

{
  "errors": {
    "message": "An error occurred"
  }
}
API Docs