Import historical invoices.
Bring billing history in from Excel or Google Drive — extraction, a curriculum-ordered review, the subscriptions those invoices imply, and the analytics backfill that makes your charts start before today.
01Why import history at all
MRR, NRR, and churn only mean something with a baseline. Importing your billing history — even just the last 12–24 months — lets analytics show real trends from day one instead of a chart that starts today. Imported invoices carry a source marker (Excel / Google Drive) so they stay distinguishable from system-generated ones. The invoices are also the evidence Revvly uses to reconstruct the subscriptions behind them, so you do not have to invent the plan shape in a spreadsheet first.
02Spreadsheet route: upload and map
Import → Transactions accepts your Excel/CSV export. Revvly analyzes the columns and proposes a mapping (dates, amounts, currencies, customer names); you confirm or correct it, review the dry-run preview with per-row validation, then run the import. Subscriptions can be bulk-imported the same way under Import → Subscriptions.
- Import
- Transaction Import
03Google Drive route: connect and sync
Settings → Integrations connects a Drive account; you pick the folders where invoices live and start a sync. An extraction job reads each document and pulls out the structured fields — invoice number, amount, currency, dates. Failed extractions can be retried per document or per job.
- Settings
- Integrations
Once folders are connected, Import is where you start a sync and pick a review back up.
04Settle invoices Revvly already holds
A transaction import row can name an invoice that is already in Revvly, for example one imported from a PDF or from a client folder that arrived without a payment date. When that row carries a Payment Date, the import records the payment on the existing invoice instead of creating a second one. A row that says the invoice was part paid books only the amount still missing. Importing the same file again records nothing twice. A row marked Paid with no payment date leaves the invoice unpaid, because there is no date to book the payment on. The result step shows how many existing invoices were marked paid from their payment date.
- Import
- Transaction Import
Map the Payment Date column in Map Columns for this to apply.
05Files from client folders and email
With client folders in Google Drive turned on, a file in a client’s folder, or an email attachment filed on the client, can be marked Invoice or Credit note on the client’s Documents tab. Marked files go through the same review described below, and nothing is billed until a person commits them. An attachment from a private email thread is never imported. When the review is ready, the bell tells the person who started the import, or the workspace admins for files Revvly picked up from client folders.
- Clients
- open a client
- Documents
- Mark
Setting up the folders is covered in Client folders in Google Drive.
06Review what was extracted
Each sync result is reviewed before anything touches your ledger: accept it, correct extracted fields, or discard it as not-an-invoice (restorable if you change your mind). The queue is ordered as a curriculum — one product shape at a time, covering every billing shape first rather than emptying a pile invoice by invoice — so you are not asked about every invoice that looks the same. Confirming writes your choice onto the staged result and nothing else; subscriptions and invoices are created later by the commit step. You can stop at any point. Import shows a resume banner for a half-reviewed job instead of making you start again.
- Import
- open the sync job
- Review
Review one client at a time from the commit summary if you want to finish a single customer rather than follow the curriculum across the whole job.
07Rebuild the subscriptions those invoices imply
Importing a customer with years of billing history used to mean deciding the plan shape by hand, then hoping the invoices would attach. Revvly now clusters a client's own invoices into the subscriptions they imply, proposes the catalog versions those charges match, and can create both the catalog and the subscriptions. The commit unit is the client: a client's subscriptions are reconstructed from all of its invoices at once, so a client with invoices still unanswered cannot be committed. Confirming review still bills nothing; committing is the write that creates the invoices, then reads the plan those invoices imply, then applies exactly that plan. Where a charge describes a product you do not sell yet, the review offers to create the catalog rows that charge implies — a new product with its price history, or the missing past versions of an existing one — rather than leaving you to reconstruct the relationship in a spreadsheet.
- Spreadsheet uploadMap columns, check the dry-run preview.orGoogle Drive syncExtraction reads each invoice document.
- ReviewAccept, correct or discard. Nothing is billed.
- Commit one clientNeeds every one of its invoices answered.
- Invoices and subscriptionsInvoices created, then the implied plan applied.
- Backfill analyticsRun over the imported date range.
- Import
- open the sync job
- Summary
Commit one client at a time once every one of its invoices has been answered. A catalog gap is offered from the review card when none of the existing products fit.
08Link the unmatched, resolve the discrepancies
Imports rarely arrive perfectly attributed. Unmatched invoices are queryable and can be attached to their subscription with linkInvoiceToSubscription. Where an imported amount disagrees with what the subscription's pricing says it should have been, an invoice discrepancy is raised — resolve them one by one or in bulk once you've confirmed which number is right.
09Backfill the analytics
Historical metrics are computed from daily snapshots. After a large import, run backfillAnalyticsSnapshots over the imported date range (up to three years per run) so MRR and ARR charts incorporate the history you just brought in.