Authorisation comes before data

A supported provider normally opens its own sign-in and consent flow. The user signs in with the provider, reviews requested permissions and chooses the organisation or account. The reporting app receives authorised access rather than the provider password.

Endpoints and pagination divide the source

Providers expose different endpoints for organisations, invoices, payments, accounts, journals and other records. Large results arrive in pages, so a pull must request the supported sequence until it is complete. One failed endpoint can leave a run partially complete even if others succeeded.

Rate limits and incremental checkpoints

Providers restrict request volume to protect their services. Quota may be shared with other apps connected to the same tenant. An incremental checkpoint can reduce repeated requests by asking for changes after a saved position, but only where the endpoint supports a reliable method.

A full re-pull remains useful for recovery and clean rebuilds but can consume more time, provider quota and plan allowance.

The reporting grain prevents duplicated totals

One invoice can have many lines and many payments. If the invoice total is repeated after a join to each line, SUM returns an inflated result. State the grain before creating the model: one invoice, one line, one payment, one account-date summary or one journal line.

From API records to a reporting model

Raw API records are valuable for traceability, but BI tools often work better with facts and dimensions. A fact records an event or measurement; a dimension describes the date, account, contact, item, owner or category used to group it. Relationships should normally connect dimensions to facts through validated one-to-many keys.

Verify every stage

  • Check provider organisation and reporting period.
  • Review endpoint completion and empty-result messages.
  • Compare raw, transformed and reported row counts where available.
  • Cross-check headline measures with a detailed table.
  • Keep client folders, connections and refresh timestamps separate.

Frequently asked questions

What is an API endpoint?

It is a defined provider route for a particular type of data or action, such as invoices, payments, deals or activities. Each endpoint may have different permissions, limits and pagination.

What is pagination?

It is the process of requesting a large result in multiple pages. A reliable pull continues until the supported endpoint indicates there are no more pages, while respecting rate limits.

What is a reporting grain?

It describes what one row represents, such as one invoice, one invoice line, one payment, one deal or one activity. Measures must be aggregated at a compatible grain.