MarminDeveloper Docs

Create a purchase invoice


Creates a self-billed purchase invoice conforming to UBL 2.1 with PINT AE Self-Billing customization.

Required data

  • Supplier party details (taxable supplier)

  • Buyer party details (invoice issuer)

  • Buyer business profile identifier

  • Line items

  • VAT information

System behavior

  • VAT rules are applied according to UAE VAT law

  • Invoice status and transmission events are tracked

Request

POST /api/purchase-invoices/{business_profile_id}
Authorization: Bearer {jwt_token}
X-MARMIN-VERSION: 20260507
Response

Status code: 201 Created

Response body:

Same response structure as sales invoices, with invoice_type_code set to "389". Returns the created purchase invoice object with all calculated fields populated.

See the right panel for minimal and charged purchase invoice JSON examples.

Error responses

400 Bad Request

Invalid request parameters or validation failed.

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

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

{
  "errors": {
    "profile_execution_id": "Profile execution ID is mandatory",
    "issue_date": "Issue date is mandatory"
  }
}
401 Unauthorized

Authentication required or invalid token.

{
  "errors": {
    "message": "Authentication required or invalid token"
  }
}
413 Request Entity Too Large

The request payload size exceeds the allowed limit of 8MB.

{
  "errors": {
    "message": "Payload size should not exceed 8MB"
  }
}
500 Internal Server Error

An error occurred while processing the request.

{
  "errors": {
    "message": "An error occurred"
  }
}
Next