BitGo Report Download, Generation, and CSV/PDF Export Issues

BitGo Report Download, Generation, and CSV/PDF Export Issues

Problem

Customers frequently encounter problems when generating or downloading wallet reports (CSV and PDF) from the BitGo UI. Issues include: reports that never finish generating or get stuck in a loop, the green download button not appearing after the "report ready" email arrives, downloaded reports containing blank/empty data or NULL values, reports missing transactions or truncating data (e.g., cutting off after 1000 rows or 15 days), CSV format changes breaking reconciliation workflows (altered column headers, missing Description/Comment fields, fees displayed incorrectly), HTTP errors when clicking download, and general slowness where report generation takes hours. These issues affect wallet reports, holdings reports, transaction reports, and quarterly trust statements across all coin types, and they critically impact customers' daily reconciliation and month-end close processes.

Diagnostics

  • Confirm the report type and scope: Ask which report (Wallet Report, Holdings Report, Transactions Report, Quarterly Trust Statement), for which wallet ID(s), which enterprise ID, and which date range/month.
  • Check if the user has wallet permissions: Verify the user is an admin, spender, or viewer on the specific wallet. Enterprise-level "Users Can View All Wallets" setting may allow visibility but not necessarily download permissions. A user without wallet permissions will receive a download error even if the green button appears.
  • Check if the issue is user-specific or enterprise-wide: Ask whether other team members on the same enterprise also experience the issue. If only one user is affected, it may be a local browser or permissions problem.
  • Attempt to reproduce via account spoofing: Spoof the customer's account and attempt the same report generation. Check whether the report triggers, whether the green download button appears, and whether any errors surface in the browser console or Network tab of dev tools.
  • Verify the month/date dropdown selection: Confirm the customer is selecting the correct month via the date dropdowns in the upper-right corner of the Reports page. The green download button only appears for the month that was generated.
  • Check for known platform-wide report outages: Review the internal Slack channels (e.g., #notify-custody, #prodops) and https://status.bitgo.com/ for any active reporting incidents or recent deployments that may have introduced regressions.
  • Determine report format issues: If the customer reports changed column headers (e.g., all caps, different names), missing Description or Comment columns, or incorrect fee values, check whether a recent reporting engine update was deployed. Ask the customer to try clicking the recycle/refresh icon on the report to regenerate it.
  • Check browser environment: Confirm the customer is using the latest version of Google Chrome. Ask if clearing browser cache and cookies, or trying an incognito window, resolves the issue.
  • Assess report size: Large wallets with many transactions may cause generation delays. Reports taking longer than 10 seconds will trigger an email notification workflow rather than an automatic download. Reports with very high transaction counts may hit row limits.

Resolution


Scenario: report-reports-csv-download#slow-generation-or-stuck

Trigger: Customer reports that report generation is slow, stuck in a loop, or the green download button never appears after receiving the "ready" email notification.

Signals: slow report, generating loop, green button not showing, report not downloading, report takes hours, stuck generating, email says ready but no download

Steps:

  1. Ask the customer to confirm they clicked the generate button only once and waited for the process to complete. Repeatedly clicking generate does not speed up the process and may slow it down.
  2. Explain the expected behavior: if generating a report takes less than 10 seconds, the download starts automatically. If it takes longer than 10 seconds, the user receives an in-app notification stating "you'll receive an email when it's ready." After receiving the email, the user must return to the Reports page, select the appropriate month via the dropdown in the upper-right corner, and click the green download button.
  3. Ask the customer to clear their browser cache and cookies, or try an incognito window in Google Chrome.
  4. Spoof the customer's account and attempt to generate the same report. Check for errors in the browser console and Network tab.
  5. If the report still does not generate, escalate to the Product Operations (ProdOps) team via the #prodops Slack channel with the wallet ID(s), enterprise ID, report type, and date range. ProdOps can generate the report on the backend and provide it directly to the customer.
  6. If the issue is widespread or persists after ProdOps intervention, escalate to Engineering via Jira. Note that the reporting system has had known intermittent issues with generation delays, particularly for wallets with high transaction volumes (reports >10MB).

Notes: The system may need up to 12 hours to reflect the most recent transactions in reports. Reports for the current (incomplete) quarter will not be available for Quarterly Trust Statements. PDF report generation has been known to enter a looping state requiring an Engineering fix.

"The generation of reports is not instant for our platform. After choosing generate report in the format you are requesting, you need to let the report process. Continuing to spam generate within the reports screen will not speed up the process and may slow down you receiving reports." "if generating a report takes less than 10 seconds -> the download will start automatically. Otherwise if generating the report takes more than 10 seconds -> you will receive an in-app notification saying something like 'you'll receive an email when it's ready'" "Sometimes, when users attempt to download wallet reports, the platform requires some time to reconcile and produce those reports. Users can successfully download these reports once they have been generated. Typically, this process takes between 1-3 minutes, especially if the report size isn't large (i.e., >10MB)."


Scenario: report-reports-csv-download#permissions-error

Trigger: Customer receives an error when clicking the download button, or the downloaded report is blank/empty, and the user lacks direct wallet permissions despite the enterprise having "Users Can View All Wallets" enabled.

Signals: download error, blank report, empty CSV, no permissions, Users Can View All Wallets, permissions error, HTTP error on download

Steps:

  1. Verify whether the user is an admin, spender, or viewer on the specific wallet(s) they are trying to generate reports for. The enterprise setting "Users Can View All Wallets" grants visibility but does not necessarily grant report download access.
  2. If the user does not have permissions on the wallet, advise that the report must be downloaded by a team member who has direct permissions (admin/spender/viewer) on that wallet.
  3. If the customer needs immediate data, offer to have the ProdOps team generate and attach the report via the support ticket.
  4. If the customer's enterprise admin wants to grant the user wallet-level access, guide them to add the user as a viewer/spender on the relevant wallet(s).

Notes: This commonly affects new users who are added to the enterprise but not explicitly given wallet-level roles. The "Users Can View All Wallets" setting adds confusion because users can see wallets but cannot always download reports for them.

"Reviewing this error, we are showing you do not have permissions on the Trade Wallet. This is preventing you from downloading this report. We are showing this enterprise has 'Users Can View All Wallets' which may be adding confusion. This report will need to be downloaded by a member of your team who have permissions on the wallet."

Scenario: report-reports-csv-download#http-error-on-download

Trigger: Customer sees an "Unsuccessful HTTP response" or similar HTTP error when clicking the CSV or PDF download button.

Signals: HTTP error, Unsuccessful HTTP response, download error, CSV error, report error

Steps:

  1. Ask the customer to clear their browser cache and cookies, then try the download again.
  2. Ask the customer to try the recycle/refresh icon next to the report to regenerate it, then attempt the download.
  3. Spoof the customer's account and attempt the same download to confirm the error.
  4. If the error persists after regeneration, escalate to Engineering with the wallet ID, enterprise ID, report type, and month. Attach any error screenshots.
  5. In the interim, have the ProdOps team generate and send the requested reports to the customer via the support ticket.

Notes: HTTP errors on report download have been resolved in the past as server-side issues. If the error is isolated to one wallet or enterprise, it may be a data issue specific to that wallet.

"Apologies for the inconvenience, the issue is resolved now, please try again and let us know if you are still seeing any issues."

Scenario: report-reports-csv-download#csv-cannot-open-or-corrupt

Trigger: Customer can download the CSV file but cannot open it, or the file appears corrupt.

Signals: cannot open CSV, CSV error, corrupt file, file won't open, report generation error

Steps:

  1. Ask the customer to clear their browser cache and cookies, restart their browser, and try downloading the report again.
  2. Confirm they are using the latest version of Google Chrome.
  3. If clearing the cache resolves the issue, confirm resolution with the customer.
  4. If the issue persists, spoof the account and attempt the download to see if the file is also corrupt from BitGo's side.
  5. If the file is corrupt on BitGo's side, escalate to Engineering and have ProdOps provide the report manually.

Notes: In at least one case, clearing the browser cache and cookies and restarting the PC resolved the issue entirely.

"I have refreshed cache and cookies and restarted my PC, and this has solved the issue."

Scenario: report-reports-csv-download#format-change-missing-columns

Trigger: Customer reports that CSV column headers have changed (e.g., now in all caps, different names), the Description column no longer shows per-address amounts, the Comment column is blank, or fee values appear incorrect (e.g., fees showing in millions of USDC or as positive instead of negative).

Signals: format changed, column headers different, Description blank, Comment column empty, fees incorrect, all caps headers, report format, CSV format change, missing descriptions

Steps:

  1. Confirm with the customer which specific columns or fields are affected and ask for both a recent (problematic) report and a prior (correct) report for comparison.
  2. Ask the customer to click the recycle/refresh icon on the report in the UI to regenerate it using the original format, then download again.
  3. If the regenerated report still has the new format, escalate to the ProdOps team and Engineering. This is a known issue that can occur when the reporting engine is updated.
  4. If the old UI (classic view) is still accessible, advise the customer to navigate to https://app.bitgo.com/default to access the legacy UI Reports page and download from there as a workaround.
  5. For the Comment column being blank: this was a known bug that Engineering resolved. Confirm the fix is deployed and ask the customer to regenerate the report.
  6. For fees displaying incorrectly (e.g., millions of USDC): escalate to Engineering immediately as this indicates a unit conversion bug.

Notes: The reporting engine underwent updates in mid-2023 that temporarily changed CSV formatting. Customers relying on consistent headers for automated reconciliation were significantly impacted. The fix for the Comment column was confirmed deployed for August 2023 reports onward. The old format could sometimes be restored by clicking the refresh/recycle icon.

"have you clicked on the refresh/recycle icon then download? That refresh step should revert the reports back to the old format (screenshot attached for reference for that icon)." "This issue has now been resolved and the August 23 Reports should now have the 'Comments' Column entirely populated." "it will remain like this until the engineering team fix the new reports to match the details and the comments like the old ones."


Scenario: report-reports-csv-download#missing-transactions-or-truncated-data

Trigger: Customer reports that the downloaded report is missing transactions visible in the UI, shows only partial month data (e.g., 15 days instead of full month), or cuts off after a specific row count (e.g., 1000 rows).

Signals: missing transactions, incomplete report, truncated data, 1000 rows, 15 day increments, partial data, transactions missing from CSV

Steps:

  1. Confirm the wallet ID, date range, and which specific transactions are missing (ask for transaction IDs or on-chain hashes if available).
  2. Check whether the report row limit is being hit. Reports cutting off at 1000 rows was a known technical limitation during certain periods.
  3. Escalate to Engineering with full details. This was acknowledged as a known technical issue tied to the reporting system that would be resolved with a reporting system upgrade.
  4. In the interim, request ProdOps to pull the complete transaction data for the affected wallet(s) and date range and provide it to the customer.
  5. If the customer reports that the "Last month" filter includes data from the 1st of the following month, confirm that this was a known bug in the new UI where the date range was not correctly using UTC. Engineering deployed a fix removing the time picker and forcing UTC. Ask the customer to verify after the fix.

Notes: Reports may take up to 12 hours to reflect the latest transactions. If a report is generated shortly after transactions occur, the most recent ones may not yet appear. This is expected system behavior, not a bug.

"This is a known technical issue that will be resolved once we upgrade our reporting system. Currently, our engineering team considers this system upgrade its highest priority." "Our team had advised that this is because the system needs a few hours to update to the latest report." "We have deployed the fix for this reporting issue. There is no time picker in the UI anymore, and the request is always made in UTC time now."


Scenario: report-reports-csv-download#null-values-in-holdings-report

Trigger: Customer downloads a holdings report and finds NULL values in data fields, or the report type has changed unexpectedly (e.g., downloading a "Holdings by Account" report now returns a different wallet report format).

Signals: NULL values, holdings report, null, blank values, report type changed, wrong report format

Steps:

  1. Confirm the enterprise ID, wallet ID, and report type the customer is attempting to download.
  2. Escalate to Engineering immediately, as NULL values in holdings reports indicate a backend bug requiring a code fix.
  3. While Engineering works on the fix, have the ProdOps team pull the correct balance data from the backend and provide it to the customer as an attachment.
  4. Once Engineering confirms the fix is deployed, ask the customer to re-download the report and verify the data.

Notes: A NULL values bug was identified and a fix was deployed within approximately one day in one documented case. Interim balance data was provided manually by ProdOps.

"The fix was deployed yesterday, please try to download the report again and let us know if you are still seeing any issues."

Scenario: report-reports-csv-download#reports-section-missing-new-ui

Trigger: Customer reports that the Reports section is missing from the new BitGo UI, or they cannot find where to download reports after a UI update.

Signals: reports missing, new UI, reports section removed, cannot find reports, new portal, new interface

Steps:

  1. If the Reports section is not yet available in the new UI, advise the customer to access the legacy UI by navigating to https://app.bitgo.com/default after logging in. This will revert to the old interface where Reports is available in the left-hand navigation pane.
  2. To return to the new UI, the customer can navigate back to their enterprise URL (e.g., https://app.bitgo.com/web/enterprises/<enterprise_id>/assets).
  3. If the legacy UI workaround is not acceptable, escalate to Engineering/Product for an ETA on when the Reports section will be available in the new UI.
  4. In the new UI, reports can be accessed by clicking the 9-dot grid icon in the upper-right corner and selecting "Reports" from the dropdown menu.

Notes: The Reports section was temporarily absent from the new UI during the transition period but was later added back. If the customer still cannot see it, confirm they are looking in the correct location (grid icon, upper right).

"The reports section will be added to the new UI towards the end of this week." "Once the platform loads, the URL should reflect: https://app.bitgo.com/web/enterprises/... Please change the URL to be: https://app.bitgo.com/default This will revert to our Legacy UI with the 'Reports' available from the navigation pane on the left-hand side."


Scenario: report-reports-csv-download#address-list-or-custom-data-request

Trigger: Customer requests a full list of wallet addresses with balances, a custom data export across multiple enterprises, or data not available through the standard report UI (e.g., address-level balances).

Signals: wallet addresses, address list, all addresses, address-level balances, custom report, data pull, all enterprises, audit, balance confirmation

Steps:

  1. Collect the specific request: enterprise ID(s), wallet ID(s), desired data fields (e.g., Enterprise Name, Coin Name, Wallet Name, Wallet Address), date/timestamp for balance snapshots, and output format (CSV).
  2. For programmatic access, advise the customer that the API endpoint https://developers.bitgo.com/api/v2.wallet.addresses can be used to retrieve addresses under a wallet, including the balance of each address.
  3. For one-time or bulk data pulls that cannot be done via the UI, escalate to the Product Operations (ProdOps) team with the full request details. ProdOps can run backend queries to generate custom reports.
  4. If the data pull is large, ProdOps may send it in multiple emails/attachments due to file size constraints.
  5. If the request is for audit purposes and requires an official letterhead or direct delivery to auditors, confirm this with the customer and relay the requirement to ProdOps.

Notes: Address-level balance reports are not available as a standard UI report. Some coin types (e.g., DOGE) may have address-level balance data that takes additional time for Engineering to compile.

"You can use this endpoint https://developers.bitgo.com/api/v2.wallet.addresses to get the addresses under the wallet and in the response you can get the balance of each address"

Scenario: report-reports-csv-download#transaction-download-ignores-filters

Trigger: Customer clicks the "Download" button on the transaction history page but receives old/historical data that does not match the on-screen filters or current view.

Signals: download ignores filters, old trades, wrong data, View All Orders, filter not applied, transaction report wrong data

Steps:

  1. Confirm the customer is on the "View All Orders" or transaction history screen and has applied filters before clicking "Download."
  2. Attempt to reproduce by spoofing the customer's account and applying the same filters.
  3. If reproducible, escalate to Engineering as a confirmed UI bug where the Download button does not respect applied filters.
  4. Once Engineering confirms a fix, ask the customer to try again and verify.
  5. In the interim, advise the customer to use the Reports page (grid icon → Reports) to generate a Transactions Report with a specific date range as a workaround.

Notes: This was a confirmed reproducible bug where the Download button on the transaction view exported unfiltered/historical data regardless of on-screen filter selections.


Scenario: report-reports-csv-download#browser-local-issue

Trigger: Customer's report issue is resolved when using an incognito window or a different computer, suggesting a local browser problem.

Signals: incognito works, clear cache, browser issue, local issue, works in incognito, different computer works

Steps:

  1. Ask the customer to clear their browser cache and cookies.
  2. Ask them to try accessing BitGo and downloading the report in a Chrome incognito window.
  3. If the incognito window works, confirm the issue is local to their browser cache/state and advise clearing the cache permanently.
  4. Recommend using the latest version of Google Chrome on a computer or laptop for the best experience with the BitGo platform.

Notes: Several report download issues (blank reports, errors, reports not appearing) have been resolved solely by clearing browser cache. Always suggest this as a first step.

"This confirms that this is due to an issue locally on your computer. Have you try clearing your browser cache as suggested? And if you are not already doing so, we recommend using the latest version of Google Chrome on a computer or laptop to access our website for the best experience."

Related

  • wallet-reports — Overview of available report types, generation steps, and column definitions
  • all-about-reports — General guide to report types including Transactions, Holdings, and Transfer Details reports
  • keycards-and-private-keys — Not directly related but referenced in wallet management context