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

# Issue Cash Receipt

> Cash receipt issuance is asynchronous. The API first returns `202 Accepted` and an `issuanceKey`. Check the final result via webhook or the status API.

For recipient types (`recipient.type`), the recipient identifier (`recipient.value`), and amount and validation rules, see the [Cash receipt guide](/en/api-introduction/cash-receipt-guide).




## OpenAPI

````yaml /openapi.en.yaml post /v1/cashReceipts
openapi: 3.1.0
info:
  title: Bolta API
  description: >
    The Bolta e-tax invoice API. [API Overview](/en/api-introduction/overview) |
    [Authentication guide](/en/api-introduction/authentication) | [Use
    cases](/en/api-introduction/usecase-b2b)
  version: 1.0.0
servers:
  - url: https://xapi.bolta.io
    description: Bolta API server
security:
  - basicAuth: []
tags:
  - name: Tax Invoice
    description: >
      Issue and manage e-tax invoices. [Calculating the issuance
      amount](/en/api-introduction/issuance-guide) | [Amendment
      types](/en/api-introduction/amendment-guide)
  - name: Reverse Issuance
    description: >
      Request and manage reverse issuance of e-tax invoices. [Email-approval
      reverse issuance](/en/api-introduction/usecase-reverse-email) |
      [Simple-approval reverse
      issuance](/en/api-introduction/usecase-reverse-simple)
  - name: Cash Receipt
    description: >
      Issue, cancel, and check the status of cash receipts. Issuance and
      cancellation are asynchronous. Check the final result via webhook or the
      status API. [Cash receipt guide](/en/api-introduction/cash-receipt-guide)
      | [Webhook events](/en/api-introduction/webhook-events)
  - name: Supplier
    description: >
      Register and manage the supplier (issuer) that issues tax invoices.
      [Glossary](/en/api-introduction/glossary) | [Delegated
      issuance](/en/api-introduction/usecase-delegated)
  - name: Certificate
    description: >
      Register and manage the supplier's certificate. [Authentication
      guide](/en/api-introduction/authentication)
paths:
  /v1/cashReceipts:
    post:
      tags:
        - Cash Receipt
      summary: Issue Cash Receipt
      description: >
        Cash receipt issuance is asynchronous. The API first returns `202
        Accepted` and an `issuanceKey`. Check the final result via webhook or
        the status API.


        For recipient types (`recipient.type`), the recipient identifier
        (`recipient.value`), and amount and validation rules, see the [Cash
        receipt guide](/en/api-introduction/cash-receipt-guide).
      parameters:
        - name: Supplier-Key
          in: header
          description: >-
            Enter the supplierKey from the supplier registration API (POST
            /v1/suppliers). The request body `issuer.businessRegistrationNumber`
            must match the business registration number linked to this key.
            [Glossary](/en/api-introduction/glossary) | [Authentication
            guide](/en/api-introduction/authentication)
          required: true
          example: SupplierKey_bf8paz
          schema:
            type: string
        - name: Bolta-Client-Reference-Id
          in: header
          description: >-
            Enter a client reference ID between 1 and 255 characters. The API
            uses this value as the idempotency key. If you retry with the same
            value and an identical request, the API returns the existing result.
            If the request content or type differs, the API returns `409
            Conflict`. To check the status later, pass this value as
            `clientReferenceId`. [Authentication
            guide](/en/api-introduction/authentication#client-reference-id)
          required: true
          example: your-unique-reference-id
          schema:
            type: string
        - name: Bolta-Webhook-Test-Code
          in: header
          description: >-
            Use this header only to reproduce a failure webhook with a test key.
            Enter a failure code, and the API sends the corresponding failure
            webhook. Do not use this header in production (live). [Webhook
            events](/en/api-introduction/webhook-events)
          required: false
          example: INVALID_RECIPIENT_IDENTIFIER
          schema:
            type: string
            enum:
              - INVALID_ISSUER
              - INVALID_RECIPIENT_IDENTIFIER
              - ORIGINAL_ISSUANCE_FAILED
              - UNKNOWN
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CashReceiptIssueRequest'
            examples:
              phone:
                summary: Issue with a mobile phone number
                value:
                  itemName: Service fee
                  issuer:
                    businessRegistrationNumber: '5648102684'
                    organizationName: Bolta Corporation
                    representativeName: M. Lee
                    telephone: 02-1234-5678
                  recipient:
                    type: PHONE
                    value: 010-1234-5678
                  amount:
                    supplyAmount: 100
                    vatAmount: 10
                    taxFreeAmount: 0
              businessRegistrationNumber:
                summary: >-
                  Issue with a business registration number (proof of
                  expenditure)
                value:
                  itemName: Service fee
                  issuer:
                    businessRegistrationNumber: '5648102684'
                    organizationName: Bolta Corporation
                    representativeName: M. Lee
                    telephone: 02-1234-5678
                  recipient:
                    type: BUSINESS_REGISTRATION_NUMBER
                    value: '1234567890'
                  amount:
                    supplyAmount: 100000
                    vatAmount: 10000
                    taxFreeAmount: 0
              self:
                summary: Self-issuance (issue without recipient information)
                value:
                  itemName: Service fee
                  issuer:
                    businessRegistrationNumber: '5648102684'
                    organizationName: Bolta Corporation
                    representativeName: M. Lee
                    telephone: 02-1234-5678
                  recipient:
                    type: SELF
                  amount:
                    supplyAmount: 100
                    vatAmount: 10
                    taxFreeAmount: 0
      responses:
        '202':
          description: >-
            The API accepted the issuance request. Check the final result via
            webhook or the status API.
          headers:
            Location:
              description: Path to check the issuance status
              schema:
                type: string
                examples:
                  - >-
                    /v1/cashReceipts/status?clientReferenceId=your-unique-reference-id
          content:
            application/json:
              schema:
                type: object
                properties:
                  issuanceKey:
                    $ref: '#/components/schemas/CashReceiptIssuanceKey'
                required:
                  - issuanceKey
              example:
                issuanceKey: MRK98JGC5KOAEIPGK8U6UO05I3EAQPLI8OE78A3I
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: >
            supplierKey authorization failed. The `code` in the response is
            `FORBIDDEN`. Returned when the Supplier-Key does not exist, belongs
            to another partner, or was not issued with the API key you are
            using. The `issuer.businessRegistrationNumber` in the request body
            must also match the business registration number linked to this key.
            A supplierKey is issued per API key, so if you issued a new API key,
            register the supplierKey again with that key. [Authentication
            guide](/en/api-introduction/authentication)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '409':
          description: >-
            The same clientReferenceId was used with different request content
            or a different request type. The response `code` is
            `IDEMPOTENCY_CONFLICT`.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      deprecated: false
components:
  schemas:
    CashReceiptIssueRequest:
      type: object
      description: Cash receipt issuance request body
      properties:
        itemName:
          type: string
          title: Item name
          description: Item name (up to 20 characters)
          minLength: 1
          maxLength: 20
          examples:
            - Service fee
        issuer:
          $ref: '#/components/schemas/CashReceiptIssuer'
        recipient:
          $ref: '#/components/schemas/CashReceiptRecipient'
        amount:
          $ref: '#/components/schemas/CashReceiptAmount'
      required:
        - itemName
        - issuer
        - recipient
        - amount
    CashReceiptIssuanceKey:
      type: string
      description: >-
        The cash receipt issuance key. Store the entire string as-is because its
        format and length may change.
      examples:
        - MRK98JGC5KOAEIPGK8U6UO05I3EAQPLI8OE78A3I
    ErrorResponse:
      type: object
      description: The error response returned when an API request fails
      properties:
        code:
          type: string
          description: Error type identifier
        message:
          type: string
          description: Error description
      required:
        - code
        - message
    CashReceiptIssuer:
      type: object
      description: >-
        Information about the cash receipt supplier. Set
        `businessRegistrationNumber` to the business registration number linked
        to `Supplier-Key`.
      properties:
        businessRegistrationNumber:
          $ref: '#/components/schemas/BusinessRegistrationNumber'
          description: Supplier business registration number
        organizationName:
          type: string
          title: Organization name
          description: Supplier organization name (up to 20 characters)
          minLength: 1
          maxLength: 20
        representativeName:
          type: string
          title: Representative name
          description: Supplier representative name (up to 10 characters)
          minLength: 1
          maxLength: 10
        telephone:
          type: string
          title: Telephone
          description: >-
            Supplier telephone number. Enter a landline number with an area
            code, a 3- or 4-digit exchange, and a 4-digit subscriber number; or
            a representative number with a 15xx, 16xx, or 18xx prefix followed
            by 4 digits.
          examples:
            - 02-1234-5678
            - 1588-1234
      required:
        - businessRegistrationNumber
        - organizationName
        - representativeName
        - telephone
    CashReceiptRecipient:
      description: >
        Recipient information. Set `value` based on `type`. For detailed rules,
        see the [Cash receipt guide](/en/api-introduction/cash-receipt-guide).
      oneOf:
        - $ref: '#/components/schemas/CashReceiptSelfRecipient'
        - $ref: '#/components/schemas/CashReceiptPhoneRecipient'
        - $ref: '#/components/schemas/CashReceiptBusinessRegistrationNumberRecipient'
      discriminator:
        propertyName: type
        mapping:
          SELF:
            $ref: '#/components/schemas/CashReceiptSelfRecipient'
          PHONE:
            $ref: '#/components/schemas/CashReceiptPhoneRecipient'
          BUSINESS_REGISTRATION_NUMBER:
            $ref: >-
              #/components/schemas/CashReceiptBusinessRegistrationNumberRecipient
    CashReceiptAmount:
      type: object
      description: >-
        The issuance amount. Each field and the total (supplyAmount + vatAmount
        + taxFreeAmount) must be no greater than 9,999,999,999, and the total
        must be greater than 0.
      properties:
        supplyAmount:
          type: integer
          format: int64
          minimum: 0
          maximum: 9999999999
          description: Supply amount
          examples:
            - 100
        vatAmount:
          type: integer
          format: int64
          minimum: 0
          maximum: 9999999999
          description: VAT amount
          examples:
            - 10
        taxFreeAmount:
          type:
            - integer
            - 'null'
          format: int64
          minimum: 0
          maximum: 9999999999
          description: Tax-free amount (optional, defaults to 0)
          examples:
            - 0
      required:
        - supplyAmount
        - vatAmount
    BusinessRegistrationNumber:
      type: string
      title: Business registration number
      description: '10 digits without hyphens (-). Pattern: `^\d{10}$`'
      pattern: ^\d{10}$
      examples:
        - '1234567890'
    CashReceiptSelfRecipient:
      type: object
      additionalProperties: false
      properties:
        type:
          type: string
          enum:
            - SELF
        value:
          type:
            - string
            - 'null'
          title: Recipient identifier
          description: >-
            Omit this field or set it to `null` or an empty string for
            self-issuance.
          maxLength: 0
      required:
        - type
    CashReceiptPhoneRecipient:
      type: object
      additionalProperties: false
      properties:
        type:
          type: string
          enum:
            - PHONE
        value:
          type: string
          title: Mobile phone number
          description: A mobile phone number in `010-1234-5678` format
          pattern: ^010-\d{4}-\d{4}$
          examples:
            - 010-1234-5678
      required:
        - type
        - value
    CashReceiptBusinessRegistrationNumberRecipient:
      type: object
      additionalProperties: false
      properties:
        type:
          type: string
          enum:
            - BUSINESS_REGISTRATION_NUMBER
        value:
          $ref: '#/components/schemas/BusinessRegistrationNumber'
          title: Business registration number
          description: >-
            A 10-digit business registration number without hyphens for proof of
            expenditure
      required:
        - type
        - value
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
      description: >-
        Base64-encode your API key and pass it. Enter the API key as the
        username and leave the password empty.

````