Turn on suggestions
Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.
Showing results forΒ
I have an update on this!
It may be a little technical and challenging for some people to follow but I can confirm that it works and doesn't take much time to accomplish.
Here's how:
P.S. The first code I provided removes some columns that I did not find helpful and set numbers to currency.
The second code is the same with the addition of expanding each invoice to show all line items.
The Power Query Editor makes it rather easy to change the query without having to actually write code yourself; just make changes to the content that is displayed (e.g. remove columns, change numbers to currency, etc...).
***You can also duplicate your query (right click > duplicate) to create a different view of the same data. A prime example would be a list of all invoices without the line items expanded. If you have multiple queries, when you Close and Load to your spreadsheet you can toggle between these 'views' by selecting the query that appears to the right of the spreadsheet. Oh, and you can rename your queries to make their function more obvious. Pretty cool and very useful!
The video from this blog really helped me understand this process:
https://theexcelclub.com/how-to-parse-custom-json-data-using-excel/
Here's the direct video link:
https://www.youtube.com/watch?v=q6sKs2KLnOo
1 - [Invoices Query]
let
Source = Json.Document(File.Contents("C:\Users\MasonMitchell\OneDrive - E3IT.tech\Downloads\QBSE_Invoices (1).json")),
AsTable = Table.FromRecords(Source),
#"Removed Columns" = Table.RemoveColumns(AsTable,{"dateCreated", "dateUpdated"}),
#"Changed Type" = Table.TransformColumnTypes(#"Removed Columns",{{"amount", Currency.Type}}),
#"Removed Columns1" = Table.RemoveColumns(#"Changed Type",{"message", "allowOnlineCreditCardPayment", "allowOnlineACHPayment", "businessNumber", "logoSource", "paymentDetails", "salesTaxType", "rememberPaymentDetails", "v4LocalId", "events", "invoiceSender", "salesTaxItems"}),
#"Changed Type1" = Table.TransformColumnTypes(#"Removed Columns1",{{"dueDate", type date}})
in
#"Changed Type1"
2 - [Invoices with Line Items Query]
let
Source = Json.Document(File.Contents("[PATH TO YOUR FILE]\QBSE_Invoices.json")),
AsTable = Table.FromRecords(Source),
#"Removed Columns" = Table.RemoveColumns(AsTable,{"dateCreated", "dateUpdated"}),
#"Changed Type" = Table.TransformColumnTypes(#"Removed Columns",{{"amount", Currency.Type}}),
#"Removed Columns1" = Table.RemoveColumns(#"Changed Type",{"message", "allowOnlineCreditCardPayment", "allowOnlineACHPayment", "businessNumber", "logoSource", "paymentDetails", "salesTaxType", "rememberPaymentDetails", "v4LocalId", "events", "invoiceSender", "salesTaxItems"}),
#"Expanded invoiceLineItems" = Table.ExpandListColumn(#"Removed Columns1", "invoiceLineItems"),
#"Expanded invoiceLineItems1" = Table.ExpandRecordColumn(#"Expanded invoiceLineItems", "invoiceLineItems", {"description", "amount", "quantity", "type"}, {"invoiceLineItems.description", "invoiceLineItems.amount", "invoiceLineItems.quantity", "invoiceLineItems.type"}),
#"Changed Type1" = Table.TransformColumnTypes(#"Expanded invoiceLineItems1",{{"invoiceLineItems.amount", Currency.Type}, {"invoiceLineItems.quantity", Currency.Type}, {"dueDate", type date}})
in
#"Changed Type1"
!Note: You will still need to look up the actual names of your clients because only the customerId appears in the JSON file. Once you are able to create a reference of client name to customerId you can use a formula to show the name in addition to the ID.
This is how I got client names in my invoice data (this part sucks but the good news is that once you have this part done you won't have to do it again unless you've added a client and even then it is just the new ones need to be added to your reference list)
β¦easy peasy, right? LOL!
Intuit, providing self employed users a reporting engine would mean the world to us. Going through this hassle just to get a detailed list of the invoices in our account is ridiculous and for many, not even possible.
Community, while Intuit is working on this functionality I will be work on a web project that will provide you with the ability to see your invoice data without having to go through all of these step. If I complete it before Intuit provides this functionality to use I will post a link to it in this thread. Also, feel free to message me if you need help with the steps outlined in this how-to.