Excel Exports

Export your data to clean, professionally formatted Excel files. List pages — Transactions, Customers, Vendors, and Purchase Orders — stream a server-rendered .xlsx with bold headers, a frozen top row, auto-filter, auto-sized columns, $ currency formatting, and negative amounts highlighted in red. Financial reports (Income Statement, Balance Sheet, Cash Flow, and more) have their own export button on each report page that builds a multi-sheet workbook in the browser. Every export respects the filters currently applied and is written to the audit log.

Key capabilities

  • Transaction export honoring every active filter: date range, bank-account ledger, category (opposing) ledger, source account, tags, search, amount direction, uncategorized-only, missing-counterparty, and review status
  • Customer, vendor, and purchase-order list exports (Excel; purchase orders also export to CSV)
  • Per-report Excel buttons on Income Statement, Balance Sheet, Cash Flow, Managerial P&L, Vendor Spend, Cash Flow Forecast, and Budget Projection
  • Bold white-on-green header row, frozen at the top so it stays visible while scrolling
  • Auto-filter enabled across the full data range, plus auto-sized columns (min 12, max 50 characters wide)
  • Real Excel currency cells ($#,##0.00), not text, with right-aligned numbers
  • Negative amounts highlighted in red via conditional formatting
  • Proper Excel date cells, landscape print layout fit to page width, and a "Generated by DayZero" footer with page numbers
  • Dropdown validation on Status (Posted / Pending / Deleted) and Reconciled (Yes / No) columns, plus a named ExportData range
  • Formula-injection protection: every cell value is escaped so a leading =, +, -, or @ can't execute as a formula
  • Color-coded sheet tabs per export type, and descriptive filenames (<Type> Export - <Business> - <YYYY-MM-DD>.xlsx)
  • Every export records an audit-log entry capturing the format, filters, and row count

How it works

For list exports, DayZero pulls the filtered records (up to a generous per-export cap), escapes each cell against formula injection, then applies the shared formatting pass before streaming the file to your browser. Report exports assemble each report's sections into one or more worksheets directly.

flowchart TD
  click["Click Excel export"] --> fetch["Fetch filtered records (capped)"]
  fetch --> conv["Cents to dollars + escape cells"]
  conv --> write["Write rows (openpyxl)"]
  write --> fmt["Format: headers, currency, dates, filters"]
  fmt --> audit["Write audit-log entry"]
  audit --> dl["Stream .xlsx download"]

How to use it

  1. Open the page with the data you want: Transactions, Customers, Vendors, or Purchase Orders (under Inventory).
  2. Apply any filters — date range, bank account, status, search, etc. The export mirrors exactly what the filtered table shows.
  3. Click the Excel export (download) icon in the page header. Purchase Orders also offers Export Excel alongside a CSV option.
  4. The file downloads immediately as a formatted .xlsx, named with the business and today's date.
  5. For financial reports, open the report page (e.g. Income Statement) and click its own Excel export button.

Pro tips

  • Filter before exporting — the transaction export respects all active filters, so you get exactly the slice you need with no spreadsheet cleanup afterward.
  • The frozen header row and auto-filter mean you can sort and slice large exports immediately in Excel or Google Sheets.
  • Negative amounts come pre-flagged in red, making refunds, credits, and adjustments easy to spot at a glance.
  • Numbers export as real currency/date cells, so SUM and date math work without re-typing or reformatting.
  • For very large datasets, list exports cap at a high limit (10,000 transactions; 5,000 customers/vendors/orders) — narrow the date range or filters for anything bigger.
  • Need a plain data feed instead of formatting? Use the Purchase Orders CSV export.

In-depth guide

Available exports and columns

Export Columns
Transactions ID, Date, Counterparty, Description, Amount, Ledger ID, Ledger Name, Category, Status, Review Status, Reconciled
Customers ID, Name, Email, Phone, Address, Created Date, Updated Date
Vendors ID, Name, Email, Phone, Category, Status, Credit Limit, Address, Website, Tax ID, Notes, Created Date, Updated Date
Purchase Orders PO Number, Name, Status, Vendor, Total, Balance, Line Items, Description, Expected Delivery Date, Expected to Pay On, Payment Terms, Created Date, Updated Date

Purchase Orders also export to CSV alongside Excel. A couple of details on the Transactions export specifically:

  • Filters carry over — anything you can filter on screen carries into the file: date range, bank-account ledger, category (opposing) ledger, source account, tags, search, amount direction, uncategorized-only, missing-counterparty, and review status, plus sort.
  • Category column — the joined names of the transaction's opposing (categorization) ledgers, or "Uncategorized".

Formatting applied to list exports

A shared formatting pass styles every list export the same way:

Feature Behavior
Header row Bold white text on a green fill, centered, bordered
Freeze panes Top row frozen (A2) so headers stay visible
Auto-filter Enabled across the full A1–last-cell range
Column width Auto-sized to content, clamped between 12 and 50 characters
Currency cells "$"#,##0.00 number format, right-aligned, on amount columns
Negatives Conditional formatting: red font on a light-red fill for values < 0
Dates Proper Excel date number format on date columns
Print setup Landscape, fit-to-width, repeating header row, footer with page numbers and "Generated by DayZero"
Validation Dropdowns on Status (Posted/Pending/Deleted) and Reconciled (Yes/No)
Named range The data block is exposed as ExportData
Tab color Per type — transactions green, customers blue, vendors red, orders orange

Amounts, dates, and safety

  • Currency — monetary values are written as numeric currency cells; the $ formatting is applied by Excel, not baked into a string.
  • Dates — written as real date values for clean display.
  • Formula-injection escaping — before writing, every cell is escaped, so a value beginning with =, +, -, or @ is neutralized and can't execute when the file is opened.

Financial report exports

Report pages assemble their workbooks directly:

  • Income Statement — lays out each section (Operating Revenue, Cost of Goods Sold, Operating Expenses, Other Income/Expense) as a block with a "Ledger Name / Total / per-period" header, a Sum row per section, and computed subtotals for Gross Profit, Operating Income, and Net Income across the selected periods.
  • Other reports — Balance Sheet, Cash Flow (including monthly and forecast variants), Managerial P&L, Vendor Spend, and the multi-sheet Budget Projection each have their own export tailored to that report's structure.

Audit trail

Every export — Excel or CSV — writes a row to the audit log capturing:

  • The export action
  • The entity type
  • The number of records exported
  • The filters that were in effect

This gives firms a record of who pulled which data and when, useful for close reviews and data-handling controls.

Start free and get board-ready spreadsheets in one click.