You asked, we listened: We're changing the format of Report IDs!

In August, we changed our report ID format from sequential 8-digit numbers to random numbers up to 16 digits long (here's the product update post for that change). After hearing lots of feedback from many customers, it became clear that this new report ID format was not ideal, and we've been working on a new Report ID format that will meet our customers’ requirements. We plan to release the new format on or around Tuesday, Nov 15.
Here's everything you need to know about the new Report ID format:
- Report IDs will always include 12 characters - an "R" followed by an 11-character string with a mix of letters and numbers. For example, "R00I7J3xs5fn" could be one possible report ID.
- After the change, the same report IDs will be shown everywhere - in the product, on CSV exports and accounting integration exports, and on your bank statement if you reimburse through Expensify.
- We will be changing the format of ALL report IDs, for both new and existing reports. That means that existing reports will start displaying a new ID after the change. This change cannot be reverted.
- If you've exported a report previously and want to search for it in Expensify, the search field on the Reports page will accept both the old and new report ID formats, so you will still be able to easily locate any report in Expensify.
- If you still need to export the old report ID format to a CSV export for any reason, you can use the export formula {report:oldID}.
If you have any questions or concerns, please feel free to reach out to Concierge and we'll do everything we can to make this a smooth transition.
Comments
-
What is the new csv formula? We have already made changes to accommodate the new formatting. Just a heads up we are already seeing the new changes on the exports, and it is the 8th of November.
-
@Toast Ah, this change definitely shouldn't be live yet. Can you please reach out to concierge@expensify.com to see what is going on there? Thanks in advance!
-
You have now made 3 breaking changes to the ID field in one year.. As a customer, I can say that my primary requirement for an ID field is: It doesn't change.
Please confirm that the 16-digit numeric Report ID is still the primary key for reports. We need the formula for exporting that ID, or at least a way to convert IDs to the new alphanumeric format so that we aren't duplicating our local data. Also, when exported, will the 16 digit "number" still have a character at the front?
-
This is so frustrating. The report id is our unique identifier between Expensify and our accounting system and now you are going to change the historical data and break the link?
-
@Amanda DeWitt I am also seeing changes in the exports and it's messing up our import process as the report shows the 16 digit number and the export shows the new 11char string. I'm worried about how to identify duplicate imports so we don't import the same report(s) twice.
I'm on chat to Concierge now.
-
Historical reports should not be updated to a new report ID, this is as Jbaxter saying, breaking the only link we have between our accounting system and Expensify as well. Sure, we can each time we want to know the old Report ID on a report export it with the formula, but honestly this will be such a time demanding task and will not be feasible in the long run. Making all of these updates to the report ID under such a short time period is really annoying for us.
-
Why on earth have you changed existing reports?! What's the logic behind that?
-
Cortney Ofstad Expensify Success Coach - Admin, Expensify Team, Expensify Student Ambassador Posts: 174 Expensify Team
Hello @ranme100!
Thanks for reaching out, for additional context, the report IDs had a limited number of options that could be created. To counteract this, our team created the new report ID format to expand those ID options, and wanted to make sure that when utilizing things like custom export templates, report title formats, etc., the formulas and coding were consistent whether or not a report is older or recently created.
This creates less overhead in terms of having to create groups of formulas or templates based on whether or not something is using the old or new ID internally.
-
We have lost the ability to search for multiple reports at once using either the report ID or the reimbursement ID. Even though separated by commas, the system only returns the first result. Will this be a fix with this new roll out so we can once again search for multiple? We have reached out to the concierge multiple times to no avail - they do not have a fix or alternate solution other than pulling each report individually which is close to 100 for us for October alone. These changes are incredibly time consuming and without previous warning, almost impossible to keep up with.
-
Sophie_Pinto Expensify Customer, Expensify Team, Expensify Student Ambassador Posts: 134 Expensify Team
@LMangino22 - where are you searching for the report - in Expensify? In which case, this was due to a bug and a fix should be released shortly.
-
I feel I also need to drop a comment here, as we have also been facing problems with all your 3 last changes to the report id, so you understand that all your customers who has put in a lot of hours building integrations to your API, gets affected when you do these changes.
So expenses to our employees is a sensitive issue, if people don't get paid for their expenses, it can be catastrophic, imagine a worker laying out with 4k expenses, and they wont get reimursed because our integration with you is not working because of a change you have done on your side.
Add to that that we have 750 employees that puts expenses, and maybe you can understand that it is too much work for an AP team of 6 people, to now try and do manual reimbursement to all these employees, because an integration wont work anymore.
You need to understand that you can not treat your API as some playing around box, how do you test your stuff? How is it possible that you change, separately, 3 times the report id instead of just 1? You cant use us customers as your testing partner, we are paying you a great amount for your solution, and we expect it to be working thereafter.
On top of the technical problems that we face with your API, you are also not double changing, so the report IDs inside the actual Expensify web page hasn't changed, so when our AP team needs to follow up on an expense, they normally go into Expensify, press SHIFT + G and search for the specific report id, but since these have not changed to your new report id, they now have lost this functionality, so now they need to search for user instead and go through a list and find the exact amount instead.
I hope this change was the last change, or you will soon have one less customer.
-
Rachael Hopkins Expensify Success Coach - Admin, Expensify Team, Expensify Student Ambassador Posts: 905 Expensify Team
Hi @JohanOrn sorry for the frustration - we do understand that this experience has been less than ideal for our API users.
Your team will be able to use Shift+G to search either ID and also see both IDs in the UI very soon - we're updating this at the moment.
-
Who can urgently assist me in extracting the old IDs using the below method?
{report:oldID}
Is come out blank when calling it.
This is urgent.
-
We found the solution, your blog post is wrong!
To extract the old report IDs you need to use this syntext:
${report.oldReportID}
-
Apologies about the documentation being incorrect, if you can share with me where you saw the incorrect information, I'll be sure to update it with what you found (the correct solution!).
Thanks for being part of the community and helping us to improve this for other customers too.
-
Follow up problem, the "oldReportId" field doesnt seem to have the "R" in front, so now since we changed our solution to remove the "R" in front, it now cuts the first digit instead.
Happy to be your testing partner :)
-
@JohanOrn When using the API formula you can add text right before calling the formula for printing, for example to print report ID 123456 as R123456 you can add the R like so:
R${report.oldReportID}
<#if (addHeader == true)> ReportID,<#t> Report Name,<#t> ...<#lt> </#if> <#list reports as report> R${report.reportID},<#t> ${report.reportName},<#t> ...<#lt> </#list>
Let me know if you run into any trouble with that!
-
This entire report ID fiasco is prime Expensify. Make changes, don't understand and/or consider how it effects customers, then stumble to figure out the effects of it and correct it.
-
It appears that Expensify has fixed the {report:oldID} formula, and that works now. oldReportID does not work for me. {report:oldID|substr:1:16} will also output the "old" (actual?) numerical ID as well.
-
@SysAdmin These two formulas are for different systems, so one will work in one case while the other one wont, and vice versa.
If you're creating an export template in your Expensify account following the instructions on the How-to: Create a custom export page, then you will want to use the {report:oldID} formula. If you're working with our API then you will want to use the ${report.reportID} formula.