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

# Create Voucher

> Create a new bank cash flow voucher

```text Plain Signature wrap theme={null}
path=/v1/vouchers&token=YOUR_TOKEN&email=john@gmail.com&tenant_id=841eaf97-c428-47d1-9f6d-c61cc9df7bee
```


## OpenAPI

````yaml POST /v1/vouchers
openapi: 3.1.0
info:
  title: Accounting+ API
  description: >-
    A comprehensive accounting API that provides endpoints for managing bank
    cash flow vouchers and journal transactions
  version: 1.0.0
servers:
  - url: https://staging-openapi.accountingplus.id
    description: Main API Server
    variables:
      url:
        default: https://staging-openapi.accountingplus.id
        description: The API base URL
security:
  - bearerAuth: []
    signatureKey: []
    dataKey: []
tags:
  - name: Vouchers
    description: Bank cash flow voucher management
  - name: Journals
    description: Journal transaction management
  - name: Purchase Invoices
    description: Purchase invoice management
paths:
  /v1/vouchers:
    post:
      tags:
        - Vouchers
      summary: Create Voucher
      description: Create a new bank cash flow voucher
      requestBody:
        description: Voucher detail
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateVoucherRequest'
      responses:
        '200':
          description: Voucher created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateVoucherResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    CreateVoucherRequest:
      type: object
      required:
        - document_date
        - bank_code
        - bank_account_number
        - bank_account_name
        - total_amount
        - category_code
      properties:
        document_date:
          type: string
          format: date-time
          example: 20/08/2025
        bank_code:
          type: string
          example: BCA
        bank_account_number:
          type: string
          example: '1234567890'
        bank_account_name:
          type: string
          example: Rekening Sukses Sejahtera
        total_amount:
          type: number
          example: 20000
        description:
          type: string
          example: Pencatatan Penerimaan Hutang Usaha
        category_code:
          type: string
          example: UK01
    CreateVoucherResponse:
      type: object
      properties:
        status:
          type: string
          example: '00'
        message:
          type: string
          example: success
        data:
          $ref: '#/components/schemas/VoucherDetail'
    Error:
      type: object
      required:
        - status
        - message
      properties:
        status:
          type: string
          example: '01'
        message:
          type: string
          example: Error message
    VoucherDetail:
      allOf:
        - $ref: '#/components/schemas/Voucher'
        - type: object
          properties:
            items:
              type: array
              items:
                $ref: '#/components/schemas/VoucherItem'
    Voucher:
      type: object
      properties:
        document_number:
          type: string
          example: 00001/AKB/03/24
        document_date:
          type: string
          format: date-time
          example: '2025-04-10T00:00:00Z'
        document_status:
          type: string
          enum:
            - D
            - F
            - C
          example: F
        document_type:
          type: string
          enum:
            - T
            - S
            - R
          example: S
        total_amount:
          type: number
          example: 20000
        description:
          type: string
          example: Pencatatan Penerimaan Hutang Usaha
        total_debit:
          type: number
          example: 20000
        total_credit:
          type: number
          example: 20000
        menu_code:
          type: string
          example: AKB
        menu_desc:
          type: string
          example: Arus Kas Bank
        category_code:
          type: string
          example: UK01
        category_name:
          type: string
          example: Pembayaran Gaji dan Tunjangan Karyawan
        member_code:
          type: string
          example: '0124'
        member_name:
          type: string
          example: John Doe
        profit_center_id:
          type: string
          example: '1234567890'
        profit_center_name:
          type: string
          example: Kantor Pusat
        cancel_reason:
          type: string
          example: ''
    VoucherItem:
      type: object
      properties:
        document_number:
          type: string
          example: 00001/AKB/03/24
        detail_number:
          type: string
          example: '00001'
        account_number:
          type: string
          example: 1.01.01.01.03
        account_description:
          type: string
          example: Kas (Account Test)
        debit:
          type: number
          example: 6000
        credit:
          type: number
          example: 0
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >-
        Generate a JWT signed with the `client_secret` and include the
        `client_id` as a claim in its payload.
    signatureKey:
      type: apiKey
      in: header
      name: A-Signature
      description: >-
        Generate the signature by creating an `SHA256-HMAC` hash from the plain
        signature above, using the `signature_secret` as the key. Then,
        `Base64-encode` the resulting hash and place the final value in the
        A-Signature header.
    dataKey:
      type: apiKey
      in: header
      name: A-Data
      description: Include the `email` and `tenant_id` in the payload as Base64 encoded.

````