- or
582 results found
-
Email (send) purchase orders via API
This is available in Web Interface, but API does not have any documentation on it.
8 votes -
unlock reconciled transactions so that updates can be made via API
Currently, you can update reconciled transactions in Xero. However, reconciled transactions are locked (read-only) and can't be updated via the API. Users want to be able to update reconciled transactions via the API (add descriptions, change accounts, etc.).
8 votes -
Modified date on product items should uodate when the on-hand quantity changes
When you change something simple on a product item (say the description) then a request for modified since returns this item.
But if the stock in-hand figure changes (because you've sent an invoice) then the modified date doesn't change and this item isn't returned in the atli query.
So, in effect there is no easy to tell (via API using modified dates) when the stock on- hand has changed. You would have to load all items every ten minutes to know what the current in-hand stock is... And then you would get rate limiting issues.
8 votes -
Enable copying of purchase orders to bills
Currently the Xero UI allows users to copy a purchase order to a bill which is useful for tracking an order through to payment. This functionality however is not present in the API. The API also does not provide any reference between a bill created in this way and the original PO, so it is impossible to determine whether or not a Bill was created in this way.
I propose that the API enables a few things:
- Provide the bill/invoice/purchase order ID with the original purchase order. This ID would be the newly created records ID and allows us to know where a purchase order was copied
- Provide the original purchase order ID in the newly created record so we know which purchase order was copied
- Allow purchase orders to be copied. This could be done very simply by adding a purchase order ID property to the creation of a bill/invoice/purchase order.
This is crucial for us to implement a feature we're working on. The only way around this is either to force the users to perform the action within Xero directly, or have them void a purchase order a create a new bill. Neither solution is suitable, as they either completely lose the trail of the purchase, or they have a poor user experience and we then have no way of correctly tracking the data which causes issues on our end
Currently the Xero UI allows users to copy a purchase order to a bill which is useful for tracking an order through to payment. This functionality however is not present in the API. The API also does not provide any reference between a bill created in this way and the original PO, so it is impossible to determine whether or not a Bill was created in this way.
I propose that the API enables a few things:
- Provide the bill/invoice/purchase order ID with the original purchase order. This ID would be the newly created records ID and allows us to…
8 votes -
sales tax report
Able to access the Sale Tax Report via the API
8 votes -
Be able to extract via API bank balances in Base Currency or in Foreign Currency of Bank Account
Currently API can only get bank balances in Base Currency from Reports -> Bank Summary. This means it is all converted into the Base currency by XE.COM. There is no way to convert this back into the original currency, XE.COM rates are not available vis the API. There should be a way of getting the bank balance in the origin al currency.
8 votes -
Support for Batching Manual Journal Updating by IDs in the Xero API
We are requesting a new feature in the Xero API to support batch updating of Manual Journals by IDs in a single API request. Currently, the lack of this capability presents significant limitations for high-volume organizations that need to update arbitrary subsets of journals efficiently. They can batch insert new transactions, but they are very limited when it comes to batch update.
Current Challenges:
-
Arbitrary Subset Retrieval:
- Our use case involves retrieving a specific subset of Manual Journals by their IDs, as requested by our clients. Without batch retrieval, we are required to make individual API calls for each journal update, which is impractical for large volumes.
-
Daily API Call Limit:
- The 5,000 daily call limit is quickly exceeded when retrieving large subsets, even if we optimize requests.
-
Inefficient Alternatives:
- Retrieving the full set of journals using pagination (
?page=1&pageSize=1000) and filtering on our end is inefficient and results in unnecessary data processing for both systems.
- Retrieving the full set of journals using pagination (
Proposed Solution:
Introduce the ability to batch-fetch Manual Journals by IDs in a single request, similar to the existing
?IDsparameter for other resources like Invoices. While there may be constraints on the URL length (e.g., limiting to 30 IDs per request), this would still significantly improve efficiency and reduce API call usage.Use Case Impact:
This feature would benefit high-volume organizations that manage thousands of journals and frequently require specific subsets update for reporting, reconciliation, or operational purposes. It would reduce API call consumption, enhance performance, and improve the overall user experience.
Additional Context:
We recognize that URL length constraints limit the number of IDs that can be included in a single request. However, even with a reasonable batch size (e.g., 20–30 IDs max per request), this feature would provide a scalable improvement for many use cases.
Thank you for considering this feature request, and we look forward to any updates or feedback from the Xero team.
We are requesting a new feature in the Xero API to support batch updating of Manual Journals by IDs in a single API request. Currently, the lack of this capability presents significant limitations for high-volume organizations that need to update arbitrary subsets of journals efficiently. They can batch insert new transactions, but they are very limited when it comes to batch update.
Current Challenges:
-
Arbitrary Subset Retrieval:
- Our use case involves retrieving a specific subset of Manual Journals by their IDs, as requested by our clients. Without batch retrieval, we are required to make individual API calls for each journal…
7 votes -
Arbitrary Subset Retrieval:
-
Query webhook status via API
After checking in with Xero support there I found there is there no way to poll the webhook status.
It is important to us that the webhook remains "OK" and we have had situations where it has disconnected due to changes in our software that did not go noticed which has required manual reconnection.
If we are able to query the webhook status then we can hook this up to our monitoring and react accordingly.
7 votes -
add the ability to trigger email of creditnotes to customers.
We can trigger emailing invoices from XERO to the customers email address, using the /email end point on the INVOICES api. We urgently require the same functionality for credit notes and we do not understand why this feature was not extended from invoices to credit notes. Urgently required for customer integration project.
7 votes -
Reconcile individual payments (NOT Bank Statement)
We receive payments from online services (stripe and paypal) and programmatically add an invoice as well as a payment for the invoice and the fee from the charge.
When the bank charge comes from the bank we go in and manually match them with the payments. With PayPal this is easy because they come in and match 1:1 with the payments and fees. With stripe it's not so easy becaue our daily payout contains dozens of fees and charges.
We would like to programmatically match these. Note that this is NOT the same as reconciling a bank statement, I think many are confused by this post: https://xero.uservoice.com/forums/5528-xero-accounting-api/suggestions/2884040-reconcile-via-the-api
All I need is the the ability to grab the payment that came in (transfer) from stripe or paypal, and then match it to the payments and fees (add one or many related ID's ).
Thanks!
We receive payments from online services (stripe and paypal) and programmatically add an invoice as well as a payment for the invoice and the fee from the charge.
When the bank charge comes from the bank we go in and manually match them with the payments. With PayPal this is easy because they come in and match 1:1 with the payments and fees. With stripe it's not so easy becaue our daily payout contains dozens of fees and charges.
We would like to programmatically match these. Note that this is NOT the same as reconciling a bank statement, I think…
7 votes -
Webhooks - support for Payments endpoint
Now that the Webhooks for Contacts and Invoices is in open beta please add support for the Payments endpoint as the next endpoint to be supported. Many of our customers need to be notified when a customer has paid an invoice and update their internal CRM systems. Would love to be able to do this without having to poll for new payments.
7 votes -
Allow case insensitive search on Item codes
Apparently there is an unique index on Item codes which is case insensitive, i.e. you can not create a different item with the same code with a different case. However the API doesn't allow case-insensitive search on item codes, which is really awkward. This is a big problem when you get an error when inserting a new item because of an earlier item with the same code but different case. It's very hard to find the original item in this case.
7 votes -
Taxable payments report lodgement through Xero Tax
Recently lodgement of payment summaries through Xero Tax became available. You can also manually create these instead of handwriting the ATO forms which has been fantastic so far for our firm. It would be much appreciated if this was also done for the annual taxable payments report for the building and construction industry for tax clients who do not use Xero software.
7 votes -
Smart lists via API
Expose the new smart lists feature via the API (more info here: https://www.xero.com/tv/video/?id=5986-smart-lists-in-xero)
7 votes -
Ability to charge a merchant fee surcharge for payment via Eway
I would like to be able to add an additional 1.5% surcharge when people pay via credit card (eway)
7 votes -
Lets make the integrations with client details seemless
Challenge:
We love using Xero there are so many pluses! But…we also use add-ons which integrate with Xero. When information is pushed and pulled through, if our clients have misspelt their company name, or even written Limited as Ltd (or vice versa) it creates a whole new client in Xero even if the client currently exists (eg.if purchasing tickets through Eventbrite). We have three integrations going so this can happen three different times and for our administrators and accounts team…a logistical nightmare .
Solution:
I’m pretty sure a code can be developed that recognizes elements in a company name (or even ignores such elements as Limited & Ltd when pushing and pulling)and automatically merges the details or identifies possible double ups and highlights these to action a company merge by accounting staff before approving an invoice.
This could be activated as an extra column in the draft area of Sales>Invoices?
This development then could be given to all add-on partners to add as part of their code?
Just an idea which could make life a whole lot easier for everyone :)
Challenge:
We love using Xero there are so many pluses! But…we also use add-ons which integrate with Xero. When information is pushed and pulled through, if our clients have misspelt their company name, or even written Limited as Ltd (or vice versa) it creates a whole new client in Xero even if the client currently exists (eg.if purchasing tickets through Eventbrite). We have three integrations going so this can happen three different times and for our administrators and accounts team…a logistical nightmare .
Solution:
I’m pretty sure a code can be developed that recognizes elements in a company name…
7 votes -
Website URL in API feed
Please include the Website URL in the API feed. Thanks.
7 votes -
allow ItemID to be specified when adding line items
It seems to be possible to supply the ItemCode but not the ItemID. I guess the ID is unique for each item? It would be really great in my opinion if the API could be consistent and the ID field was always used to specify a join whenever you are creating or updating anything.
Consider the following use case:
A web app with integrations to xero to do all of the invoicing, and inventory price management. Contacts (users), orders (invoices) and products (items) are stored in the app, but also created in xero. The app then stores the xero id for each one and uses this when it makes calls to the xero api. When a user (contact) creates an order (invoice) it builds up an xml request with the invoice data, contact id and line items containing item ids and posts it to xero.
I understand it would be possible for the app to just store the ItemCode instead for products. However, if someone working with xero was to change one of the item codes then it would break the entire integration.
It would also make things a bit predictable if specifying an ID always just worked™ for relations in any of the API requests.
It seems to be possible to supply the ItemCode but not the ItemID. I guess the ID is unique for each item? It would be really great in my opinion if the API could be consistent and the ID field was always used to specify a join whenever you are creating or updating anything.
Consider the following use case:
A web app with integrations to xero to do all of the invoicing, and inventory price management. Contacts (users), orders (invoices) and products (items) are stored in the app, but also created in xero. The app then stores the xero id…
7 votes -
Match prior period treatment in Profit & Loss to Balance Sheet with regard to toDate parameter
Per the documentation for Profit & Loss periods, the only way to always get a full month of data for previous periods is to start in a month with 31 days.
Given we have a 30 June year end this is a pretty annoying workaround.
The confusing thing is that setting up the Balance Sheet in a month with 30 days doesn't result in this issue and prior periods will automatically show the 31st day where applicable.
6 votes -
Expose employee cost rate data through an API endpoint
Currently, we can enter employee cost rate data into Xero, but this data is not available back to us through the API. This limits our company's ability to accurately track project profitability, especially through more sophisticated solutions using BI tools outside of Xero. A simple solution would be to expose this data through the Projects endpoint (
Usertable) or another Xero API endpoint (Accounting?). Such a limitation has sparked recent conversation in our LT to migrate away from Xero as our company grows > 50 employees. Without this data available in the API, messy workarounds are implemented externally.Currently, we can enter employee cost rate data into Xero, but this data is not available back to us through the API. This limits our company's ability to accurately track project profitability, especially through more sophisticated solutions using BI tools outside of Xero. A simple solution would be to expose this data through the Projects endpoint (
Usertable) or another Xero API endpoint (Accounting?). Such a limitation has sparked recent conversation in our LT to migrate away from Xero as our company grows > 50 employees. Without this data available in the API, messy workarounds are…6 votes
- Don't see your idea?