---
title: "Create Debit Memo"
method: POST
path: "/coa/api/v1/debit-memo"
tags: ["Accounts Payable"]
---

# Create Debit Memo

`POST /coa/api/v1/debit-memo`

Creates a new accounting debit memo with line items and automatic journal entry generation.

        Debit memos are used to record amounts owed to vendors or to adjust vendor account balances.
        This endpoint handles multi-currency transactions, departmental allocations, and automatic
        double-entry bookkeeping.

## Request body

- AccountingDebitMemo
  - `id` integer, required
  - `lines` AccountingDebitMemoLine[], required
    - `id` integer, required
    - `debit_memo` integer
    - `account_number` string, required
    - `account_name` string, nullable, required — Combines account number and name in the format "number - name"
    - `department_name` string, required
    - `tags` object[], required
    - `tax_rate_name` string, required
    - `tax_rate_value` number, double, required
    - `amortization_schedule` AmortizationSchedule[], required
      - `id` integer
      - `amortization` integer
      - `accounting_amortization` integer
      - `journal_entry_order` string, required
      - `date` string, date, required
      - `amount` number, double, required
      - `posted` boolean
      - `customer` integer, required
      - `transaction` integer, nullable
      - `bill_line` integer, nullable
      - `debit_memo_line` integer, nullable
      - `journal_entry` integer, nullable
    - `description` string, nullable
    - `amount` number, double
    - `tax` number, double
    - `tax_description` string, nullable
    - `tag_ids` integer[]
    - `tag_group_ids` integer[]
    - `created_at` string, date-time, required
    - `last_modified_at` string, date-time, required
    - `customer` integer, required
    - `account` integer, required
    - `tax_rate` integer, nullable
    - `department` integer, nullable
  - `payments` AccountingDebitMemoPayment[], required
    - `id` integer, required
    - `payment_journal_entry_order` string, required
    - `voided_journal_entry_order` string, nullable, required
    - `bill` string, required
    - `currency` string
    - `amount` number, double
    - `payment_date` string, date, nullable
    - `created_at` string, date-time, required
    - `last_modified_at` string, date-time, required
    - `voided_date` string, date, nullable
    - `customer` integer, required
    - `debit_memo` integer, required
    - `payment_journal_entry` integer, required
    - `payment_transaction` integer, nullable
    - `voided_journal_entry` integer, nullable
  - `amount_remaining` number, double, required — Calculate amount remaining from database fields
  - `entity_name` string, required
  - `entity_currency` string, required
  - `vendor_name` string, required
  - `debit_account_number` string, required
  - `debit_account_name` string, nullable, required — Combines account number and name in the format "number - name"
  - `attachments` File[], required
    - `id` integer, required
    - `customer` integer, required
    - `created_at` string, date-time, required
    - `created_by` integer, nullable, required
    - `created_by_name` string, required
    - `created_by_email` string, required
    - `last_modified_at` string, date-time, required
    - `name` string, required
    - `url` string, required
    - `s3_content_type` string, nullable
    - `s3_content_length` integer, nullable
    - `s3_path` string, required
    - `object_id` integer, nullable
    - `app` string, required
    - `model` string, required
    - `is_deleted` boolean, required
    - `deleted_at` string, date-time, nullable, required
  - `debit_memo_number` string
  - `migrated_journal_id` integer, nullable
  - `voided_date` string, date, required
  - `voided_journal_entry_order` string, required
  - `last_modified_at` string, date-time, required
  - `is_deleted` boolean, required
  - `deleted_at` string, date-time, nullable, required
  - `chat_uuid` string, uuid
  - `amortizations` integer[], required
  - `search_vector` string, nullable, required
  - `search_text` string, nullable, required
  - `ref_number` string, nullable
  - `debit_memo_date` string, date, required
  - `applied_date` string, date, nullable
  - `message_on_debit_memo` string, nullable
  - `source_id` string, nullable
  - `source` string, nullable
  - `application_status` union
    - 'open' | 'partially_used' | 'used' | 'voided' — * `open` - Open * `partially_used` - Partially Used * `used` - Used * `voided` - Voided
    - ''
    - unknown
  - `currency` string
  - `exchange_rate` number, double, nullable
  - `exchange_rate_book` number, double, nullable
  - `created_at` string, date-time, required
  - `total_amount` number, double — Sum of all line item amounts
  - `amount_used` number, double — Sum of all non-voided payment amounts
  - `chat_id` integer, nullable
  - `tax_behavior` union
    - 'inclusive' | 'exclusive' — * `inclusive` - Inclusive * `exclusive` - Exclusive
    - ''
    - unknown
  - `customer` integer, required
  - `entity` integer, required
  - `vendor` integer, nullable
  - `debit_account` integer, nullable
  - `journal_entry` integer, nullable
  - `voided_journal_entry` integer, nullable

## Response `201`

- AccountingDebitMemo
  - `id` integer, required
  - `lines` AccountingDebitMemoLine[], required
    - `id` integer, required
    - `debit_memo` integer
    - `account_number` string, required
    - `account_name` string, nullable, required — Combines account number and name in the format "number - name"
    - `department_name` string, required
    - `tags` object[], required
    - `tax_rate_name` string, required
    - `tax_rate_value` number, double, required
    - `amortization_schedule` AmortizationSchedule[], required
      - `id` integer
      - `amortization` integer
      - `accounting_amortization` integer
      - `journal_entry_order` string, required
      - `date` string, date, required
      - `amount` number, double, required
      - `posted` boolean
      - `customer` integer, required
      - `transaction` integer, nullable
      - `bill_line` integer, nullable
      - `debit_memo_line` integer, nullable
      - `journal_entry` integer, nullable
    - `description` string, nullable
    - `amount` number, double
    - `tax` number, double
    - `tax_description` string, nullable
    - `tag_ids` integer[]
    - `tag_group_ids` integer[]
    - `created_at` string, date-time, required
    - `last_modified_at` string, date-time, required
    - `customer` integer, required
    - `account` integer, required
    - `tax_rate` integer, nullable
    - `department` integer, nullable
  - `payments` AccountingDebitMemoPayment[], required
    - `id` integer, required
    - `payment_journal_entry_order` string, required
    - `voided_journal_entry_order` string, nullable, required
    - `bill` string, required
    - `currency` string
    - `amount` number, double
    - `payment_date` string, date, nullable
    - `created_at` string, date-time, required
    - `last_modified_at` string, date-time, required
    - `voided_date` string, date, nullable
    - `customer` integer, required
    - `debit_memo` integer, required
    - `payment_journal_entry` integer, required
    - `payment_transaction` integer, nullable
    - `voided_journal_entry` integer, nullable
  - `amount_remaining` number, double, required — Calculate amount remaining from database fields
  - `entity_name` string, required
  - `entity_currency` string, required
  - `vendor_name` string, required
  - `debit_account_number` string, required
  - `debit_account_name` string, nullable, required — Combines account number and name in the format "number - name"
  - `attachments` File[], required
    - `id` integer, required
    - `customer` integer, required
    - `created_at` string, date-time, required
    - `created_by` integer, nullable, required
    - `created_by_name` string, required
    - `created_by_email` string, required
    - `last_modified_at` string, date-time, required
    - `name` string, required
    - `url` string, required
    - `s3_content_type` string, nullable
    - `s3_content_length` integer, nullable
    - `s3_path` string, required
    - `object_id` integer, nullable
    - `app` string, required
    - `model` string, required
    - `is_deleted` boolean, required
    - `deleted_at` string, date-time, nullable, required
  - `debit_memo_number` string
  - `migrated_journal_id` integer, nullable
  - `voided_date` string, date, required
  - `voided_journal_entry_order` string, required
  - `last_modified_at` string, date-time, required
  - `is_deleted` boolean, required
  - `deleted_at` string, date-time, nullable, required
  - `chat_uuid` string, uuid
  - `amortizations` integer[], required
  - `search_vector` string, nullable, required
  - `search_text` string, nullable, required
  - `ref_number` string, nullable
  - `debit_memo_date` string, date, required
  - `applied_date` string, date, nullable
  - `message_on_debit_memo` string, nullable
  - `source_id` string, nullable
  - `source` string, nullable
  - `application_status` union
    - 'open' | 'partially_used' | 'used' | 'voided' — * `open` - Open * `partially_used` - Partially Used * `used` - Used * `voided` - Voided
    - ''
    - unknown
  - `currency` string
  - `exchange_rate` number, double, nullable
  - `exchange_rate_book` number, double, nullable
  - `created_at` string, date-time, required
  - `total_amount` number, double — Sum of all line item amounts
  - `amount_used` number, double — Sum of all non-voided payment amounts
  - `chat_id` integer, nullable
  - `tax_behavior` union
    - 'inclusive' | 'exclusive' — * `inclusive` - Inclusive * `exclusive` - Exclusive
    - ''
    - unknown
  - `customer` integer, required
  - `entity` integer, required
  - `vendor` integer, nullable
  - `debit_account` integer, nullable
  - `journal_entry` integer, nullable
  - `voided_journal_entry` integer, nullable

---

[API](https://skmtc.net/campfire/apis/campfire-developer-apis.md) · [All operations](https://skmtc.net/campfire/apis/campfire-developer-apis/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/campfire/campfire-developer-apis/revisions/6945ebc3180e/schema)
