---
title: "Update vendor payment method"
method: PATCH
path: "/vendor-payment-methods/{id}"
tags: ["Vendor Payment Methods"]
---

# Update vendor payment method

`PATCH /vendor-payment-methods/{id}`

Partially update a vendor payment method. Only provided fields will be updated.

**IMPORTANT**: The `vendorId` field cannot be changed after creation.

- **Omitted fields**: Not modified (current value preserved)
- **Provided fields**: Updated to the new value
- **Null values**: Clear the field (set to null) where applicable

## Path parameters

- `id` string, required

## Request body

- VendorPaymentMethodPatch — Partial vendor payment method update. All fields are optional. **IMPORTANT**: The `vendorId` field cannot be changed after creation. - **Omitted fields**: Not modified (current value preserved) - **Provided fields**: Updated to the new value - **Null values**: Clear the field (set to null) where applicable
  - `paymentMethodType` 'ACH_WIRE' | 'ZELLE' | 'VENMO' | 'ACH' | 'CHECK' | 'WIRE' | 'CAD_EFT' | 'TRIUMPH_PAY' | 'COMCHECK' | 'EFS' | 'ECHECK' — Payment method type
  - `status` string, nullable — Payment method status
  - `isPreferred` boolean, nullable — Whether this is the preferred payment method
  - `email` string, email, nullable — Email address for payment notifications
  - `phone` string, nullable — Phone number for payment contact
  - `companyName` string, nullable — Company name for this payment method
  - `username` string, nullable — Username for payment platforms
  - `bankName` string, nullable — Bank name
  - `bankAddress` string, nullable — Bank address
  - `accountName` string, nullable — Bank account holder name
  - `accountNumber` string, nullable — Bank account number
  - `abaAch` string, nullable — ABA/ACH routing number
  - `wire` string, nullable — Wire transfer routing number
  - `swiftCode` string, nullable — SWIFT/BIC code
  - `eftInstitution` string, nullable — EFT institution number
  - `eftTransit` string, nullable — EFT transit number
  - `clabe` string, nullable — CLABE number
  - `currency` string, nullable — Preferred currency code
  - `paymentTermId` string, uuid, nullable — Payment term ID

## Response `200`

Vendor payment method updated successfully

- VendorPaymentMethod
  - `id` string, uuid, required — Unique vendor payment method identifier
  - `vendorId` string, uuid, required — Vendor profile ID (read-only after creation). This field cannot be changed after the payment method is created.
  - `vendor` VendorReference, required — Enhanced reference to a vendor profile. Includes full vendor details in addition to id/key.
    - `id` string, uuid, required — Vendor UUID
    - `key` string, nullable — Client-defined reference ID if set
    - `friendlyId` string, required — Human-readable vendor identifier
    - `name` string, required — Vendor legal name
    - `email` string, email, nullable — Primary email address
    - `phone` string, nullable — Primary phone number
    - `status` string, nullable — Vendor status
    - `currency` string, nullable — Preferred currency code (ISO 4217)
    - `createdAt` string, date-time, required — When the vendor was created
    - `updatedAt` string, date-time, required — When the vendor was last updated
  - `paymentMethodType` 'ACH_WIRE' | 'ZELLE' | 'VENMO' | 'ACH' | 'CHECK' | 'WIRE' | 'CAD_EFT' | 'TRIUMPH_PAY' | 'COMCHECK' | 'EFS' | 'ECHECK', required — Payment method type
  - `status` string, nullable — Payment method status
  - `isPreferred` boolean, nullable — Whether this is the preferred payment method for the vendor
  - `email` string, email, nullable — Email address for payment notifications
  - `phone` string, nullable — Phone number for payment contact
  - `companyName` string, nullable — Company name for this payment method (may differ from vendor name)
  - `username` string, nullable — Username for payment platforms (e.g., Zelle, Venmo)
  - `bankName` string, nullable — Bank name
  - `bankAddress` string, nullable — Bank address
  - `accountName` string, nullable — Bank account holder name
  - `accountNumber` string, nullable — Bank account number (masked in responses)
  - `abaAch` string, nullable — ABA/ACH routing number for electronic transfers
  - `wire` string, nullable — Wire transfer routing number
  - `swiftCode` string, nullable — SWIFT/BIC code for international transfers
  - `eftInstitution` string, nullable — EFT institution number (Canadian banking)
  - `eftTransit` string, nullable — EFT transit number (Canadian banking)
  - `clabe` string, nullable — CLABE number (Mexican banking identifier)
  - `currency` string, nullable — Preferred currency code (ISO 4217)
  - `paymentTerm` PaymentTermReference — Enhanced reference to a payment term resource (returned in responses). Includes full payment term details in addition to id/key.
    - `id` string, uuid, required — Payment term UUID
    - `key` string, nullable — Client-defined reference ID if set
    - `name` string, required — Payment term name
    - `description` string, nullable — Payment term description or notes
    - `days` integer, nullable — Number of days until payment is due
    - `quickPayFee` number, float, nullable — Quick pay fee percentage (e.g., 0.05 for 5%)
    - `apOnly` boolean, nullable — Whether this payment term is for accounts payable only
    - `doNotUse` boolean, nullable — Flag to prevent using this payment term for new transactions
    - `createdAt` string, date-time, required — When the payment term was created
    - `updatedAt` string, date-time, required — When the payment term was last updated
    - `deletedAt` string, date-time, nullable — When the payment term was soft deleted (null if active)
  - `createdAt` string, date-time, required — When the payment method was created
  - `updatedAt` string, date-time, required — When the payment method was last updated
  - `deletedAt` string, date-time, nullable — When the payment method was soft deleted (null if active)
  - `deletedBy` UserReference — Enhanced reference to a user resource (returned in responses). Includes full user details in addition to id/key. Note: Does NOT include nested references (teams, etc.) to prevent recursion. Maximum nesting depth: 1 level.
    - `id` string, uuid, required — User UUID
    - `key` string, nullable — Client-defined reference ID if set
    - `email` string, email, required — User's email address
    - `name` string, nullable — User's full name
    - `phone` string, nullable — User's phone number
    - `phoneExt` string, nullable — Phone extension
    - `status` 'PENDING' | 'ACTIVE' | 'INACTIVE', required — User account status
    - `avatarId` string, uuid, nullable — Profile avatar document ID
    - `createdAt` string, date-time, required — When the user was created
    - `updatedAt` string, date-time, required — When the user was last updated
    - `deletedAt` string, date-time, nullable — When the user was soft deleted (null if active)

## Other responses

- `400` — Bad request - invalid input
- `401` — Unauthorized - invalid or missing access token
- `404` — Resource not found
- `409` — Conflict - resource already exists or constraint violation
- `422` — Validation error - invalid field values
- `500` — Internal server error

---

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