Papers Report Builder
What this page is — the drag-and-drop report designer over the documents, obligations and signatures in a project.
What it is for — so questions about your document estate are answered with numbers you can drill into, save and share.
The problem it solves — without it, "how much contract value expires next quarter?" becomes a data request that takes days and is out of date when it arrives.
Route: /org/papers/reports · Permissions: Open the Papers report builder, run reports, drill down and export results. to run reports; Create, update, delete and share saved Papers report definitions. to save and share them
Menu: Papers Reports (under Orbit Papers)
1. What the Papers Report Builder is
A drag-and-drop report designer over the selected project's document estate. You choose the dataset (Documents, Obligations or Signatures), drag fields into Rows, Columns, Measures and Filters, press Run, and read the result as a pivot table or a chart. Any number in a document or obligation report is clickable — it opens the documents behind it. Reports can be saved for reuse, privately or shared with the project.
It is the same builder as Task Reports, the Store Report Builder and the Resolve Report Builder, pointed at Papers data.
| Papers Report Builder | Papers Analytics | |
|---|---|---|
| Questions it answers | The ones you compose | A fixed dashboard |
| Grouping | Your choice (up to 3 dims + a pivot column) | Fixed |
| Saved | Yes — private or project-shared | No |
| Drill-down | Every number → its documents | Limited |
Papers documents can live at the organization level with no project. Reports show the selected project's documents plus org-wide ones — exactly the rule the document list itself follows. The Org-wide field lets you split or filter the two.
2. Why you would use it
- Questions stop waiting for a developer. "How much contract value expires next quarter, by type?" is four drags and Run, not a data request.
- Numbers you can defend. Every figure drills down to the documents behind it, so a surprising total is checked in one click rather than disputed.
- The same question, asked the same way. A saved, shared report means finance and legal quote the same expiry exposure instead of two spreadsheets.
- Evidence for audits and board packs. Legal Hold Inventory and Overdue Obligations by Type export to CSV or PDF on demand.
3. How a report is put together
A document's state is a lifecycle code (draft, negotiation, …) whose display name is defined
per document type in the Type Designer. The builder shows the configured labels; documents whose
type has no lifecycle config fall back to the raw code. The Live / In Force field is the
honest "is this document in force" test (active / executed / finalized / signed) — the same set
the expiry and obligations machinery uses.
4. Building and running a report — step by step
Step 1 · Pick the dataset
Documents (volume, state, family, type, value, expiry, legal hold), Obligations (payment / deliverable / renewal / expiry / milestone / notice items with due dates and owners) or Signatures (signer-level signing progress and turnaround). Switching clears the canvas (the page asks first).
Step 2 · Drag fields into the zones
Same interaction as the other builders. Filter pickers offer document types from the project's catalog, the platform's family taxonomy, lifecycle state codes, owners/creators from the project members, and the fixed obligation/signature vocabularies.
Step 3 · Run, read, drill
- Table — pivot with totals; two or more row dimensions become collapsible groups with subtotal rows.
- Chart — bar (stacked with a pivot column or a second row dimension), line (best with a date grain), pie.
- Drill-down — click any number: a drawer lists the matching documents (or the documents
behind the obligations); the title links to the document
(
/org/papers/documents/…). Signature drill-downs list signer rows without a deep link.
Step 4 · Save, share, templates, export
Identical to the other builders: private saves with a Share with project toggle, Save as, a Templates menu, CSV download, and print-to-PDF. The ten templates are Documents by State, Documents by Month × Family, Document Value by Type, Expiry Timeline, Legal Hold Inventory, Obligations by Status, Overdue Obligations by Type, Obligations Due by Month, Signers by Status and Signing Turnaround by Month.
5. Field reference
| Dataset | Dimensions | Measures | Notable filters |
|---|---|---|---|
| Documents | State, Family, Document Type, Confidentiality, Legal Hold, Org-wide, Owner, Created By, Relation (original/amendment/renewal/addendum), Created / Expires / Last Reviewed date (with grain), Document # | Count of documents, Sum/Avg/Min/Max Document Value | Title contains, Live / In Force, any dimension |
| Obligations | Obligation Type, Status (open/done/missed/cancelled), Source (manual/AI-extracted), Overdue, Due date (grain), Owner (party), plus the document's State / Family / Type / Live | Count | Description contains |
| Signatures | Signer Status, Request Status, Signing Mode, Provider, Signer, Requested / Signed date (grain) | Count, Avg/Min/Max Signing Turnaround Hours | Any dimension |
Where the numbers come from
| Field | Source |
|---|---|
| Document Value | The type's currency fields summed out of the document's filled values, falling back to total / amount / contract_value — the same logic as Papers Analytics. Non-numeric values are ignored, never guessed. |
| Live / In Force | State is active / executed / finalized / signed |
| Overdue (obligation) | Due date passed and status still open |
| Signing Turnaround | signed_at − request created_at, in hours — signed signers only |
| Owner (obligation) | The document party the obligation is assigned to (which may be a counterparty, not a user) |
6. Worked example
Gatiro's CFO asks: "What contract value expires in the next two quarters, and is any of it on legal hold?"
- Open Templates → Expiry Timeline. It loads the Documents dataset with Expires (month grain) in Rows, and Expiring (count) and Value at Risk (sum of Document Value) as measures.
- Add filters Live / In Force = Yes, so drafts and rejected documents do not inflate the value, and Expires between 1 April and 30 September.
- Drag Document Type into Columns and Run. The table shows July at ₹2.4 crore, of which Distribution agreement is ₹1.9 crore.
- Click the ₹1.9 crore cell. The drawer lists three agreements, and one title links to DA-2026-012.
- Add Legal Hold as a second row dimension and run again. One ₹60 lakh agreement is on hold, so it cannot simply lapse.
- Save as Expiry exposure — H1, toggle Share with project, and export to CSV for the board
pack. The treasury system reads the same shared report through the public API with a
papers:report:readkey.
7. The admin contract
| Prerequisite | Without it |
|---|---|
| Open the Papers report builder, run reports, drill down and export results. | No access to the page |
| Show the Papers Reports sidebar entry. | No sidebar entry |
| Create, update, delete and share saved Papers report definitions. | Run and export only — no Save / Share / Delete |
| A selected project with Papers enabled | Only org-wide documents to report on |
| Types with lifecycle configs | State labels fall back to raw codes |
| Currency fields on type schemas (or total/amount/contract_value values) | Document Value reads zero |
| Obligations captured (manually or AI-extracted) | The Obligations dataset is empty |
8. Downstream
Read-only over Papers data. The only thing a report writes is its own saved definition. Shared
reports are also readable (and runnable) through the Orbit public API
(developers.<your-domain> — Orbit Papers → Papers Reports) with a key carrying the Papers
report read scope. Private reports are never exposed there.
9. Don't confuse this with…
| Screen | Route | Shows |
|---|---|---|
| Papers Report Builder (this page) | /org/papers/reports | Reports you compose, saved and shared |
| Papers Analytics | /org/papers/analytics | A fixed dashboard (cycle time, bottlenecks, win rate) |
| Documents list | /org/papers/documents | Individual documents, actionable |
| Obligations register | /org/papers/obligations | Individual obligations with reminders and task push |
| Task Reports | /org/tasks/reports | The same builder over tasks |
10. Troubleshooting
| Symptom | Cause |
|---|---|
A state shows a raw code like internal_review | That document's type has no lifecycle config — the label falls back to the code |
| Document Value is zero | The type schema has no currency fields and the document carries no numeric total/amount/contract_value |
| Value looks too high | The report has no Live / In Force = Yes filter — drafts and rejected documents are included |
| More documents than the project seems to have | Org-wide documents (no project) are included by design — filter Org-wide = No to exclude them |
| Obligation owner shows a company name | Obligation owners are document parties — counterparties can own obligations |
| Signing Turnaround is empty | The report includes unsigned signers — add Signed is not empty |
| Run is disabled | A report needs at least one row/column dimension and one measure |
| A filter seems ignored | It has no value yet — half-filled filters are skipped, not applied |
| A saved report is read-only | Shared by someone else — Save as makes your own copy |
Related
- Papers overview — the module tour
- Task Report Builder — the same builder over tasks