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

# Put v1businesses expenses 1



## OpenAPI

````yaml /api-reference/openapi.json put /v1/businesses/{businessId}/expenses/{expenseId}
openapi: 3.0.4
info:
  title: Smartbills.API
  version: v1
servers:
  - url: https://api.smartbills.io
    description: Production
security: []
paths:
  /v1/businesses/{businessId}/expenses/{expenseId}:
    put:
      tags:
        - BusinessTransactions
      parameters:
        - name: businessId
          in: path
          required: true
          schema:
            type: integer
            format: int64
        - name: expenseId
          in: path
          required: true
          schema:
            type: integer
            format: int64
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TransactionsTransactionUpdateRequest'
          text/json:
            schema:
              $ref: '#/components/schemas/TransactionsTransactionUpdateRequest'
          application/*+json:
            schema:
              $ref: '#/components/schemas/TransactionsTransactionUpdateRequest'
      responses:
        '200':
          description: OK
components:
  schemas:
    TransactionsTransactionUpdateRequest:
      type: object
      properties:
        currency:
          type: string
          nullable: true
        total:
          $ref: '#/components/schemas/DTOMoney'
        subTotal:
          $ref: '#/components/schemas/DTOMoney'
        totalTaxes:
          $ref: '#/components/schemas/DTOMoney'
        totalDiscounts:
          $ref: '#/components/schemas/DTOMoney'
        totalTip:
          $ref: '#/components/schemas/DTOMoney'
        totalFees:
          $ref: '#/components/schemas/DTOMoney'
        totalDuties:
          $ref: '#/components/schemas/DTOMoney'
        totalShipping:
          $ref: '#/components/schemas/DTOMoney'
        description:
          type: string
          nullable: true
        category:
          type: string
          nullable: true
        categoryId:
          type: integer
          format: int64
          nullable: true
        expenseReportId:
          type: integer
          format: int64
          nullable: true
        note:
          type: string
          nullable: true
        tags:
          type: array
          items:
            type: string
          nullable: true
        reference:
          type: string
          nullable: true
        date:
          type: string
          format: date-time
          nullable: true
        lineItems:
          type: array
          items:
            $ref: >-
              #/components/schemas/TransactionsLineItemsTransactionLineItemCreateRequest
          nullable: true
        taxes:
          type: array
          items:
            $ref: '#/components/schemas/TransactionsTaxesTransactionTaxCreateRequest'
          nullable: true
        discounts:
          type: array
          items:
            $ref: >-
              #/components/schemas/TransactionsDiscountsTransactionDiscountCreateRequest
          nullable: true
        fees:
          type: array
          items:
            $ref: '#/components/schemas/TransactionsFeesTransactionFeeCreateRequest'
          nullable: true
        status:
          $ref: '#/components/schemas/ModelsTransactionsSBTransactionStatus'
        vendorId:
          type: integer
          format: int64
          nullable: true
        vendorAccountId:
          type: integer
          format: int64
          nullable: true
        payerType:
          $ref: '#/components/schemas/ModelsTransactionsPayerType'
        merchantId:
          type: integer
          format: int64
          nullable: true
        merchant:
          $ref: '#/components/schemas/TransactionsMerchantUpdateRequest'
      additionalProperties: false
    DTOMoney:
      type: object
      properties:
        amount:
          type: number
          format: double
        currency:
          type: string
          nullable: true
        conversion:
          $ref: '#/components/schemas/DTOMoneyConversion'
      additionalProperties: false
    TransactionsLineItemsTransactionLineItemCreateRequest:
      type: object
      properties:
        productId:
          type: integer
          format: int64
          nullable: true
        groupId:
          type: integer
          format: int64
          nullable: true
        price:
          $ref: '#/components/schemas/DTOMoney'
        name:
          type: string
          nullable: true
        description:
          type: string
          nullable: true
        variantId:
          type: string
          nullable: true
        quantity:
          type: number
          format: double
        subTotal:
          $ref: '#/components/schemas/DTOMoney'
        totalDiscounts:
          $ref: '#/components/schemas/DTOMoney'
        totalDuties:
          $ref: '#/components/schemas/DTOMoney'
        total:
          $ref: '#/components/schemas/DTOMoney'
        totalTaxes:
          $ref: '#/components/schemas/DTOMoney'
        taxes:
          type: array
          items:
            $ref: >-
              #/components/schemas/ReceiptItemsTransactionLineItemTaxCreateRequest
          nullable: true
        discounts:
          type: array
          items:
            $ref: >-
              #/components/schemas/TransactionsLineItemsTransactionLineItemDiscountCreateRequest
          nullable: true
        modifiers:
          type: array
          items:
            $ref: >-
              #/components/schemas/ReceiptsReceiptItemsTransactionLineItemModifierCreateRequest
          nullable: true
        taxable:
          type: boolean
      additionalProperties: false
    TransactionsTaxesTransactionTaxCreateRequest:
      type: object
      properties:
        name:
          type: string
          nullable: true
        rate:
          type: number
          format: double
        totalAmount:
          $ref: '#/components/schemas/DTOMoney'
        taxIdentificationNumber:
          type: string
          nullable: true
        taxIncluded:
          type: boolean
      additionalProperties: false
    TransactionsDiscountsTransactionDiscountCreateRequest:
      type: object
      properties:
        promoCodeId:
          type: integer
          format: int64
          nullable: true
        type:
          $ref: '#/components/schemas/ModelsPromoCodesSBPromoCodeType'
        expenseId:
          type: integer
          format: int64
        amount:
          $ref: '#/components/schemas/DTOMoney'
        name:
          type: string
          nullable: true
        percentage:
          type: number
          format: double
          nullable: true
      additionalProperties: false
    TransactionsFeesTransactionFeeCreateRequest:
      type: object
      properties:
        feeId:
          type: integer
          format: int64
          nullable: true
        name:
          type: string
          nullable: true
        amount:
          $ref: '#/components/schemas/DTOMoney'
        percentage:
          type: number
          format: double
          nullable: true
        type:
          type: string
          nullable: true
      additionalProperties: false
    ModelsTransactionsSBTransactionStatus:
      enum:
        - DRAFT
        - PENDING
        - PARTIALLY_PAID
        - PAID
        - OVERDUE
        - CANCELLED
        - REFUNDED
        - PARTIALLY_REFUNDED
        - VOIDED
        - PENDING_APPROVAL
        - POLICY_BLOCKED
        - POLICY_FLAGGED
      type: string
    ModelsTransactionsPayerType:
      enum:
        - EMPLOYEE
        - COMPANY
      type: string
    TransactionsMerchantUpdateRequest:
      type: object
      properties:
        name:
          type: string
          nullable: true
        website:
          type: string
          nullable: true
        email:
          type: string
          nullable: true
        phoneNumber:
          type: string
          nullable: true
        address:
          $ref: '#/components/schemas/DTOAddressRequest'
      additionalProperties: false
    DTOMoneyConversion:
      type: object
      properties:
        originalAmount:
          type: number
          format: double
        originalCurrency:
          type: string
          nullable: true
        exchangeRate:
          type: number
          format: double
        convertedAt:
          type: string
          format: date-time
      additionalProperties: false
    ReceiptItemsTransactionLineItemTaxCreateRequest:
      type: object
      properties:
        taxId:
          type: integer
          format: int64
          nullable: true
        name:
          type: string
          nullable: true
        amount:
          type: number
          format: double
        percentage:
          type: number
          format: double
          nullable: true
        taxIdentificationNumber:
          type: string
          nullable: true
      additionalProperties: false
    TransactionsLineItemsTransactionLineItemDiscountCreateRequest:
      type: object
      properties:
        promoCodeId:
          type: integer
          format: int64
        amount:
          $ref: '#/components/schemas/DTOMoney'
        percentage:
          type: number
          format: double
        type:
          $ref: '#/components/schemas/ModelsPromoCodesSBPromoCodeType'
        name:
          type: string
          nullable: true
      additionalProperties: false
    ReceiptsReceiptItemsTransactionLineItemModifierCreateRequest:
      type: object
      properties:
        productModifierId:
          type: string
          nullable: true
        quantity:
          type: integer
          format: int32
        price:
          $ref: '#/components/schemas/DTOMoney'
        totalPrice:
          $ref: '#/components/schemas/DTOMoney'
        name:
          type: string
          nullable: true
        taxable:
          type: boolean
        sku:
          type: string
          nullable: true
      additionalProperties: false
    ModelsPromoCodesSBPromoCodeType:
      enum:
        - PERCENTAGE
        - AMOUNT
      type: string
    DTOAddressRequest:
      type: object
      properties:
        line1:
          type: string
          nullable: true
        line2:
          type: string
          nullable: true
        city:
          type: string
          nullable: true
        state:
          type: string
          nullable: true
        country:
          type: string
          nullable: true
        stateCode:
          type: string
          nullable: true
        countryCode:
          type: string
          nullable: true
        postalCode:
          type: string
          nullable: true
      additionalProperties: false

````