Power BI GST Dashboard: Reconcile GSTR-1, GSTR-3B and GSTR-2B
A Power BI GST dashboard puts your own sales and purchase registers next to what the GST portal shows: outward supplies in GSTR-1, the auto-drafted input tax credit statement GSTR-2B, and the summary return GSTR-3B. Load each as its own fact table on shared date, GSTIN and party dimensions, and the reconciliations your team chases every month become a handful of measures and visuals.
This article is general information about building reports. It is not tax or legal advice; your CA or tax adviser decides what you file and what credit you claim.
At a glance
| Source | What it tells you | Where it comes from |
|---|---|---|
| Sales register | Invoices you issued | Tally, ERP or billing software |
| GSTR-1 and GSTR-1A | Outward supplies you reported | GST portal or filing tool |
| Purchase register | Bills you booked | Tally or ERP |
| GSTR-2B | Credit from suppliers' filings | GST portal, Excel or JSON |
| GSTR-3B | Tax declared, credit claimed | GST portal or filing tool |
Know what each return contains
The GST portal's returns help describes GSTR-1 as the details of outward supplies of goods or services filed by a normal taxpayer, and GSTR-1A as the form for amending those outward supply details. GSTR-3B is the monthly or quarterly summary return in which you declare and pay your liability. GSTR-2B is the auto-drafted ITC statement. Four facts about them shape the whole dashboard design.
- GSTR-2B arrives on a fixed day. For monthly filers it is generated on the 14th of the following month; for quarterly (QRMP) filers, on the 14th of the month after the quarter. You can download it as Excel or JSON, according to the portal's GSTR-2B FAQ.
- GSTR-2B is read-only. You cannot edit it or add documents to it. If a supplier reported something wrongly, the supplier has to correct it, which is why your dashboard needs a supplier follow-up list.
- The Invoice Management System changes 2B. In IMS you accept, reject or keep pending each invoice that suppliers report, and invoices with no action are deemed accepted. If you act after the 14th, you must recompute GSTR-2B. Your dashboard should therefore load the final, recomputed version for each period, not the first download.
- GSTR-3B is pre-filled from the other two. Several liability rows in table 3.1 are auto-populated from GSTR-1 and GSTR-1A, and the credit rows in table 4 from GSTR-2B. The portal still allows edits but flags them, so a gap between 3B and its sources is exactly what reviewers want to see before filing.
Get the data into Power BI
Keep one folder per source and one sub-folder per tax period, for example GST\GSTR2B\2026-09\. In Power BI Desktop, use Get data, then Folder, then Combine and Transform. Power Query builds a sample-file query and a function that it applies to every file, so next month you drop the new file into the folder and refresh. Microsoft explains the pattern in Combine files (binaries) in Power BI Desktop. Store the folders in SharePoint or OneDrive if you want scheduled refresh in the Power BI service.
While loading, add three columns yourself rather than trusting file names later:
- TaxPeriod, taken from the folder you control, such as 2026-09.
- Section, such as ITC available, ITC not available, B2B, credit note or amendment. The 2B download separates B2B invoices, credit notes, amendments, ISD and imports; load the B2B invoices first, then add credit notes as negative values.
- LoadedOn, the date you downloaded the file, so you can prove which version of 2B the numbers came from.
Build a matching key that survives real data
Rule 46 of the CGST Rules says a tax invoice serial number can be up to sixteen characters, using letters, numerals, hyphens and slashes, and must be unique for a financial year (CBIC text of Rule 46). So match on three parts, never on the invoice number alone:
- supplier GSTIN, in capitals with spaces removed
- invoice number, in capitals and trimmed
- financial year, April to March, from the invoice date
Run a second, looser pass that also strips hyphens, slashes and leading zeros, and label those matches separately. "INV/012" and "INV-12" may be the same bill typed two ways, or two genuinely different bills; a person should confirm.
Design the model
Use a star schema: facts in the middle, dimensions around them, one-to-many relationships flowing from dimension to fact.
| Table | Grain | Key columns |
|---|---|---|
| SalesLines | One invoice line | Invoice key, date, customer GSTIN, HSN |
| PurchaseLines | One bill line | Invoice key, date, supplier GSTIN |
| GSTR2B | One document line | Invoice key, TaxPeriod, Section |
| GSTR3B | One row per table cell | GSTIN, TaxPeriod, table, tax head |
| Date | One day | Financial year, TaxPeriod |
| Party | One counterparty GSTIN | Name, state code |
| Registration | One of your GSTINs | State, branch |
The Party table serves both customers and suppliers. Because the first two characters of a GSTIN are the state code, you can derive a state column there and map supplies by state without another lookup. If your business holds registrations in several states, the Registration table matters from day one: returns are filed per GSTIN, so every reconciliation should be compared per GSTIN before you total anything.
Add a financial year column to the Date table, labelled like FY 2026-27, and a TaxPeriod column that matches the one you added in Power Query.
Write the measures
Output Tax =
SUMX ( SalesLines, SalesLines[IGST] + SalesLines[CGST] + SalesLines[SGST] + SalesLines[Cess] )
ITC in Books =
SUMX ( PurchaseLines, PurchaseLines[IGST] + PurchaseLines[CGST] + PurchaseLines[SGST] + PurchaseLines[Cess] )
ITC in GSTR-2B =
CALCULATE (
SUMX ( GSTR2B, GSTR2B[IGST] + GSTR2B[CGST] + GSTR2B[SGST] + GSTR2B[Cess] ),
GSTR2B[Section] = "ITC available"
)
ITC Gap Books vs 2B = [ITC in Books] - [ITC in GSTR-2B]
Output Tax FYTD =
CALCULATE ( [Output Tax], DATESYTD ( 'Date'[Date], "3-31" ) )
Two cautions. First, the year-end text in DATESYTD follows the locale of the file, so "3-31" can be read differently on a machine set to day-month order; test it by checking that the running total resets in April, not January. Second, keep the tax heads separate in visuals as well as totals. The returns report IGST, CGST, SGST and cess in separate columns, so one combined number can hide a problem in a single head.
The invoice-level match table
For supplier follow-up, build one more table in Power Query: group PurchaseLines and GSTR2B by the matching key, then merge them with a full outer join. Add a status column with four values: Matched, Value mismatch, In books only, In 2B only. That single column drives most of the useful visuals.
Five visuals that earn their place
- Monthly trend. Output tax, credit in 2B and credit claimed in 3B by TaxPeriod, one line each.
- Four reconciliation cards. Books against GSTR-1 for outward supplies, GSTR-1 against 3B liability, 2B against 3B credit, and books against 2B credit. Show each gap in rupees and colour it only when it crosses a tolerance your finance head sets.
- Supplier mismatch matrix. Suppliers sorted by the value of In books only and Value mismatch items, with drill-through to the invoices. This is your follow-up list, because only the supplier can fix 2B.
- Ageing of unmatched credit. Unmatched invoices bucketed by months since invoice date. Late filers show up here before they become a year-end surprise.
- State-wise supplies. Outward taxable value by place of supply, using the Party state code, with IGST and CGST plus SGST shown separately.
Mistakes that make GST dashboards lie
- Comparing invoice month with return month. A September bill can appear in October's 2B if the supplier files late. Group your books by invoice date and 2B by TaxPeriod, then reconcile cumulatively for the financial year so timing differences net off.
- Keeping the first 2B download. After IMS actions and a recompute, replace the file and update LoadedOn. One period, one version.
- Double counting amendments. The 2B summary shows amendments as a difference, while document details show the revised record with a reference to the original. At line level, replace the original values instead of adding both.
- Treating the dashboard as the filing source. It is a review tool. Filing still happens in the portal or your filing software after your adviser signs off.
- Open access to supplier data. Use row-level security so a branch accountant sees only their own GSTIN, and keep the workspace limited to finance.
If your team is still rebuilding the monthly pack by hand, our guide to Power BI for finance teams in India covers the wider reporting set, and the PL-300 exam guide maps these modelling and security skills to the certification.
How CertTulen Academy can help
The skills in this build, Power Query folder loads, star schema design, DAX time intelligence and row-level security, are the core of Microsoft Power BI Data Analyst (PL-300), which CertTulen Academy teaches live online with MCT-led sessions and hands-on labs. For a finance or tax team, a private corporate cohort can work through a dashboard like this one with sample data shaped like yours. Course pages show prices in INR with UPI, card and netbanking checkout. Contact us or WhatsApp +91 93618 83583 for a batch that suits your time zone.
Frequently Asked Questions
Can Power BI connect directly to the GST portal?+
Not as a standard connector. Most teams download GSTR-2B as Excel or JSON from the portal, or export return data from their filing software, and drop the files into a folder that Power BI reads with the Folder connector. Some GST software vendors offer APIs, but check their terms and your data security rules before connecting anything.
Which GSTR-2B file should I load if I changed IMS actions?+
Load the recomputed version. The GST portal generates GSTR-2B on the 14th, but if you accept, reject or change actions in the Invoice Management System afterwards, you must recompute it. Replace the earlier file for that tax period and record the download date, so every number in the dashboard traces back to one version.
Why does my input tax credit not match between books and GSTR-2B?+
Common causes are suppliers filing late, wrong GSTIN or invoice numbers, credit notes, amendments and timing, where a bill dated in one month appears in a later 2B. Reconcile cumulatively for the financial year, match on GSTIN plus invoice number plus year, and send the remaining differences to suppliers, because only they can correct 2B.
Do I need Power BI Pro for a GST dashboard?+
Power BI Desktop is free for building the model on your own computer. To publish the dashboard, schedule refreshes in the Power BI service and share it with colleagues, each person generally needs a Pro or Premium Per User licence, unless your organisation hosts the workspace on a larger Fabric capacity. Ask your IT team what your tenant already includes.
Is a Power BI GST dashboard enough to file returns?+
No. The dashboard is a review and follow-up tool that shows gaps between your books and the portal. Filing still happens on the GST portal or in your filing software, and decisions about what liability to declare or what credit to claim belong with your CA or tax adviser.
Sources
- Goods and Services Tax (GST) | Returns
- FAQs > Viewing Form GSTR-2B
- FAQs > Form GSTR-3B
- Invoice Management System (GSTN advisory)
- Rule 46. Tax invoice.
- Combine files (binaries) in Power BI Desktop
- DATESYTD
- Understand star schema and the importance for Power BI
Checked on 25 October 2026. Exams, products and rules change, so confirm on the official page before you book or decide.
Written by
Microsoft Certified Trainer (MCT), founder of CertTulen Academy
CertTulen Academy · Microsoft Training Services Partner · Microsoft AI Cloud Partner

