---
title: "Create Sales Invoice"
method: POST
path: "/api/v1/store-invoice"
tags: ["Documents", "Sales Invoice"]
---

# Create Sales Invoice

`POST /api/v1/store-invoice`

## Request

- The document declares no server URL.
- Auth: API key in header `client_id` and API key in header `client_secret`

## Request body

- object
  - `invoice_date` string, required: Date of the invoice in DD-MM-YYYY format
  - `due_date` string, required: Due date for the invoice in DD-MM-YYYY format
  - `number` string, required: Invoice number
  - `customer` SalesInvoiceRequestCustomer, required
    - `id` string, required: ID of the customer
    - `name` string, required: Name of the customer
    - `email` string: Email of the customer
    - `phone` string, required: Phone number of the customer
  - `is_signature_logo` boolean
  - `items` SalesInvoiceRequestItem[], required: List of items in the invoice
    - `name` string, required: Product Name
    - `code` string
    - `description` string, required: Description of the item
    - `quantity` number, double, required: Quantity of the item
    - `price` number, double, required: Price of the item
    - `discount` number, double: Discount on the item -- would be default to "percentage" in case discount_type is missing
    - `discount_type` 'percentage' | 'amount': Type of discount - can be either "amount" or "percentage"
    - `tax` integer: Tax amount
    - `tax_id` string: Tax ID on the item
    - `tax_exclusive` boolean
    - `uom_code` string
    - `additional_info` object: Additional information related to the item
    - `custom_total` number, double
    - `custom_tax_amount` number, double
    - `tax_invoice_item` object
      - `dpp` number, double: DPP value
      - `ppn` number, double: PPN value
      - `ppnbm` number, double: PPNBM value
      - `fee_ppnbm` number, double: Fee PPNBM value
      - `type` integer: 1 for goods, 2 for services
      - `code` string: Product code
      - `uom_code` string: Unit of measure code
      - `has_other_dpp` boolean: Indicator for other DPP
      - `other_dpp` number, double: Other DPP value
      - `fee_ppn` integer: Fee PPN percentage
      - `paper_product_id` string: UUID of the paper product
  - `signature_text_header` string: Text above the document signature area
  - `signature_text_footer` string: Text below the document signature area
  - `terms_condition` string: Terms and conditions for the invoice
  - `notes` string: Additional notes for the invoice
  - `currency` string
  - `send` SendInvoiceOptions
    - `email` boolean: Flag to determine if the invoice should be sent via email
    - `whatsapp` boolean: Flag to determine if the invoice should be sent via WhatsApp
    - `sms` boolean: Flag to determine if the invoice should be sent via SMS.
  - `additional_info` object: Additional information for the invoice
  - `additional_discount` number, double: Additional discount applied to the transaction -- default to absolute amount in case additional_discount_type is missing
  - `additional_discount_type` 'percentage' | 'amount': Discount type applied to the whole invoice - can either be "percentage" or "amount"
  - `additional_fee` object: Any extra charges or fees incurred in addition to the base transaction amount
    - `delivery_fee` number, double: The charge for delivering goods or services
  - `is_manually_calculated` boolean
  - `subtotal` number, double
  - `manual_variables` SalesInvoiceRequestManualVariables
    - `total_discount` number, double
    - `tax_inclusive` number, double
    - `tax_exclusive` number, double
    - `grand_total` number, double
  - `business_unit` string
  - `tax_invoice` object
    - `save_type` string: draft or send
    - `trx_type` string: Transaction type
    - `additional_information` integer: additional information
    - `supporting_document_code` string: supporting document code
    - `additional_information_code` string: Additional information code
    - `document_date` string: Date in format DD-MM-YYYY
    - `tax_period` string: Tax period in format MM/YYYY
    - `ppn_rate` number, double: PPN rate
    - `dpp_total` number, double: Total DPP
    - `ppn_total` number, double: Total PPN
    - `ppnbm_total` number, double: Total PPNBM
    - `is_payment_term` integer: Payment term flag (0/1)
    - `other_dpp_total` number, double: Other DPP total
    - `signer_id` string: UUID of the signer
    - `signing_place` string: Place of signing
    - `customer` object: Nested customer object
      - `save_information` boolean: Save customer information
      - `npwp` string: Customer NPWP
      - `name` string: Customer name
      - `address` string: Customer address
      - `is_npwp` boolean: Is NPWP flag
      - `nitku` string: Customer Nitku
      - `other_identity_type` string: Other identity type
      - `other_identity_country_code` string: Other identity country code
      - `other_identity_number` string: Other identity number
      - `email` string: Customer email
    - `term` object: Nested term object
      - `dpp` number, double
      - `ppn` number, double
      - `ppnbm` number, double
      - `tax_invoice_number` string
    - `reference` string
  - `flags` string[]

## Response `201`

Successful operation

- object
  - `data` StoreInvoiceResponseData, required
    - `id` string, required
    - `number` string, required
    - `payper_url` string, required
    - `pdf_url` string, required
    - `pdf_url_short` string, required
    - `status_send` SendInvoiceStatus, required
      - `email` boolean, required
      - `whatsapp` boolean, required
      - `sms` boolean, required
    - `tax_invoice_response` unknown
  - `status_code` integer, required

## Other responses

- `400`: Bad request
- `default`: Unsuccessful operation

---

[API](https://skmtc.dev/paper/apis/paper-open-api.md) - [All operations](https://skmtc.dev/paper/apis/paper-open-api/llms.txt) - [OpenAPI document](https://skmtc.dev/paper/apis/paper-open-api/revisions/243ba6121589?raw)
