Skip to main content
Glama
bill-vendors.md11.3 kB
# Bill Vendor API Reference Bill vendors (also called suppliers) represent businesses or individuals you pay for goods or services. They store contact information and payment details. ## billvendor_list List vendors from FreshBooks with optional filtering and pagination. ### Description Retrieve a paginated list of vendors for accounts payable management. **When to use:** - User asks to see their vendor list - User needs to find a vendor by name - Finding vendor IDs for bill creation - Managing supplier relationships ### Input Schema | Parameter | Type | Required | Default | Description | |-----------|------|----------|---------|-------------| | accountId | string | Yes | - | FreshBooks account identifier | | page | number | No | 1 | Page number (1-indexed) | | perPage | number | No | 30 | Results per page (max 100) | | vendorName | string | No | - | Filter by vendor name (partial match) | ### Input Example ```json { "accountId": "ABC123", "page": 1, "perPage": 25, "vendorName": "Office" } ``` ### Output Schema | Field | Type | Description | |-------|------|-------------| | vendors | BillVendor[] | Array of vendor objects | | pagination | Pagination | Pagination metadata | #### BillVendor Object | Field | Type | Nullable | Description | |-------|------|----------|-------------| | id | number | No | Unique vendor identifier | | vendorName | string | No | Vendor/supplier name | | contactName | string | Yes | Contact person name | | email | string | Yes | Vendor email address | | phone | string | Yes | Vendor phone number | | website | string | Yes | Vendor website | | address | string | Yes | Street address | | city | string | Yes | City | | province | string | Yes | Province/state | | postalCode | string | Yes | Postal/ZIP code | | country | string | Yes | Country | | currencyCode | string | No | Currency code (e.g., USD) | | accountNumber | string | Yes | Vendor account number | | taxNumber | string | Yes | Tax ID/VAT number | | note | string | Yes | Notes about vendor | | is1099 | boolean | Yes | Whether vendor is 1099 eligible (US) | | language | string | Yes | Preferred language | | visState | number | Yes | Visibility state (0=active, 1=deleted, 2=archived) | | createdAt | string | No | Creation timestamp (ISO 8601) | | updatedAt | string | No | Last update timestamp (ISO 8601) | ### Output Example ```json { "vendors": [ { "id": 555, "vendorName": "Office Supply Co", "contactName": "Jane Smith", "email": "orders@officesupply.com", "phone": "+1-555-0200", "website": "https://officesupply.com", "address": "789 Supply St", "city": "Chicago", "province": "IL", "postalCode": "60601", "country": "USA", "currencyCode": "USD", "accountNumber": "ACC-12345", "taxNumber": "12-3456789", "note": "Net 30 payment terms", "is1099": true, "visState": 0, "createdAt": "2024-01-10T10:00:00Z", "updatedAt": "2024-12-01T14:30:00Z" } ], "pagination": { "page": 1, "pages": 2, "total": 38, "perPage": 30 } } ``` ### Errors | Code | Condition | Recoverable | Recovery | |------|-----------|-------------|----------| | -32602 | Invalid accountId format | No | Check account ID is valid | | -32001 | Not authenticated | Yes | Call auth_get_url to authenticate | | -32004 | Rate limit exceeded | Yes | Wait and retry after delay | ### Related Tools - [billvendor_single](#billvendor_single) - Get single vendor by ID - [billvendor_create](#billvendor_create) - Create new vendor - [bill_list](./bills.md#bill_list) - Find bills for vendor --- ## billvendor_single Get a single vendor by ID. ### Description Retrieve detailed information about a specific vendor. **When to use:** - User asks for details about a specific vendor - Need to verify vendor data before creating bill - Retrieve full vendor information ### Input Schema | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | accountId | string | Yes | FreshBooks account identifier | | vendorId | number | Yes | Vendor ID to retrieve | ### Input Example ```json { "accountId": "ABC123", "vendorId": 555 } ``` ### Output Schema Returns a single BillVendor object (see [billvendor_list](#billvendor-object) for schema). ### Errors | Code | Condition | Recoverable | Recovery | |------|-----------|-------------|----------| | -32602 | Invalid vendorId | No | Check ID is a positive integer | | -32005 | Vendor not found | No | Verify ID exists in FreshBooks | | -32001 | Not authenticated | Yes | Call auth_get_url to authenticate | ### Related Tools - [billvendor_list](#billvendor_list) - Find vendor IDs - [billvendor_update](#billvendor_update) - Update this vendor - [bill_create](./bills.md#bill_create) - Create bill for vendor --- ## billvendor_create Create a new vendor. ### Description Add a new vendor/supplier to your FreshBooks account for bill tracking. **When to use:** - User wants to add a new supplier - Setting up vendor for bill entry - Recording new business relationship ### Input Schema | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | accountId | string | Yes | FreshBooks account identifier | | vendorName | string | Yes | Vendor/supplier name | | contactName | string | No | Contact person name | | email | string | No | Vendor email address | | phone | string | No | Vendor phone number | | website | string | No | Vendor website (must be valid URL) | | address | string | No | Street address | | city | string | No | City | | province | string | No | Province/state | | postalCode | string | No | Postal/ZIP code | | country | string | No | Country | | currencyCode | string | No | Currency code (default: USD) | | accountNumber | string | No | Vendor account number | | taxNumber | string | No | Tax ID/VAT number | | note | string | No | Notes about vendor | | is1099 | boolean | No | Whether vendor is 1099 eligible (US) | | language | string | No | Preferred language | ### Input Example ```json { "accountId": "ABC123", "vendorName": "Tech Equipment Inc", "contactName": "Bob Johnson", "email": "sales@techequip.com", "phone": "+1-555-0300", "address": "456 Tech Blvd", "city": "San Francisco", "province": "CA", "postalCode": "94102", "country": "USA", "currencyCode": "USD", "is1099": true, "note": "Net 30 payment terms - 2% discount if paid within 10 days" } ``` ### Output Schema Returns the created BillVendor object (see [billvendor_list](#billvendor-object) for schema). ### Errors | Code | Condition | Recoverable | Recovery | |------|-----------|-------------|----------| | -32602 | Missing vendorName | No | Provide vendor name | | -32602 | Invalid email format | No | Use valid email format | | -32602 | Invalid website URL | No | Use valid URL format | | -32001 | Not authenticated | Yes | Call auth_get_url to authenticate | ### Related Tools - [billvendor_list](#billvendor_list) - View created vendors - [bill_create](./bills.md#bill_create) - Create bill for vendor --- ## billvendor_update Update an existing vendor. ### Description Modify vendor information including contact details, address, or payment terms. **When to use:** - User wants to update vendor contact information - Change vendor address or phone - Update tax identification numbers - Modify payment terms or notes ### Input Schema | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | accountId | string | Yes | FreshBooks account identifier | | vendorId | number | Yes | Vendor ID to update | | vendorName | string | No | Vendor/supplier name | | contactName | string | No | Contact person name | | email | string | No | Vendor email address | | phone | string | No | Vendor phone number | | website | string | No | Vendor website | | address | string | No | Street address | | city | string | No | City | | province | string | No | Province/state | | postalCode | string | No | Postal/ZIP code | | country | string | No | Country | | currencyCode | string | No | Currency code | | accountNumber | string | No | Vendor account number | | taxNumber | string | No | Tax ID/VAT number | | note | string | No | Notes about vendor | | is1099 | boolean | No | Whether vendor is 1099 eligible (US) | | language | string | No | Preferred language | ### Input Example ```json { "accountId": "ABC123", "vendorId": 555, "email": "newemail@officesupply.com", "phone": "+1-555-0250", "note": "Updated contact - Net 45 payment terms as of Jan 2025" } ``` ### Output Schema Returns the updated BillVendor object (see [billvendor_list](#billvendor-object) for schema). ### Errors | Code | Condition | Recoverable | Recovery | |------|-----------|-------------|----------| | -32602 | Invalid vendorId | No | Check ID is a positive integer | | -32005 | Vendor not found | No | Verify ID exists in FreshBooks | | -32001 | Not authenticated | Yes | Call auth_get_url to authenticate | ### Related Tools - [billvendor_single](#billvendor_single) - Get current values before update - [billvendor_delete](#billvendor_delete) - Delete instead of update --- ## billvendor_delete Delete a vendor. ### Description Delete a vendor record. Vendors with associated bills cannot typically be deleted. **When to use:** - User wants to remove unused vendor - Deleting duplicate vendor records - Cleaning up vendor list **Warning:** Vendors with bills may need to be archived instead of deleted. ### Input Schema | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | accountId | string | Yes | FreshBooks account identifier | | vendorId | number | Yes | Vendor ID to delete | ### Input Example ```json { "accountId": "ABC123", "vendorId": 555 } ``` ### Output Schema | Field | Type | Description | |-------|------|-------------| | success | boolean | Whether deletion was successful | | vendorId | number | ID of deleted vendor | ### Output Example ```json { "success": true, "vendorId": 555 } ``` ### Errors | Code | Condition | Recoverable | Recovery | |------|-----------|-------------|----------| | -32602 | Invalid vendorId | No | Check ID is a positive integer | | -32005 | Vendor not found | No | Vendor may already be deleted | | -32007 | Vendor has bills | No | Cannot delete vendors with bills | | -32001 | Not authenticated | Yes | Call auth_get_url to authenticate | ### Related Tools - [billvendor_single](#billvendor_single) - Verify vendor before deletion - [billvendor_list](#billvendor_list) - View remaining vendors --- ## Notes ### 1099 Vendors (US Only) Vendors with `is1099: true` are eligible for IRS Form 1099 reporting. This is required in the US for tracking payments to contractors and suppliers exceeding $600/year. ### Currency Codes Vendor currency should match the currency used for bills with that vendor. Common codes: USD, CAD, EUR, GBP. ### Payment Terms Use the `note` field to record: - Payment terms (Net 30, Net 45, etc.) - Discounts (2/10 Net 30 = 2% discount if paid within 10 days) - Special instructions ### Account Numbers The `accountNumber` field can store: - Your account number with the vendor - Vendor-assigned customer number - Purchase order references

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Good-Samaritan-Software-LLC/freshbooks-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server