EnKash Developer Portal
Home
Home
Login
  1. APIs - Expense
  • Explore Our Product Suite
  • Payment Gateway
    • Set Up Payment Gateway
    • Payment Options
    • Easy API Setup
    • APIs - Payment Gateway
  • Payouts
    • Set Up Payouts
    • APIs - Payout
  • Prepaid Cards
    • Key Capabilities
    • Set Up Prepaid Cards
    • KYC Status Handling Guide
    • T&C Acceptance Flow
    • Card Design & Branding Compliance Guide
    • APIs - Prepaid Card
  • Wallet
    • APIs - Wallet
  • Bharat Connect (BBPS)
    • APIs - BBPS
  • Accounts Payable
    • APIs - Accounts Payable
  • Account Receivable
    • Accounts Receivable Overview
    • APIs - Account Receivable
  • Expense ERP Integration
    • About Authorization
    • APIs - Expense
    • Partner Integration
    • APIs - Expense
      • Create user
        POST
      • List employees
        GET
      • Get employee
        GET
      • Create department
        POST
      • List departments
        GET
      • Get department
        GET
      • Update department
        PATCH
      • Create grade
        POST
      • List grades
        GET
      • Get grade
        GET
      • Create designation
        POST
      • List designations
        GET
      • Get designation
        GET
      • List designations in a department
        GET
      • List categories
        GET
      • Get category
        GET
      • Create expense policy
        POST
      • List policies
        GET
      • Get policy
        GET
      • Create expense
        POST
      • Update expense fare, tax, invoice, or receipt
        PATCH
      • Cancel an expense and keep the record
        POST
      • Get expense
        GET
      • Approve, reject, or hold expense
        POST
  • Rewards & Incentives
    • About Rewards
    • Getting Started
    • Encryption & Decryption Guide
    • Reward Allocation
    • Incentive Allocation
    • APIs - Reward
  • Petty Cash
    • Request Encryption Using AES
    • API - Petty Cash
  • Verification Suite
    • Verification Suite Overview
    • APIs - Verification Suite
    • Create expense category
  • Schemas
    • CardExpenseSuccessResponse
    • AttachReceiptSuccessResponse
    • ErrorResponse
    • ExpenseSearchRequest
    • PartnerUser
    • ExpenseSearchItem
    • PartnerUserSuccessResponse
    • ExpenseSearchResponse
    • PartnerUserRequest
    • PartnerUserListResponse
    • PartnerDepartmentCreateRequest
    • PartnerDepartment
    • PartnerDepartmentSuccessResponse
    • PartnerDepartmentListResponse
    • PartnerGradeCreateRequest
    • PartnerCodeName
    • PartnerGrade
    • PartnerGradeSuccessResponse
    • PartnerGradeListResponse
    • PartnerDesignationCreateRequest
    • PartnerDesignation
    • PartnerDesignationSuccessResponse
    • PartnerDesignationListResponse
    • PartnerCategoryCreateRequest
    • PartnerCategory
    • PartnerCategorySuccessResponse
    • PartnerCategoryListResponse
    • PartnerPolicyCreateRequest
    • PartnerPolicy
    • PartnerPolicySuccessResponse
    • PartnerPolicyListResponse
    • PartnerExpenseCreateRequest
    • PartnerExpense
    • PartnerExpenseUpdateRequest
    • PartnerExpenseCancelRequest
    • PartnerExpenseSuccessResponse
    • PartnerExpenseStatusRequest
    • PartnerExpenseStatusItem
    • PartnerExpenseStatusResponse
    • ExpenseHistoryItem
    • ExpensePaymentMode
    • ExpensePayload
    • AccountType
    • TripRequestSuccessResponse
    • TripRequestCreateRequest
    • TripRequestPayload
    • FlightEntries
    • FlightSegment
    • BusAndTrainEntry
    • CarRentalEntry
    • HotelEntry
    • AdvanceCreateRequest
    • TripRequestHistoryItem
    • TripType
    • RequestFormStatus
  1. APIs - Expense

Create expense

POST
/api/v0/partner/expense
Creates an expense for an employee. Send Acting-User-Id, or ekUserId in the body, for that employee.
paymentMode COMPANY_ISSUED_CARD means the company already paid, so the employee is not reimbursed.
paymentMode CASH or PERSONAL_CARD means the employee is reimbursed. Send reimbursementRequired to override that.
paymentIdentifier is your booking id or PNR. Send the same value again and you get the original expense back.
Send invoiceNumber and the GST amounts when you have the invoice.
Call the expense status API to approve it.
At most 5 creates per minute from the same IP.

Request

Header Params

Body Params application/jsonRequired

Example
{
    "ekUserId": "string",
    "expenseDate": "2026-09-15 10:30:00",
    "amount": 0.01,
    "currencyCode": "INR",
    "merchantName": "string",
    "invoiceNumber": "string",
    "paymentIdentifier": "string",
    "reimbursementRequired": true,
    "gstNumber": "string",
    "preTaxAmount": 0,
    "cgstAmount": 0,
    "sgstAmount": 0,
    "igstAmount": 0,
    "hsnCode": "string",
    "category": "string",
    "paymentMode": "FREEDOM_CARD",
    "receiptUrls": [
        "string"
    ],
    "remarks": "string",
    "branchCode": "string",
    "projectId": "string",
    "rosterProjectId": "string",
    "isDraft": true
}

Request Code Samples

Shell
JavaScript
Java
Swift
Go
PHP
Python
HTTP
C
C#
Objective-C
Ruby
OCaml
Dart
R
Request Request Example
Shell
JavaScript
Java
Swift
curl --location 'https://ekpayout-uat.enkash.in/api/v0/partner/expense' \
--header 'Authorization;' \
--header 'Acting-User-Id;' \
--header 'Content-Type: application/json' \
--data '{
    "ekUserId": "string",
    "expenseDate": "2026-09-15 10:30:00",
    "amount": 0.01,
    "currencyCode": "INR",
    "merchantName": "string",
    "invoiceNumber": "string",
    "paymentIdentifier": "string",
    "reimbursementRequired": true,
    "gstNumber": "string",
    "preTaxAmount": 0,
    "cgstAmount": 0,
    "sgstAmount": 0,
    "igstAmount": 0,
    "hsnCode": "string",
    "category": "string",
    "paymentMode": "FREEDOM_CARD",
    "receiptUrls": [
        "string"
    ],
    "remarks": "string",
    "branchCode": "string",
    "projectId": "string",
    "rosterProjectId": "string",
    "isDraft": true
}'

Responses

🟢200
application/json
Expense created.
Bodyapplication/json

Example
{
    "response_code": 0,
    "response_message": "Expense has been successfully created.",
    "payload": {
        "expenseId": "string",
        "expenseDate": "string",
        "amount": 0,
        "merchantName": "string",
        "category": "string",
        "paymentMode": "string",
        "managerApprovalStatus": "PENDING",
        "financeApprovalStatus": "PENDING",
        "settlementStatus": "string",
        "receiptUrls": [
            "string"
        ],
        "remarks": "string",
        "branchCode": "string",
        "employeeId": "string",
        "paymentIdentifier": "string",
        "invoiceNumber": "string",
        "reimbursementRequired": true,
        "policyDeviation": true
    }
}
đźź 400
đźź 429
Modified at 2026-11-02 19:48:55
Previous
Get policy
Next
Update expense fare, tax, invoice, or receipt
Built with