Integrations

Uptick reporting: building the Monday MD pack from your job data

Uptick shows you jobs, routines and defect quotes, but your Monday pack also needs HubSpot wins and Xero cash. Here is how to get Uptick data out within its published rules, the joins that matter, and a sample pack built end to end.

By Simon DuttonLast reviewed

Most Uptick reporting questions start the same way. The ops team can see a great deal inside Uptick, but the Managing Director wants one page on Monday morning that also says what sales closed and what cash is stuck. That page needs data from three systems, and Uptick only holds one of them. This guide covers what Uptick already gives you, how to get its data out within the rules Uptick publishes, and how to join it to HubSpot and Xero so the pack builds itself.

What Uptick's own reports already cover

Before building anything, use what is there. Uptick's Insights and Reporting area lists dashboards across operations, finance, sales and technicians. The ones an MD pack leans on most:

  • Task Completion Dashboard: splits work into programme maintenance (I&T tasks) and non-programme work (repairs and callouts), with a rolling table of routines due in month, done in month, done outside month and not done. Uptick's article on it notes that archived tasks are excluded from every view.
  • Revenue Report and Task Profitability: pivot invoice data by client, branch, service group, cost centre and technician.
  • Work in Progress (WIP): task progression and costs, exportable daily, weekly or monthly.
  • Defect Quoting: quote creation, approval rates and conversion.

Uptick says most of these reports can be exported, and filtered lists such as properties can be downloaded as CSV. For a single-system question ("how did Bristol do on routines last month?") an Uptick dashboard is the right answer. The gap appears when a line in the pack depends on a record that lives somewhere else.

Where the Monday pack outgrows Uptick dashboards

Three questions come up every week that no single system answers:

  1. Did what sales won turn into work? The deal is in HubSpot. The billing contract and routines that generate visits are in Uptick. A won deal with no contract behind it means no routines, and so no revenue.
  2. Has finished work been billed? Task completion is in Uptick. Whether the customer owes you is in Xero.
  3. Are remarks becoming revenue? Remarks (Uptick's term for a defect found on an asset, per its glossary) only matter commercially once a defect quote is sent and approved.

Each of these is a join. Copying CSVs into a spreadsheet every Monday works until someone is on holiday, and a pasted extract has no memory of what last week said.

Getting Uptick data out: API, exports and the fair use rules

Uptick's API overview describes a REST API extended with the JSON:API spec, at <customer>.onuptick.com/api/v<version>/<endpoint>/. Every endpoint answers an OPTIONS request with its field metadata, most fields can be filtered, and an updatedsince filter returns only records changed since a timestamp. Cursor pagination is recommended for syncs. Credentials are a client ID and secret created under Control Panel > Uptick API (getting started).

The rule that matters most for reporting is in Uptick's API Fair Use Policy: syncs into warehouses, BI tools or reporting databases must use the Uptick connector for Airbyte, and custom scripts that bulk-export data for BI are not permitted. Each integration needs its own credentials, the workspace is capped at 200 requests a minute on Standard or 600 on Enterprise, and full datasets should not be re-downloaded on a schedule. Uptick's Airbyte guide also says you cannot point a BI tool straight at the API. Plan the pipeline around that from day one.

The Airbyte Uptick source page lists the available streams. All but one sync incrementally on the updated field, and only twelve, including tasks and remarks, carry a deleted timestamp. The rest need a full refresh, or deleted rows linger in your copy.

The data model behind the pack

Stream names below are from that Airbyte page. Attribute names inside each record vary by API version, so confirm them with an OPTIONS call on your own workspace rather than copying ours.

Sources and fields

System Stream or object What the pack uses
Uptick routineservices, routines Due month, completion date, outcome
Uptick tasks, taskcategories Status, category (I&T, repair, callout), completed date, property
Uptick invoices, invoicelineitems Invoice number, line subtotal, the task each line bills
Uptick remarks, defectquotes Raised date, severity, quote status, quote value
Uptick billingcontracts, clients, properties, branches Contract start, client, property ref, branch
HubSpot Deals dealname, dealstage, amount, closedate, associated company
Xero Invoices Invoice number, due date, amount due, status

Joins

From To Key Watch for
Uptick task Uptick invoice line Task link on the line item A task with no line is unbilled
Uptick routine service Uptick branch Via task and property Properties moved between branches mid-year
HubSpot company Uptick client A shared client reference you store on both Name matching fails on "Ltd" vs "Limited"

Formulas

Pack line Formula
Routine on-time rate routine services done in month ÷ routine services due in month
Completed, not invoiced sum of task value where status is complete and no invoice line links to the task
Defect quote approval approved defect quotes ÷ defect quotes created in the week
Won but not set up sum of HubSpot amount where dealstage is closed won and no Uptick billing contract exists for that client
Overdue share Xero amount due past due date ÷ total amount due
Larchmont Fire & Security (fictional)

Monday 2 Nov 2026 · w/c 26 Oct

MD pack from Uptick, HubSpot and Xero

Routines mostly on time.
Bristol’s quotes are stuck.

131 of 157 October routine services done in month. Six of Bristol’s eight defect quotes are still drafts.

Routine services on time
83.4%
131 of 157 in October 2026
Completed, not invoiced
£9,165
20 tasks, 16 over 14 days
Defect quotes approved
6 / 32
£4,640 approved last week
Overdue in Xero
£54,120
53.5% of receivables

Routine services due in October 2026

Done in month ÷ due in month, by branch

  • Leeds55 / 64 · 85.9%

    2 done outside month · 7 not done

  • Birmingham46 / 52 · 88.5%

    1 done outside month · 5 not done

  • Bristol30 / 41 · 73.2%

    2 done outside month · 9 not done

Remarks to defect quotes, last week

Remarks raised and defect quotes by status, per branch
BranchRemarksQuotedDraftSentApproved
Leeds23140104 · £3,315
Birmingham1710181 · £860
Bristol148611 · £465

Completed in Uptick, not yet invoiced: oldest six

Oldest completed tasks with no invoice line
TaskCategoryBranchAgeValue
T-30413RepairLeeds39d£795
T-30414RepairLeeds38d£455
T-30418I&TBirmingham37d£695
T-30412CalloutLeeds36d£375
T-30415I&TLeeds36d£685
T-30427RepairBristol33d£900

For the MD this week

Two wins have no contract in Uptick.

Sales closed 4 deals worth £37,500 in HubSpot. 2 of them, £12,900, have no billing contract in Uptick yet, so no routines will be generated for them.

  • Wrenfield Estates: 3-site PPM£18,400 · Set up
  • Ashgrove Hotel: alarm + lighting£6,200 · Set up
  • Riverside Data Hall: suppression£9,750 · Missing
  • Elmstead libraries: extinguishers£3,150 · Missing

Receivables in Xero

£54,120 overdue of £101,175 (53.5%)

Receivables by age bandNot yet due: £47,055; 1–30 days overdue: £35,945; 31–60 days overdue: £14,375; 61+ days overdue: £3,800
  • Not yet due£47,055
  • 1–30 days overdue£35,945
  • 31–60 days overdue£14,375
  • 61+ days overdue£3,800

Monday priorities

  1. 01

    Send Bristol’s six draft defect quotes.

    Owner: Bristol branch manager

  2. 02

    Set up billing contracts for the two missing wins.

    Owner: Sales admin

  3. 03

    Invoice the 16 tasks completed over 14 days ago (£7,795).

    Owner: Finance

Field map: where each line comes from

Uptick stream names as listed for the Airbyte Uptick source

Pack lineStreamsFields usedJoin
Routine on-time rateroutineservices, tasks, branchesdue month, completion date, outcome, branchroutine service → task → property → branch
Completed, not invoicedtasks, invoicelineitemstask status, completed date, task valuetask id ← invoice line item task link (none = unbilled)
Remarks to defect quotesremarks, defectquotesraised date, severity, quote status, quote valueremark → defect quote → property
Won but not set upbillingcontracts, clients + HubSpot dealsdeal stage, amount, close date; contract startHubSpot company → Uptick client (shared client reference)
Overdue debtXero invoicesdue date, amount due, statusNone: read straight from Xero

Inputs: Uptick + HubSpot + Xero

Illustrative, fictional data

Illustrative, fictional data. A sample pack for a made-up contractor, not customer results or a live product screenshot.

Worked example (illustrative, fictional)

Larchmont Fire & Security is a made-up contractor with branches in Leeds, Birmingham and Bristol. Its pack for Monday 2 November 2026 works like this.

Routine on-time rate, October. Leeds had 64 routine services due and did 55 in month (55 ÷ 64 = 85.9%). Birmingham did 46 of 52 (88.5%). Bristol did 30 of 41 (73.2%). The business figure is the sum of the counts, not the average of the three percentages: (55 + 46 + 30) ÷ (64 + 52 + 41) = 131 ÷ 157 = 83.4%. Averaging the branch percentages would give 82.5% and overweight Bristol's smaller book.

Defect quotes, last week. Bristol raised 14 remarks and created 8 defect quotes, but 6 are still drafts, 1 is sent and 1 is approved (£465). Across all branches, 6 of 32 quotes were approved, worth £3,315 + £860 + £465 = £4,640.

Won but not set up. HubSpot shows four deals closed won: £18,400 + £6,200 + £9,750 + £3,150 = £37,500. Two clients, Riverside Hosting (£9,750) and Elmstead Borough Libraries (£3,150), have no Uptick billing contract, so £12,900 of won work has no routines behind it yet.

Cash. Xero holds £101,175 of receivables: £47,055 not yet due, £35,945 at 1–30 days, £14,375 at 31–60 days and £3,800 over 60 days. Overdue is £35,945 + £14,375 + £3,800 = £54,120, which is 53.5% of the total.

Unbilled. Twenty completed tasks have no invoice line, worth £9,165. Sixteen of them, £7,795, finished more than 14 days ago. For the full ageing method, see the unbilled jobs report.

The pack's three priorities follow straight from those numbers: send Bristol's drafts, set up two contracts, invoice sixteen old tasks.

What breaks Uptick numbers in a pack

  • Status names are configured by Uptick, not by you, according to its Control Panel guide. Map them once in the warehouse and test the mapping when Uptick publishes API patch notes.
  • Archived tasks drop out of Uptick's dashboard but may still be in your synced data. Decide which view the MD sees and say so on the page.
  • Deleted records only flow through on the twelve streams that expose them. Contracts and invoices need a full refresh.
  • Overnight accounting sync means a Monday 7am pack reflects Xero as of the previous night's run.

For the wider question of which twelve measures belong on a weekly page, see field service KPIs. For the compliance side of routines, see the PPM compliance report template.

Automating the pack with IVP.ai

The IVP.ai Data Layer lands Uptick, HubSpot and Xero in one governed warehouse, keeps the joins and formulas above as tested definitions, and runs the pack as a report or agent every Monday. Uptick data comes in through the route Uptick's fair use policy sets for reporting syncs, using its own credentials. Deskless by IVP.ai can then chase the exceptions, such as a won deal with no contract, rather than leaving them on a page.

A national fire safety and security company did this with HubSpot, Uptick and its finance spreadsheets and now saves 10+ hours a week on reporting (case study). More on the platform and on field service reporting.

To see your own pack, start a free 48-hour build: we connect up to three sources, clean the data and have one report or agent running on your real data within 48 hours of read-only access. You get 14 days of access, then choose a plan or walk away.

Questions

Frequently asked questions

Can I export reports from Uptick?

Yes. Uptick's help centre says most reports in Insights and Reporting can be exported, the Work in Progress report can be exported daily, weekly or monthly, and filtered lists such as properties have a Download button that produces a CSV. That suits one-off analysis. For a pack that refreshes every week, a scheduled sync into a reporting database is more reliable than downloading files by hand.

Can I connect Power BI or another BI tool directly to Uptick?

Not directly. Uptick's guidance is that BI tools generally cannot authenticate and paginate securely against its API, and its fair use policy says reporting syncs into warehouses, BI tools or reporting databases must go through the Uptick connector for Airbyte. Hand-built bulk export scripts are not permitted. Sync into a database first, then point the BI tool at that.

Does Uptick have an API?

Yes. Uptick documents a versioned REST API that follows the JSON:API spec, reached at your workspace address under /api/. Credentials are a client ID and secret created in Control Panel > Uptick API. Endpoints support filtering, an updatedsince filter for incremental changes and cursor pagination. Request rates are capped per workspace, at 200 a minute on Standard and 600 on Enterprise.

How do I join Uptick data to HubSpot and Xero?

Pick one key per pair and keep it clean. HubSpot companies and Uptick clients rarely share an ID, so store a common client reference on both records instead of matching names. For cash, read receivables straight from Xero rather than joining them back to Uptick. If you do need to link an Uptick invoice to its Xero copy, check how your accounting sync connects them first; don't assume the numbers match. Do the joins in a warehouse, test them weekly and report any records that fail to match.

About the author

Simon Dutton

Simon has more than 10 years of experience as a data scientist, working with start-ups, SMEs, Google and the CMA.

Last reviewed 5 November 2026.

Your first report or agent in 48 hours.

Tell us which systems feed it. We connect them, clean the data and set the report running automatically. If it isn’t useful, walk away.