Appearance
Integrations
Integrations connect Rangefront Waste to accounting, calendars and automation tools. This page says what exists, what an administrator does in the console, and what still needs a developer.
You need integrations.manage for everything here.
What's supported
| Provider | Type | What it does |
|---|---|---|
| Xero | Accounting | Sends customers as contacts, sends invoices, imports payments, and sends and imports credit notes and refunds |
| QuickBooks Online | Accounting | Sends customers and invoices, imports payments, and handles credit memos and refund receipts |
| MYOB | Accounting | Sends customers and service invoices, imports payment allocations, and handles credit refunds |
| ServiceM8 | Field service | Imports customers, jobs, notes, schedule, photos and attachments, so you can run alongside it while you move over. Rangefront stays the compliance record |
| Tradify | Field service | CSV import and export of customers, jobs, invoices and price list items. There's no live link, because Tradify hasn't confirmed public API access |
| Google Calendar | Calendar | Publishes jobs and checks free/busy |
| Microsoft 365 | Calendar | Publishes jobs and checks free/busy |
| Zapier, Make | Automation | Receive events from outgoing webhooks and send signed events in |
| Custom webhook, CSV export | Automation, accounting | A signed webhook receiver, and a CSV export |
Accounting sync includes tax mapping, so GST lines land on the right tax rate in the accounting system.
What you can do in the console
Open Admin > Integrations. The Connections tab lists each connection with its status, direction and last sync. Choose a name to open it. Choose "New integration" to add one.
Add a connection
Pick the provider, name it, and for Xero, QuickBooks, MYOB, ServiceM8, Google and Microsoft enter the client ID and secret from the app you registered with that provider. They are stored encrypted and never shown again. Leaving them blank keeps what is stored. Entering new values adds to or replaces those values only, and keeps the sign-in tokens.
Register this redirect address with the provider: your site address followed by /api/v1/integrations/oauth/<provider>/callback (for Xero, xero). A provider's *_OAUTH_REDIRECT_URI setting overrides it. See install.
Other fields: direction, status, a webhook address for automation connections (it must be a public https address), settings and field mapping as one key=value per line.
Connect
Open the connection and choose "Connect". The provider opens in the same window. Sign in as the person who owns the accounting file and approve. You come back to Integrations with a message saying it worked, or why it did not. A sign-in link works once, expires after ten minutes, and fails if the person who started it has lost access to integrations.
"Disconnect" removes the tokens and tells the provider to revoke them where it supports that. Your client ID, secret and mapping stay, so you can connect again. Anything waiting to sync is cancelled.
For MYOB, after signing in, choose which company file invoices go to. Only cloud company files are supported.
Health
The connection shows its state, when the token runs out and the last error. Tokens renew themselves before they expire. "Reconnect needed" means the provider no longer accepts the connection, for example because access was revoked. A provider being briefly down does not mark a connection as broken. "Refresh token" renews it now.
Account and tax codes
For Xero, QuickBooks and MYOB the connection has an "Account and tax codes" section. It sets the account or item invoice lines post to, the default tax code, and a code for each tax rate (for example 10% and 0%). Xero also has credit note and refund accounts. Changes apply from the next sync.
Xero drafts
On a Xero connection, tick "Create invoices in Xero as drafts" in the connection's Edit sheet. Invoices then arrive in Xero as drafts, so you can check them, approve them and send them from Xero. Without it they arrive approved. QuickBooks and MYOB have no draft state for invoices, so the option is Xero only.
To stop Rangefront emailing invoices at all, turn on "Accounting system sends invoices" under Admin > Payments. See invoicing and payments. That switch also makes every Xero invoice arrive as a draft.
Sync now and history
"Sync now" runs one of the operations: send invoices, send customers, import payments, credit notes and refunds, import jobs, sync calendar, or test the connection. Pressing it twice while the same sync is waiting does not start a second one.
The history lists each run with how many records were checked, done and failed. A run with failures lists each record and why. "Retry" runs it again. Nothing on the scheduler starts accounting syncs, so a sync runs when someone starts it or when the provider tells Rangefront that a payment or invoice changed. For regular syncs, your developer can call the sync endpoint from a cron job.
You need integrations.manage for all of this. Without it the page is read-only.
Calendars
There are two ways to get jobs into a calendar.
Personal feeds. Every staff member has a private calendar feed: a link they subscribe to in Outlook, Google Calendar or Apple Calendar. It lists the jobs they lead or crew, from 30 days back to 90 days ahead, with the job number, type, customer name, site address and who else is on it. It leaves out phone numbers, access codes and hazard notes. Times show in the calendar's own time zone. Cancelled jobs stay on as cancelled, and drafts are left out.
Staff find their link under Admin > Calendar feed, and in Settings in the field app. "Reset link" switches the old link off and makes a new one, so use it if a link gets shared. A manager with staff permission can see whether someone has a link and switch it off from the staff sheet, but only the owner can see the link itself. The feed stops straight away when a person is deactivated. Calendars refresh on their own schedule, often every few hours, so changes are not instant.
Business calendar. The Google Calendar and Microsoft 365 connections publish jobs for the whole business to one shared calendar. Publishing into each technician's own Google or Microsoft calendar needs every person to connect their own account. That isn't built, which is why personal feeds exist.
Webhooks
The Webhooks tab sends a signed message to another system when something happens, such as an invoice sent or a job completed. It is how Zapier and Make receive events.
- New webhook: name, address, the events to send, retries and timeout, extra headers. Leave the signing secret blank and one is generated and shown once. Copy it then.
- Send test: sends a test event, even if the webhook is paused. A test is not retried.
- Rotate secret: makes a new secret, shown once. The old one stops working at once, so update the receiver straight away.
- Delivery log: each delivery with its response code, attempts and time taken. "Details" shows what was sent and the reply. "Redeliver" sends it again as a new delivery.
- Pause and resume, edit and remove are on the webhook.
Addresses must be public https addresses. Anything pointing inside a private network, such as localhost, 10.x.x.x, 192.168.x.x, link-local or cloud metadata addresses, or a name that resolves to one, is refused when you save and again just before every send. Redirects are not followed.
Failed sends retry with a longer wait each time, by default 1 minute, 5 minutes, 15 minutes, 1 hour and 6 hours, up to six attempts. Each webhook can set its own attempts and waits. Replying with any 2xx within the timeout counts as delivered.
Check the signature
Every request carries X-Rangefront-Event, X-Rangefront-Delivery, X-Rangefront-Timestamp and X-Rangefront-Signature. The signature is sha256= followed by the hex HMAC-SHA256, keyed with your secret, of the timestamp, the delivery ID and the raw request body joined by dots. Recompute it and compare, and refuse requests whose timestamp is more than five minutes old. Event names, payloads and the inbound receiver are in developer/api.md.
Payroll
Payroll export from timesheets to Xero or Deputy is planned and not built. Export the timesheet CSV instead. See time and costing.
Not integrations
Card payments, SMS and email services, and the phone agent are set up on their own pages: payments setup, SMS and email setup and AI setup.