Source: https://www.revvly.ai/docs/reference/exports

Reference

# Exports and *reports*.

Every file you can export or download from Revvly, where it lives, its format, who can run it and what it needs. Reports that exist only as API queries are marked as such.

## Dashboard exports

- **MRR movement**: **Where.** Analytics, MRR Movement tab, MRR Movement Breakdown card, Export MRR.**Format.** Excel (.xlsx), saved as mrr-movement-YYYY-MM-DD.xlsx. Two sheets: MRR Movement and Summary.**Who.** Anyone who can open Analytics. The export query checks sign-in only.**Needs.** No tenant flag.**Contains.** One row per month in the date range selected on the page: Month, Starting MRR, New Business MRR, Expansion MRR, Reactivation MRR, Contraction MRR, Churn MRR, Net New MRR, Ending MRR, Change %, and the counts of new subscriptions, expansions, contractions, churns and reactivations. The Summary sheet has current and previous month MRR, month and year change, period totals and a generated-at time.

- **Active subscriptions**: **Where.** Analytics, MRR Movement tab, MRR Movement Breakdown card, Export Subscriptions.**Format.** Excel (.xlsx), saved as subscriptions-YYYY-MM-DD.xlsx. Two sheets: Subscriptions and Summary.**Who.** Anyone who can open Analytics.**Needs.** No tenant flag.**Contains.** The subscriptions active today (the page sends no other reference date): Organization, Plan, Variable Pricing, Start Date, End Date, Total Amount, Currency, Period, MRR Contribution, ARR Contribution. The Summary sheet has Total MRR, Total ARR, the active count, the reference date and a generated-at time.

- **Tax report**: **Where.** Finance, Tax tab, Export CSV or Export Excel.**Format.** CSV or Excel, saved as tax-report-START-to-END.csv or .xlsx.**Who.** Tenant admins only. The buttons are hidden from other members and the API refuses them.**Needs.** The Tax feature (a grantable add-on).**Contains.** The report as it is set on screen: period (This month, This quarter, This year or Custom), grouped by Jurisdiction, Tax code or Month, on an Accrual (invoice date) or Cash (as paid) basis. The header rows carry your tax registration numbers. Then Group, Currency, Taxable base, Tax amount and Invoices per row, totals by currency (taxable base, tax charged, tax credited, tax total) and taxable base by treatment. In the CSV, text beginning with = + - or @ is prefixed with an apostrophe so a spreadsheet does not run it.

- **Form submissions**: **Where.** Forms, open a form, Submissions tab, Export CSV.**Format.** CSV with a UTF-8 byte-order mark, saved as FORM-NAME-submissions-YYYY-MM-DD.csv.**Who.** Any member with access to Forms.**Needs.** The Forms feature.**Contains.** Everything the current search and status filter selects, newest first, not just the rows loaded on screen: Submission ID, Submitted at (UTC), Source, Actions, one column per question (including questions removed from later versions), Page URL and Referrer. A file holds at most 10,000 rows. Past that you get the newest 10,000 and a warning.

- **CRM forecast**: **Where.** Pipeline, Forecast view, Export CSV.**Format.** CSV with a byte-order mark, saved as forecast-YYYY-MM-DD.csv.**Who.** Anyone who can open Pipeline.**Needs.** The CRM feature.**Contains.** The deals currently visible in the table, with the columns currently shown, from Company, Contact, Stage, Company domain, Created via, Created on, Created by, Demo, Expected close, First invoice, ARR, Chance to close (%), Plan, Rep, Weighted ARR and Weighted first invoice. A Currency column follows the last money column. The button is disabled when no row is visible.

- **Import issues**: **Where.** Finance, Import, Transaction Import, Analysis step, Attention Needed, Export CSV (shown only when the analysis flagged something).**Format.** CSV, saved as import-issues-YYYY-MM-DD.csv.**Who.** Whoever is running the import.**Needs.** No tenant flag.**Contains.** Row, Issue Type, Message, Client and Amount for each item the analysis flagged.

- **Users (legacy)**: **Where.** Open the command palette (Ctrl+K or Cmd+K), type Export users and choose **Export users…**. It opens /users/export. It is in no menu.**Format.** Not a download. The request goes to the external API configured for your workspace, which emails the file to you when it is ready.**Who.** Any signed-in member.**Needs.** An external API set up under Settings, API Integration. Without it the request fails with “External API is not configured”.**Contains.** Users filtered by role and status, using the older role names (Admin, Admin & Coach, Coach, Cofounder, Community Member, Evaluator, Expert, Mentor, Staff, SubAdmin) and statuses (Active, Archived, Deleted, Deny, Pending, Unactive). These are not your Revvly team roles, and the file comes from that external system, not from Revvly.

## Files you can download

- **Invoice PDF**: **Where.** Finance, open an invoice, Details tab, Invoice files, View file, Download. Generate PDF or Regenerate PDF sits under the list.**Format.** PDF named invoice-NUMBER.pdf. Regenerating replaces the previous copy.**Who.** Any member who can open the invoice. Generating or regenerating is a billing action for workspace admins.**Needs.** The Finance feature.**Contains.** The invoice as sent to the client. A held draft has no number or dates yet, so it has no PDF until it issues. The same PDF can be attached to a reminder email (Attach invoice PDF), and API clients can read a 30-minute download link, see the API list below.

- **Invoice attachments**: **Where.** The same Invoice files list. Files you uploaded appear beside the PDF.**Format.** The file as uploaded.**Who.** Any member who can open the invoice.**Needs.** The Finance feature.**Contains.** View file opens a preview, and the preview has a Download button.

- **Library documents**: **Where.** Library, Documents, Download on a document, and on each version in its version history.**Format.** The stored file.**Who.** Anyone who can open the Library.**Needs.** The CRM feature or the Support feature, either one.**Contains.** Only files that finished verification can be served.

## API and Assistant only

These have no button in the dashboard. The first three are queries on the dashboard GraphQL schema, which uses your signed-in session. They are not in the public API for API keys.

- **MRR movement CSV**: **Where.** GraphQL query mrrMovementCsv(months, startMonth, endMonth) on the dashboard schema.**Format.** CSV text returned in the response.**Who.** A signed-in session.**Needs.** No tenant flag.**Contains.** The same monthly movement as the Excel export. Deprecated: use the Excel version. The dashboard does not call it.

- **Invoice PDF link**: **Where.** The pdfUrl field on an invoice in the public GraphQL API.**Format.** A presigned URL that expires after 30 minutes, minted fresh on every query. Null when no PDF exists.**Who.** An API key with the READ capability.**Needs.** An API key.**Contains.** The same PDF as above. Request it only when you intend to download it. See the Public GraphQL API.

- **Billed revenue by line kind**: **Where.** GraphQL query billedRevenueByLineKind(from, to, period) on the dashboard schema. No screen shows it.**Format.** JSON rows, not a file.**Who.** A signed-in session.**Needs.** No tenant flag.**Contains.** What was billed per period, by invoice date, split by line kind: BASE or BASE_SPLIT (recurring plan), VARIABLE (usage), FREE_INCLUSION, PRORATION, ONE_TIME_FEE and CREDIT. Imported invoices with no line kind come back with a null kind so totals still reconcile. One row per period, line kind and currency, with amountInReportingCurrency for comparison. The period is daily, weekly or monthly (monthly by default) and the range is at most 1,100 days.

- **Payment time**: **Where.** GraphQL queries paymentTimeByOrganization and paymentTimeByRegion on the dashboard schema. No screen shows them.**Format.** JSON rows, not a file.**Who.** A signed-in session.**Needs.** No tenant flag.**Contains.** For paid invoices: average, fastest and slowest days to payment, the on-time payment rate and the number of invoices paid, per client or per region. The region query names each group by region id.

- **Form submissions through the Assistant or MCP**: **Where.** The export_form_submissions tool, on the Revvly Assistant and the MCP server.**Format.** The first 100 rows as CSV text, the total row count and the file name.**Who.** Whoever the Assistant or MCP session is signed in as. A read tool, so it needs no approval.**Needs.** The Forms feature.**Contains.** The same filters as the dashboard export. The complete file is downloaded from the Submissions tab.

## Things that look like exports and are not

- **Subscriptions page, Export**: The button is on the page, but it has no action behind it today. Use **Export Subscriptions** on Analytics.

- **Invoice list, Past Due**: The Finance tabs have no export button. To pull invoices out programmatically, use the invoices field in the [Public GraphQL API](https://www.revvly.ai/docs/api/graphql-public).

- **Contacts and companies import**: An import, not an export. Its batch history can revert a batch, see [Merge, delete and undo](https://www.revvly.ai/docs/guides/fix-your-data).

## How spreadsheets are written

- **Excel from the API**: The Excel queries return the workbook base64-encoded, and the dashboard decodes it for you. Decode it yourself when you call them directly.

- **Formulas in text**: Tax, form and forecast CSVs prefix any text that starts with = + - or @ with an apostrophe, so opening the file never runs a formula typed by a customer.

- **Accented text**: The form and forecast CSVs begin with a byte-order mark, so Excel reads accents correctly.

