---
title: "Add expense"
method: POST
path: "/accounting/documents/addexpense/"
tags: ["Accounting (Documents)"]
---

# Add expense

`POST /accounting/documents/addexpense/`

## Headers

- `Content-Language` unknown

## Request body

- AccountingDocumentsAddExpenseRequest
  - `Credentials` CoreAPICredentials, required
    - `CompanyID` integer, required — Company identifier
    - `APIKey` string, required — API key secret
  - `ExpenseNumber` string, nullable — Expense invoice number
  - `ExpenseFile` string, nullable — Expense file contents (Base64)
  - `ExpenseFilename` string, nullable — Expense filename
  - `Supplier` AccountingTypedSupplier
    - `ID` integer, nullable — SUMIT identifier Leave empty to create a new entity or search by other fields when applicable
    - `Folder` string, nullable — Folder identifier. Can be either application folder name, or FolderID.
    - `Properties` object, nullable — Entity fields
    - `Name` string, nullable — Customer full name (or company name) Required for creating new customer (Leave empty to search by other fields)
    - `Phone` string, nullable — Customer phone number (Optional field)
    - `EmailAddress` string, nullable — Customer email address (Optional field)
    - `City` string, nullable — Customer city (Optional field)
    - `Address` string, nullable — Customer address (Optional field)
    - `ZipCode` string, nullable — Customer ZipCode (Optional field)
    - `CompanyNumber` string, nullable — Customer registered company number (VAT number) (Optional field)
    - `ExternalIdentifier` string, nullable — Customer external identifier. External identifier from calling application. Optional field
    - `NoVAT` boolean, nullable — NoVAT indication Set to true for VAT exempt customers Defaults to False
    - `SearchMode` 'Automatic (0)' | 'None (1)' | 'ExternalIdentifier (2)' | 'Name (3)' | 'CompanyNumber (4)' | 'Phone (5)' | 'EmailAddress (6)' — Customer searching mode
  - `Date` string, date-time, nullable — Expense date. Format should be JSON based (such as 2023-11-30).
  - `Lines` AccountingTypedDocumentExpenseItem[], nullable — Expense items and amounts
    - `Item` AccountingTypedExpenseItem
      - `ID` integer, nullable — SUMIT identifier
      - `Name` string, nullable — Expense item name
      - `ExternalIdentifier` string, nullable — Expense item external identifier
      - `SearchMode` 'Automatic (0)' | 'None (1)' | 'ExternalIdentifier (2)' | 'Name (3)'
      - `Properties` object, nullable — Entity fields
    - `Amount` number, double, nullable — Amount in ILS
  - `Payments` AccountingTypedDocumentPayment[], nullable — Document payments Please note each payment should contain a single details object (Cash/BankTransfer/Cheque/CreditCard/Other), multiple payments are handled through the payments array.
    - `Amount` number, double, nullable — Received payment amount Leave this empty for non-ILS documents and automatic exchange rate
    - `DocumentCurrency_Amount` number, double, nullable — Received payment amount Leave this empty for ILS documents / automatic exchange rate
    - `Type` 'Automatic (0)' | 'General (1)' | 'Cash (2)' | 'BankTransfer (3)' | 'Cheque (4)' | 'CreditCard (5)' | 'Digital (6)' | 'TaxWithholding (7)' | 'Other (8)'
    - `PaymentElementID` integer, nullable — Payment Element ID Leave Empty for Automatic (Detect by the supplied Details fields).
    - `Details_General` AccountingTypedPaymentGeneral
    - `Details_Cash` AccountingTypedPaymentCash
    - `Details_BankTransfer` AccountingTypedPaymentBankTransfer
      - `BankNumber` integer, nullable — Israeli bank number For instance, 12 indicates Bank Hapoalim.
      - `BranchNumber` integer, nullable — Israeli bank branch number
      - `AccountNumber` string, nullable — Bank account number
      - `Reference` string, nullable — Bank reference number
      - `DueDate` string, date-time, nullable — Payment date
    - `Details_Cheque` AccountingTypedPaymentCheque
      - `BankNumber` integer, nullable — Israeli bank number For instance, 12 indicates Bank Hapoalim.
      - `BranchNumber` integer, nullable — Israeli bank branch number
      - `AccountNumber` string, nullable — Bank account number
      - `ChequeNumber` string, nullable — Cheque number
      - `DueDate` string, date-time, nullable — Due date
    - `Details_CreditCard` AccountingTypedPaymentCreditCard
      - `CardBrand` string, nullable — Credit card brand
      - `Last4Digits` string, nullable — Last 4 credit card digits
      - `FirstPayment` number, double, nullable — First payment amount Optional
      - `EachPayment` number, double, nullable — Each payment amount (excluding first payment) Optional
      - `Payments` integer, nullable — Credit card payments count (defaults to 1)
    - `Details_Other` AccountingTypedPaymentOther
      - `Type` string, nullable — Payment type
      - `Description` string, nullable — Payment description
      - `DueDate` string, date-time, nullable — Due date
    - `Details_Digital` AccountingTypedPaymentDigital
      - `Type` string, nullable — Digital payment type
      - `Description` string, nullable — Digital payment description
    - `Details_TaxWithholding` AccountingTypedPaymentTaxWithholding
  - `Description` string, nullable — Expense description/remarks
  - `IsDraft` boolean, nullable — Save document as draft
  - `Properties` object, nullable — Custom entity fields

## Response `200`

OK

- ResponseAccountingDocumentsAddExpenseResponse
  - `Status` 'Success (0)' | 'BusinessError (1)' | 'TechnicalError (2)'
  - `UserErrorMessage` string, nullable — Error message, in a user readable format
  - `TechnicalErrorDetails` string, nullable — Technical error details, let us know if you received this.
  - `Data` AccountingDocumentsAddExpenseResponse
    - `DocumentID` integer

---

[API](https://skmtc.net/myofficeguy/apis/sumit-api-full.md) · [All operations](https://skmtc.net/myofficeguy/apis/sumit-api-full/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/myofficeguy/sumit-api-full/versions/de2902289b3a/schema)
