-
Notifications
You must be signed in to change notification settings - Fork 44
Bill Pay: Update supplier #1791
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,26 @@ | ||
| --- | ||
| title: "Bill Pay: update suppliers with ease" | ||
| date: "2026-03-31" | ||
| tags: ["Product", "Update", "Bill Pay"] | ||
| authors: pzaichkina | ||
| --- | ||
|
|
||
| You can now update existing suppliers directly through our Bill Pay solution. | ||
|
|
||
| <!--truncate--> | ||
|
|
||
| ## What's new? | ||
|
|
||
| We've expanded our [Bill Pay](/payables/overview) solution with the new [Update suppliers](/sync-for-payables-v2-api#/operations/update-supplier) endpoint. | ||
|
|
||
| With this update, your customers can edit suppliers in their accounting software, and we will automatically sync these changes to your platform, keeping the records accurate and up-to-date. | ||
|
|
||
| The endpoint currently supports our FreeAgent, QuickBooks Online, and Xero integrations. | ||
|
|
||
| ## Who is this relevant for? | ||
|
|
||
| This update is relevant for all clients using Codat's Bill Pay solution who want to give their customers a seamless bill and supplier management experience. | ||
|
|
||
| ## How to get started? | ||
|
|
||
| You can start using the endpoint right now. Check out the [Update suppliers](/sync-for-payables-v2-api#/operations/update-supplier) endpoint in our API reference, or explore Bill Pay's [Update supplier](/payables/sync/update-supplier) documentation for a full walkthrough.s |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -155,4 +155,4 @@ supplierCreateResponse, err := payablesClient.Suppliers.Create(ctx, operations.C | |
|
|
||
| </TabItem> | ||
|
|
||
| </Tabs> | ||
| </Tabs> | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -37,21 +37,65 @@ To pay a bill in Bill Pay, you can use your customer's existing suppliers or cre | |
| smb ->> app: Provides supplier details | ||
| app ->> codat: Creates supplier | ||
| codat ->> acctg: Creates supplier record | ||
| else Update supplier | ||
| smb ->> app: Provides updated supplier details | ||
| app ->> codat: Updates supplier | ||
| codat ->> acctg: Updates supplier record | ||
| end | ||
| ``` | ||
|
|
||
| </details> | ||
|
|
||
| :::tip Narrow down the supplier list | ||
|
|
||
| Supplier endpoints of the sync Bill Pay solution return only **active** suppliers from the accounting platform. You can use [query parameters](/using-the-api/querying) to narrow down the list of results further. | ||
| Supplier endpoints of the Bill Pay solution return only **active** suppliers from the accounting platform. You can use [query parameters](/using-the-api/querying) to narrow down the list of results further. | ||
| ::: | ||
|
|
||
| <ManageSuppliers | ||
| listendpoint="/sync-for-payables-v2-api#/operations/list-suppliers" | ||
| createendpoint="/sync-for-payables-v2-api#/operations/create-supplier" | ||
| /> | ||
|
|
||
| ## Update supplier | ||
|
|
||
| If your customer's existing supplier changes address or business name, you can reflect this change in their accounting software using the [Update supplier](sync-for-payables-v2-api#/operations/update-supplier) endpoint. | ||
|
|
||
| Include all fields in the request, even if their values haven't changed. If you leave a field out, its value will be **deleted** from the supplier record. | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 📝 [vale] reported by reviewdog 🐶 There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 📝 [vale] reported by reviewdog 🐶 |
||
|
|
||
| :::info Software coverage | ||
|
|
||
| This action is currently only supported for FreeAgent, QuickBooks Online, and Xero. | ||
|
|
||
| ::: | ||
|
|
||
| ### Software-specific behavior | ||
|
|
||
| Each accounting software has some limitations when updating suppliers. We've summarized them below. | ||
|
|
||
| #### Xero | ||
|
|
||
| | Limitation | Description | | ||
| |------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------| | ||
| | **Supplier name** | It's not possible to clear the supplier name. Sending a `null` or `""` value for `supplierName`, or `null` value for both `supplierName` and `contactName` keeps the existing supplier name. | | ||
| | **Duplicate names** | Supplier names must be unique. Updating a name to match an existing supplier returns a `400` response. | | ||
| | **Archived suppliers** | It's not possible to update archived suppliers via the Xero API. To unarchive, do it manually in Xero.| | | ||
|
|
||
| #### QuickBooks Online | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 📝 [vale] reported by reviewdog 🐶 |
||
|
|
||
| | Limitation | Description | | ||
| |------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------| | ||
| | **Supplier name** | If `supplierName` is `null` in the request, QBO uses the value in `contactName` instead. If both fields are `null`, QBO returns a `400` response.| | ||
| | **Default currency** | It's not possible to update the supplier's currency. Sending a `defaultCurrency` in the request that differs from the current value results in a `400` response. Send a `null` value to leave it unchanged. | | ||
| | **Archived suppliers** | All changes to archived suppliers are ignored. Include `"status": "Active"` in the update request to reactivate an archived supplier and apply the changes.| | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 📝 [vale] reported by reviewdog 🐶 |
||
|
|
||
| #### FreeAgent | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 📝 [vale] reported by reviewdog 🐶 |
||
|
|
||
| | Limitation | Description | | ||
| |----------------------|------------------------------------------------------------------------------------------------------------------------------------| | ||
| | **Supplier name** | If `supplierName` is `null` in the request, FreeAgent uses the value in `contactName` instead (the value must contain a space). If both fields are `null`, FreeAgent returns a `400` response. | | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 📝 [vale] reported by reviewdog 🐶 |
||
| | **Country** | It's not possible to clear the supplier's country. Sending a `null` value or excluding the field from the request sets the value to the company's default country. | | ||
| | **Default currency** | FreeAgent doesn't support currency at supplier level. Any value sent in the request is ignored, and the response returns the company's base currency. | | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 📝 [vale] reported by reviewdog 🐶 |
||
|
|
||
| :::tip Recap | ||
|
|
||
| You have learnt how to view, create, and update your customer's suppliers who provide them with goods and services. | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
📝 [vale] reported by reviewdog 🐶
[Google.Passive] In general, use active voice instead of passive voice ('is paid').