> ## Documentation Index
> Fetch the complete documentation index at: https://developer.eka.care/llms.txt
> Use this file to discover all available pages before exploring further.

# Add charges

> Adds one or more charges. Each is a catalog `chargeableId` or an inline `item`; prices come from the active price list unless `unitPrice` is given. Use `idempotencyKey` to make a retry safe.

The admission must be on new billing (`use_new_billing`); otherwise this returns 409. Returns 503 when billing is not configured on the server, and 502 when the billing service fails.



## OpenAPI

````yaml api-reference/doc-tool/ipd-api/ipd-sdk-openapi.json post /ipd/v1/sdk/admissions/{admission_id}/billing/charges
openapi: 3.1.0
info:
  title: Eka IPD Admission API
  version: '1.0'
servers:
  - description: Production
    url: https://api.eka.care
  - description: Stage/Sandbox
    url: https://api.dev.eka.care
security: []
paths:
  /ipd/v1/sdk/admissions/{admission_id}/billing/charges:
    post:
      tags:
        - IPD API
      summary: Add charges
      description: >-
        Adds one or more charges. Each is a catalog `chargeableId` or an inline
        `item`; prices come from the active price list unless `unitPrice` is
        given. Use `idempotencyKey` to make a retry safe.


        The admission must be on new billing (`use_new_billing`); otherwise this
        returns 409. Returns 503 when billing is not configured on the server,
        and 502 when the billing service fails.
      operationId: IpdSdkAddCharges
      parameters:
        - name: auth
          in: header
          required: true
          schema:
            type: string
          example: >-
            eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJiX2lkIjoiMTIzNDU2IiwiY2xpZW50X2lkIjoiNzg5MCIsImV4dHJhX2ZpZWxkIjoiZXh0cmFfZmllbGRfZGF0YSJ9.q9KzBI6f4l3OyM_EkB5Quq0l9EEMFh5JS-fx3F_PHUM
        - schema:
            minLength: 1
            type: string
          in: path
          name: admission_id
          required: true
          description: Id of the IPD admission.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              additionalProperties: false
              type: object
              required:
                - charges
              properties:
                charges:
                  minItems: 1
                  description: Charges to add.
                  type: array
                  items:
                    additionalProperties: false
                    description: 'One charge: a catalog `chargeableId` or an inline `item`.'
                    type: object
                    properties:
                      chargeableId:
                        description: Catalog chargeable to bill. Omit when sending `item`.
                        type: string
                      item:
                        additionalProperties: false
                        description: An item billed inline, without a catalog entry.
                        type: object
                        required:
                          - description
                          - unitPrice
                        properties:
                          description:
                            minLength: 1
                            description: Line description.
                            type: string
                          unitPrice:
                            pattern: ^-?\d+(\.\d+)?$
                            description: >-
                              Tax-exclusive unit price. Decimal string, for
                              example "1500.00".
                            type: string
                          kind:
                            description: Item kind — drives GST classification.
                            anyOf:
                              - type: string
                                enum:
                                  - service
                              - type: string
                                enum:
                                  - drug
                              - type: string
                                enum:
                                  - room
                              - type: string
                                enum:
                                  - procedure
                              - type: string
                                enum:
                                  - implant
                              - type: string
                                enum:
                                  - consumable
                              - type: string
                                enum:
                                  - other
                          category:
                            description: Grouping / department (reporting).
                            type: string
                          code:
                            description: Item code (reporting / dedupe).
                            type: string
                          hsnSacCode:
                            description: HSN/SAC code.
                            type: string
                          taxTreatment:
                            description: Explicit GST treatment, when known.
                            anyOf:
                              - type: string
                                enum:
                                  - exempt
                              - type: string
                                enum:
                                  - nil_rated
                              - type: string
                                enum:
                                  - zero_rated
                              - type: string
                                enum:
                                  - taxable
                              - type: string
                                enum:
                                  - composite_principal
                          gstRate:
                            pattern: ^-?\d+(\.\d+)?$
                            description: >-
                              Explicit GST rate in percent. Decimal string, for
                              example "1500.00".
                            type: string
                          taxMode:
                            description: >-
                              `compute` (default): billing computes GST. `none`:
                              the sent `gstRate`/`taxTreatment` are used as-is.
                            anyOf:
                              - type: string
                                enum:
                                  - compute
                              - type: string
                                enum:
                                  - none
                      quantity:
                        description: Units; defaults to "1".
                        type: string
                      unitPrice:
                        pattern: ^-?\d+(\.\d+)?$
                        description: >-
                          Unit price override; omit to use the active price
                          list. Decimal string, for example "1500.00".
                        type: string
                      description:
                        type: string
                      discount:
                        description: 'Line discount: either `{ percent }` or `{ amount }`.'
                        anyOf:
                          - additionalProperties: false
                            type: object
                            required:
                              - percent
                            properties:
                              percent:
                                minimum: 0
                                maximum: 100
                                type: number
                          - additionalProperties: false
                            type: object
                            required:
                              - amount
                            properties:
                              amount:
                                pattern: ^-?\d+(\.\d+)?$
                                description: >-
                                  Discount amount. Decimal string, for example
                                  "1500.00".
                                type: string
                      idempotencyKey:
                        description: The same key returns the same charge.
                        type: string
                      sourceBundleId:
                        description: Package this line was unfolded from.
                        type: string
                      occurredAt:
                        description: When the service happened (ISO date or date-time).
                        type: string
                      priceSource:
                        description: >-
                          Send `"override"` to make `unitPrice` a deliberate
                          manual rate that wins over price lists and rules.
                          Without it, billing re-resolves the price and treats
                          `unitPrice` as a preview.
                        type: string
                      priceOverrideReason:
                        description: >-
                          Why an open-priced item's rate is outside its allowed
                          range. Required for an out-of-range rate; the charge
                          then waits for approval.
                        type: string
                      remark:
                        description: Free-text note on the line.
                        type: string
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                type: array
                items:
                  additionalProperties: true
                  description: >-
                    A charge: `id`, `description`, `quantity`, `unitPrice`,
                    `discountAmount`, `taxAmount`, `totalAmount`, `status`,
                    `invoiceId`, `occurredAt`, …
                  example:
                    id: chg-501
                    description: X-Ray Chest
                    quantity: '1'
                    unitPrice: '800.00'
                    discountAmount: '80.00'
                    taxAmount: '0.00'
                    totalAmount: '720.00'
                    invoiceId: null
                    occurredAt: '2026-10-07T10:00:00.000Z'
                  type: object
                  properties: {}
        '400':
          description: Bad Request — the request failed validation or was rejected.
          content:
            application/json:
              schema:
                type: object
                required:
                  - message
                properties:
                  message:
                    type: string
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                required:
                  - message
                properties:
                  message:
                    type: string
        '404':
          description: >-
            Not Found — the admission (or the addressed record) does not exist
            in your workspace.
          content:
            application/json:
              schema:
                type: object
                required:
                  - message
                properties:
                  message:
                    type: string
        '409':
          description: >-
            Conflict — the admission is not on new billing, or the request
            conflicts with the account's current state.
          content:
            application/json:
              schema:
                type: object
                required:
                  - message
                properties:
                  message:
                    type: string
        '502':
          description: Bad Gateway — the billing service failed.
          content:
            application/json:
              schema:
                type: object
                required:
                  - message
                properties:
                  message:
                    type: string
        '503':
          description: >-
            Service Unavailable — billing or pharmacy notification is not
            configured.
          content:
            application/json:
              schema:
                type: object
                required:
                  - message
                properties:
                  message:
                    type: string

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.