Generate & download reports
Create tax reports for a year or date range and retrieve completed files safely.
Generate a report
getReportExportV2 starts the export. Common types include Irs8949, IrsScheduleD, IrsSchedule1, IncomeReport, BalanceReport, and SalesCSV. dateQueryType must be year or date_range.
query ExportReport($clientId: ID!) {getReportExportV2(clientId: $clientIdtype: Irs8949dateQueryType: yearyear: "2025"shouldDownload: true) {downloadUrlmessage}}
Handle the result
When downloadUrl is present, the file is ready. When only message is returned, generation or email delivery is still in progress. Do not start duplicate exports while one is being prepared.
Confirm countDirty is zero and no recalculation job is active before producing final tax forms.
Retrieve a completed report
List previous reports, choose the completed report ID, then request its download URL as a separate root operation.
query Reports($clientId: ID!) {getReports(clientId: $clientId) {id title type createdAt}}
Get the download URL
query ReportDownload($reportId: ID!) {getReportDownloadUrl(reportId: $reportId)}
Export a filtered transaction CSV
Use getTransactionHistoryReportV2 when you need a custom slice of the ledger. It accepts transaction filters such as dates, accounts, assets, labels, and isMissingBasis, then returns a downloadUrl.