Welcome to ProField
ProField is a field-service platform built for Australian tradies — scheduling, dispatch, quotes, invoices, and a mobile worker portal that runs from the ute.
What is ProField?
A single place to run the jobs side of a tradie business. From the time a customer rings you for a quote to the moment they tap "Pay Now" on an invoice, every step happens inside ProField. No spreadsheets, no separate scheduling tool, no chasing photos in WhatsApp.
What can I do in ProField?
- Schedule jobs on a drag-and-drop weekly board that factors in travel time between sites.
- Send quotes with line items for labour and parts, and have customers accept them with a click.
- Dispatch to your team with a mobile worker portal that shows today's jobs, captures photos, and collects on-site signatures.
- Send invoices with a "Pay Now" button that takes card payments via Stripe, or use BPAY / PayID / bank transfer.
- See usage at a glance on the My Account dashboard — storage, AI tokens, emails, Google API calls.
How this documentation is organised
The left navigation mirrors the admin sidebar in the app — Customers, Quotes, Field workers, and so on. If you're stuck on a screen in ProField, find the matching item in the docs nav to jump straight to it.
profield.com.au/docs#dashboard if you find yourself returning to a specific
page often, or share the link with your team.
New here? Start with these
Setup overview
ProField walks you through six setup steps the first time you sign in. Four are required before the rest of the app makes sense; two are optional.
The setup checklist
The checklist lives at the top of My Account until everything required is done. It also appears on the Dashboard for brand-new accounts. As you complete each item, the progress bar fills and the card greys out.
| Step | Required? | What it does |
|---|---|---|
| Business profile | Yes | Sets your business name, ABN, and address — appears on quotes and invoices. |
| Account settings | Yes | Working hours, GST, invoice numbering format. |
| Field workers | Yes (or skip if solo) | Invite your team. Tick "I work alone" on the profile to make this step optional. |
| Materials catalogue | Yes | Set up parts & labour items so workers can add them on-site. |
| Connect Stripe | Optional | Accept card payments via "Pay Now" on invoices. |
| Add a customer | Optional | Get your first record in so you can create a quote or job. |
How long does setup take?
Plan on 20–30 minutes for the four required steps. Stripe Connect adds another 10–15 minutes (you'll be redirected to Stripe for ID verification). Adding the first customer is a couple of minutes.
Set up your business profile
The business profile is the legal and contact identity of your business — it's what customers see on quotes and invoices.
Open the business profile
- Sign in to /admin.
- Click your name at the top right, then Business profile — or go straight to /profile.
What to fill in
- Business name — as it should appear on documents.
- Business type — Company, Sole Trader, or Not Registered.
- ABN — required to show on tax invoices in Australia.
- Description of business activities — used when you connect Stripe (Stripe asks for it).
- Business address — start typing and pick from Google's address suggestions; city, state and postcode auto-fill.
- Are you the admin user? — Yes for an owner. Selecting No is for field workers self-onboarding via an invite link.
- Do you have team members? — Yes lets you add invitee emails on the same form. No marks the field-workers setup step as optional.
Invite team members
If you ticked "Yes" for team members, an Add team member panel appears. Enter each email and click Save. Invited workers receive an email with a one-time link to set up their worker profile. See Invite a worker for the full flow.
Related
Set up account settings
Working hours, GST and invoice numbering. Set these once, change rarely.
Open settings
In the admin sidebar, click Settings — or go to /admin#/settings.
Working hours
Sets the start and end of your business day. The Schedule board respects these — empty slot clicks default to a job starting at "next half-hour during working hours", and the chevron buttons skip across non-working hours.
GST
Choose whether your prices are GST-inclusive. Most Aussie tradies are GST-registered and prices are inclusive by default. This setting controls how quotes and invoices are labelled and how line item totals are computed.
Invoice numbering
Choose a prefix and starting number for invoice numbers. e.g. prefix INV-,
start at 1001 → first invoice will be INV-1001. Numbers are sequential and
never reused. You can set this only once — to change it after invoices have been sent,
contact support.
Related
Invite field workers
Add the tradies in your team. Each one gets an emailed invite to set up their own worker portal on a phone.
Why invite workers?
Field workers can only see jobs they're assigned to, and only via the worker portal at /worker. They can't reach the admin app. Their portal is mobile-first — designed to be used one-handed on a phone next to a job.
How to invite
- Go to Field workers in the admin sidebar.
- Click + New field worker.
- Enter their email and (optional) name. Save.
- An invite email is sent with a one-time link. The worker clicks it, signs in with Google / Microsoft / Facebook, and completes the onboarding wizard.
Working solo?
If you don't have a team, tick No on the "Do you have team members?" question in your business profile. The Field workers setup step then becomes optional and the checklist completes without it.
Related
Set up the materials catalogue
Pre-load the parts and labour items you charge for so workers can pick from a list on-site instead of typing prices from memory.
Why use the catalogue?
- Workers tap a part name on their phone instead of typing it.
- Prices stay consistent across jobs — no "did I charge $80 or $90 last time?".
- Margins improve because workers don't undershoot the price.
Add catalogue items
- Go to Materials.
- Click + Add item.
- Enter name, default unit cost (incl. GST), and unit (each, hour, metre, etc.).
- Set the type — Part for goods, Labour for time.
- Save.
Related
Connect Stripe
Stripe lets your customers pay invoices with a card via a "Pay Now" button. Money goes straight to your bank, not via ProField.
Why connect Stripe?
- Faster payment. Customers can tap "Pay Now" on the invoice email.
- No double entry. Paid invoices auto-mark as paid in ProField.
- Your money. Funds settle into your nominated bank account — ProField never touches them.
How to connect
- Go to Settings.
- In the Payment settings card, click Connect Stripe.
- You're redirected to Stripe's onboarding (Stripe Connect Express). Stripe asks for your ABN, business address, bank account, and ID for the controlling person.
- Complete the form. Stripe usually approves accounts in minutes — sometimes longer for verification.
- You're redirected back to ProField. Your "Pay Now" button is now live on new invoices.
Fees
Stripe charges its standard processing fee (around 1.7% + $0.30 for Australian cards). On top of that, ProField charges a small platform fee — 1.0% on Starter, 0.5% on Pro — to keep the service running. Both fees are taken off the top of each transaction before it lands in your bank.
Related
Add your first customer
A customer record is the anchor for everything else — quotes, jobs, invoices and photos all hang off a customer.
How to add
- Go to Customers.
- Click + New customer.
- Pick Residential (a person) or Commercial (a business).
- For commercial, fill in company name and primary contact. For residential, name and mobile are usually enough.
- Add the primary address using the autocomplete.
- Save.
See Add a customer for full detail on every field.
Dashboard
The dashboard is the daily-driver page — a quick view of where your business is right now and what needs attention today.
Open the dashboard
Click Dashboard in the admin sidebar — or go to /admin#/dashboard. This is also where you land after sign-in.
Trial banner
If you're on the free trial, a banner at the top shows how many days remain and a Subscribe to Starter / Subscribe to Pro button. The banner turns warning-coloured at 2 days remaining, red at 0 days.
Setup checklist
Brand-new accounts see the setup checklist at the top of the dashboard. It auto-hides once all required steps are done. See Setup overview.
Stat cards
The dashboard shows live counts of:
- Customers — total active customer records.
- Field workers — accepted workers in your team.
- Vehicles — fleet vehicles registered.
- Open jobs — jobs not yet completed.
- Open quotes — quotes not yet accepted or converted.
Each card is a deep link — click Customers to jump to the customer list, and so on.
Task notifications
New tasks appear with a soft chime + toast in the top-right (e.g. when a field worker finishes onboarding and needs your review). The Tasks badge in the sidebar shows the open count. See Tasks.
Customers
A customer is the person or business you do work for. Everything else — quotes, jobs, photos, invoices — attaches to a customer.
In this section
- Browse customers — searching, sorting, filters.
- Add a customer — residential vs commercial, primary contact.
- Sites & addresses — multiple service addresses per customer.
- Edit or delete — soft delete and recovery.
Residential vs commercial
Residential customers are individuals — first name, last name, mobile, one address. Commercial customers are businesses — company name, ABN, primary contact person, billing address that may differ from site addresses.
Browse customers
The customer list shows every active customer, sortable and searchable.
Open the list
Click Customers in the admin sidebar.
Search
The search box matches against name, mobile, email, and primary site address. Searches are live — type and results filter as you go.
Sort
Click any column header to sort. Click again to reverse. Default sort is by Created date, newest first.
Columns
- Name — residential first/last, or commercial company name.
- Type — Residential or Commercial.
- Contact — primary contact for commercial; mobile/email for residential.
- Primary address — first site address.
- Active jobs — count of jobs not yet completed.
Add a customer
Create a customer record so you can quote and schedule work for them.
How to add
- Click Customers in the admin sidebar.
- Click + New customer.
- Pick Residential or Commercial.
- Fill in the form (see below).
- Save.
Residential fields
- First name, last name (required)
- Mobile (recommended — used for SMS notifications)
- Email (optional — used for invoice and quote emails)
- Primary address — Google address autocomplete
- Notes — anything useful (gate code, dog, preferred contact time)
Commercial fields
- Company name (required)
- ABN (optional — appears on tax invoices)
- Primary contact — name, role, mobile, email
- Billing address — where the invoice gets sent
- Primary site address — where work happens (may equal billing or differ)
Address autocomplete
Start typing in the address field. Google suggests Australian addresses as you go. Click a suggestion to fill suburb, state, and postcode automatically.
Customer sites & addresses
Many customers have more than one address. Sites let you keep them all on the same customer record without creating duplicate customers.
Primary site vs additional sites
Every customer has a primary site — the address you entered when you created them. Commercial customers can have additional sites for each location they want work done.
Add an additional site
- Open the customer's detail page (click their name in the list).
- In the Sites section, click + Add site.
- Give the site a label (e.g. "Warehouse"), and enter the address.
- Save.
Picking a site on a job or quote
When you create a quote or job for a multi-site customer, you'll get a dropdown to choose which site the work is for. The chosen site address flows through to schedule, worker portal directions, and the invoice.
Edit or delete a customer
Edit
- Open the customer detail page.
- Click Edit.
- Update fields and Save.
Delete (soft delete)
Deleting a customer doesn't wipe their data — it hides them from the active list and prevents new jobs from being created. Existing jobs, quotes, and invoices remain accessible for record-keeping.
Quotes
Send the customer a quote with line items, have them click to accept, and convert the accepted quote straight into a scheduled job.
Quote lifecycle
- Draft — you're still editing.
- Sent — emailed to the customer with a public-accept link.
- Accepted — customer clicked "Accept" on the public page.
- Converted — turned into a scheduled job.
- Declined / Expired — terminal states.
In this section
Create a quote
From scratch
- Go to Quotes and click + New quote.
- Pick a customer (or click + New customer to add one inline).
- Pick the site (if the customer has more than one).
- Add line items — for each: name, quantity, unit cost. Pick from the materials catalogue or type ad-hoc.
- Add an optional intro note shown above the line items on the customer-facing page.
- Save as draft, or Send to email it.
From a schedule slot
On the Schedule board, click an empty time slot. You'll get a "Quick quote" dialog that pre-fills the date/time. Pick a customer, add line items, and save. The quote is created and pinned to the schedule.
GST
If your account has GST enabled, line item prices are GST-inclusive. The quote total breaks out the GST portion at the bottom.
Send a quote to a customer
How to send
- Open the quote.
- Click Send.
- Confirm the customer's email. (Add or update it on the customer record if missing.)
- Send.
What the customer sees
A branded email with a button that opens a public quote page (no sign-in required). The page shows the line items, total, your business details, and an Accept button. When they accept, the quote moves to the Accepted state in your account.
Declined or no response
Quotes expire after 30 days. You can manually mark a quote as declined from its detail page. Expired quotes can be re-opened (resets the 30-day window).
Convert a quote to a job
How to convert
- Open the accepted quote.
- Click Convert to job.
- Set the job start date/time and duration.
- Assign one or more field workers.
- Save.
What carries over
All line items (parts and labour), the customer, the site, and the quoted amount carry over to the job. The job's Quoted Amount is locked at conversion — even if workers add extra parts on-site, the customer-facing quote total stays.
Field workers
The team that does the work. Each field worker has their own portal for seeing today's jobs, updating status, capturing photos and adding parts.
In this section
Plan capacity
Trial: up to 3 workers. Starter: up to 10. Pro: unlimited. If you hit the limit, the + New field worker button is disabled with a tooltip explaining why.
Invite a worker
How to invite
- Click Field workers in the admin sidebar.
- Click + New field worker.
- Enter the worker's email and (optional) name.
- Save.
The worker receives an invite email with a one-time link.
What happens after they sign up
When they sign in for the first time, they complete a short onboarding wizard (see Worker self-onboarding). When they finish, a task is created for you to review and approve their profile. You'll hear a soft chime and see a toast in the top-right of the admin app.
Resend an invite
Open the worker's row in Field workers and click Resend invite. The previous link is invalidated.
Worker self-onboarding
What a newly invited worker fills in on their phone before they can be scheduled.
The wizard steps
- Sign in with Google, Microsoft or Facebook.
- Personal details — first name, last name, mobile, date of birth.
- Emergency contact — name and mobile.
- Default start location — Home or Office. Used to calculate travel time on the schedule board.
- Qualifications — licences (electrical, plumbing, etc.) with expiry dates. Optional but recommended for audit.
Admin review
When they finish, a task lands in your queue: "Review onboarding — <name>". Open the task, check their details, and approve. Until you approve, they can't be assigned to jobs.
Worker profile
The profile holds the worker's details, qualifications and default start location. Workers can edit their own; admins can edit anyone's.
Fields
- Name, email, mobile, DOB, emergency contact — basics.
- Default start location — Home or Office. Affects travel-time calculations.
- Status — Pending / Active / Suspended. Set Suspended to remove from scheduling without deleting history.
- Qualifications — licences with expiry dates.
Suspending a worker
Open the worker's detail page and change Status to Suspended. They keep access to their past jobs for record-keeping but can't be assigned to new ones and won't appear on the schedule board.
Fleet
Vehicles you can assign to jobs. Optional — only use this if you're tracking vans/utes by rego.
Add a vehicle
- Click Fleet in the sidebar.
- Click + New vehicle.
- Enter rego, make / model, and optionally the worker it's usually with.
- Save.
Assign a vehicle to a job
Open the job, click Edit, and pick a vehicle from the dropdown. Useful for fleet logs but not required.
Materials
A pre-loaded catalogue of parts and labour items that workers can pick from on-site instead of typing prices.
Add a catalogue item
- Click Materials.
- Click + Add item.
- Type: Part (a good) or Labour (an hour, half-hour, etc).
- Name, default unit cost (incl. GST), unit (each, hour, metre, etc.).
- Save.
Edit a price
Open the item and update the unit cost. Existing line items in past jobs / quotes are unchanged — the new price only affects future picks.
Delete an item
Soft delete only. The item disappears from the picker but past line items keep their data.
Jobs
A job is a piece of work you do for a customer — scheduled, executed by field workers, then invoiced.
Status flow
| Status | When it's set |
|---|---|
| Scheduled | Job is created or converted from a quote. |
| InProgress | Worker taps Start on the worker portal. |
| Paused | Worker taps Pause (lunch break, parts run, etc.). |
| Completed | Worker taps Complete and customer signs. |
| Invoiced | Admin clicks Generate invoice on the completed job. |
| Paid | Stripe webhook (or admin manual mark-as-paid). |
| Cancelled | Admin cancels before completion. |
In this section
Create a job
From scratch
- Click Jobs in the sidebar.
- Click + New job.
- Pick the customer and site.
- Set start date/time and duration.
- Assign one or more field workers.
- (Optional) Add line items or set a Quoted Amount.
- Save.
From a quote
From the schedule
Click an empty schedule slot and follow the Quick-quote flow, then convert.
Assign workers to a job
How to assign
- Open the job.
- In the Assignments card, click + Add worker.
- Pick the worker. Set start time and duration (defaults to the job's).
- Save.
Multi-worker jobs
A job can have multiple workers. Each gets their own line on the schedule board and their own card on the worker portal — useful for two-person installs.
From the schedule board
Drag a job block from one worker's row to another to reassign. See Drag to reschedule.
Photos
Workers can upload before-and-after photos from the worker portal. Photos are timestamped and attached to the job.
How workers capture photos
On the job-detail screen of the worker portal, tap + Photo. The phone opens its camera or photo library. Workers can capture multiple photos and add a caption to each. Photos save to blob storage and appear on the job in real time.
Where to view photos
Open the job in admin → Photos tab. Click any thumbnail to open the full-size image.
Storage
Photos count against your File & image storage quota — 200 MB on Trial, 10 GB on Starter, 25 GB on Pro. Need more? Buy a +10 GB add-on pack. See Capacity add-ons.
Signatures
Capture a customer signature on the worker's phone at job completion. The signature is stored as an image and appears on the invoice.
How signatures work
- Worker taps Complete job in the worker portal.
- A signature dialog opens.
- Customer signs on the phone screen with their finger.
- Worker taps Confirm. The signature is attached to the job and the customer is shown the total.
If the customer isn't there
The worker can skip the signature — the job still completes. The invoice prints without a signature line. Useful for after-hours fixes or maintenance call-outs.
Complete a job & invoice the customer
Worker completion
When the worker taps Complete, the job moves to Completed status. Any line items they added on-site are locked in. Photos and signature attach.
Generate the invoice
- Open the completed job in admin.
- Click Generate invoice.
- Review the line items and total.
- Click Send to email the customer-facing invoice.
Customer pays
The customer gets an email with a button to the invoice page. If you've connected Stripe, they can tap Pay Now; otherwise they see your manual payment options (BPAY / PayID / bank transfer).
Paid invoices auto-mark in ProField via the Stripe webhook. For manual payments, mark the invoice paid from its detail page.
Invoices
Once a job is completed, you can generate an invoice and send it to the customer. They get a public invoice page where they can pay (card / BPAY / PayID / bank).
Invoice list
Click Invoices in the sidebar to see every invoice. The list shows number, customer, total, status (Sent / Paid / Overdue), and a deep link to the public page.
In this section
Invoice numbering
Set the prefix and starting number in Settings. Numbers are sequential and never reused.
Pay Now (card)
The fastest way to get paid — customer taps a button, enters a card, money lands in your bank within a day or two.
Prerequisites
Connect Stripe first — see Connect Stripe.
How it works
- You send the invoice from a completed job.
- Customer receives an email with the invoice link.
- They tap Pay Now.
- Stripe Checkout opens, prefilled with the invoice total.
- They enter card details and confirm.
- Stripe captures payment, sends a receipt, and notifies ProField via webhook.
- The invoice and job auto-update to Paid.
Fees deducted
Stripe takes its processing fee. ProField takes a small platform fee (1.0% Starter, 0.5% Pro). What lands in your bank = total − fees.
Manual payment methods
If you'd rather not take cards, ProField supports BPAY, PayID and bank transfer. You enter the details once, and they appear on every invoice.
Set them up
- Go to Settings.
- In the Payment settings card, fill in BPAY biller code & reference, PayID handle, and bank details.
- Save.
What the customer sees
The public invoice page shows whichever methods you've entered, with a "Copy" button for BPAY refs and bank account numbers.
Mark paid
When the money lands in your bank, open the invoice and click Mark as paid. The job status flips to Paid.
Schedule
A drag-and-drop weekly board showing every job assignment, with travel-time warnings between consecutive stops.
Rows and columns
Each row is a field worker. Columns are days. Each block is a job assignment, positioned by start time and sized by duration. Click a block to open the job.
Navigation
- Chevron buttons at the top — jump a week back or forward.
- Date picker — jump to a specific week.
- Today button — snap back to today.
In this section
Drag to reschedule
Reschedule within a worker
Click and drag a block left/right or up/down within the same row. Release to save the new time.
Reassign to a different worker
Drag a block from one worker's row to another. The job's worker assignment updates and the new worker sees it on their portal.
Undo
A toast appears at the bottom with an Undo button after every move. Auto-dismisses after 8 seconds.
Travel time & conflicts
ProField calculates the driving time between consecutive stops and warns you when there isn't enough.
How it works
For each pair of consecutive jobs on the same worker's day, ProField calls Google Distance Matrix to get the typical drive time. If the gap between job 1's end and job 2's start is less than the drive time, the second job's block gets a red border + a tooltip showing how much time is missing.
Home / Office travel legs
The first job of the day shows a travel leg from the worker's default start location (Home or Office). The last job shows a leg back home. These help you spot days where the worker starts or ends too far from base.
Google API usage
Each unique pair of addresses calls Google once and the result is cached. Long days with repeated stops use very few calls. See your remaining Google API budget at My Account → Usage.
Tasks
A built-in to-do list of things ProField wants you to action — usually new worker onboarding reviews and configuration warnings.
What creates a task?
- Worker onboarding — a new worker finished the wizard and needs your approval.
- Worker configuration warning — a worker is missing required fields (DOB, emergency contact) and is assigned to a job.
- Plan capacity warning — you're within 10% of a quota.
- Payment failed — a customer's invoice payment failed.
Open the task list
Click Tasks in the sidebar. The number badge shows open task count. Click a task to see the details and the action button (Approve / Fix / Dismiss).
Notifications
New tasks trigger a soft chime + toast in the admin app (assuming you've clicked something on the page — browsers block audio without a prior user gesture). Tasks refresh every 20 seconds while the tab is in focus.
My Account
A single page that shows your plan, current usage, capacity add-ons, and upgrade / downgrade controls.
Open My Account
Click My Account in the sidebar — or go to /admin#/my-account.
In this section
Plan card
What it shows
Current plan name (Trial / Starter / Pro), monthly price, plan description, and the subscription start date. Plus action buttons depending on your state.
Buttons by state
| State | Buttons |
|---|---|
| Trialing | Subscribe to Starter, Subscribe to Pro |
| Active — Starter | Upgrade to Pro, Manage billing |
| Active — Pro | Manage billing, Downgrade to Starter |
| Pending upgrade | Pay $X — complete upgrade, Cancel upgrade |
| Pending downgrade | Cancel scheduled downgrade, Manage billing |
| Past due / canceled | Manage billing (resolve payment) |
Manage billing
Opens the Stripe customer portal where you can update card, view billing history, download invoices, and cancel the subscription entirely.
Usage meters
Doughnut charts showing what you've used this month vs your plan entitlement.
Metrics tracked
- Database storage — total SQL data (customers, jobs, quotes, etc.). Live snapshot, not monthly.
- File & image storage — photo / signature blob storage. Live snapshot.
- Google API calls — per month, resets on 1st.
- Emails sent — per month, resets on 1st.
- AI tokens — per month, resets on 1st.
Threshold colours
- Green — under 80% of entitlement.
- Orange — 80–100%.
- Red — over 100% (unsupported on free trial; on paid plans the next call/email may be blocked until you buy an add-on).
To raise a limit, buy an add-on (see Capacity add-ons) or upgrade the plan.
Capacity add-ons
Top up specific capacities without changing your plan. Five add-on packs available.
Available packs
| Pack | Price / month | Capacity added |
|---|---|---|
| +10 GB database storage | A$10 | 10 GB of customer / job / quote data |
| +10 GB file & image storage | A$10 | 10 GB of blob storage for photos and signatures |
| +500K AI tokens | A$15 | 500,000 extra AI tokens per month |
| +1,000 emails | A$5 | 1,000 extra outbound emails per month |
| +10,000 Google API calls | A$10 | 10,000 extra Places / Maps / Distance Matrix calls per month |
Buy a pack
- Go to My Account.
- Scroll to the Capacity packs section.
- Click + Add on the pack you want.
- Stripe captures the charge against your subscription. The pack activates instantly.
Stack packs
You can add multiple of the same pack — 3 × +10 GB = +30 GB. Each unit bills separately.
Remove a pack
Click Remove on an active pack. It's removed from your subscription immediately and you stop being billed. If your current usage exceeds what's left after removal, the remove button is blocked with a tooltip explaining why.
Upgrade plan
Move from Starter to Pro for more capacity, unlimited workers, reduced Stripe fee, API access and priority support.
How to upgrade
- Go to My Account.
- On the plan card, click Upgrade to Pro.
- Review the prorated upgrade amount — that's the difference between Pro and Starter for the rest of the current billing period.
- Click Confirm. An invoice is created.
- Click the Pay $X — complete upgrade button in the email or on My Account. You'll be taken to a Stripe-hosted page to pay the difference.
- Once paid, your plan flips to Pro and entitlements update immediately.
Cancel a pending upgrade
If you've started an upgrade but haven't paid yet, you can cancel — the pending invoice voids and you stay on your current plan.
Downgrade plan
Move from Pro to Starter. The downgrade is scheduled for the end of your current billing period so you don't lose features mid-month.
How to downgrade
- Go to My Account.
- On the plan card, click Downgrade to Starter.
- Confirm the date the downgrade takes effect (end of current period).
- Save.
Usage check
ProField checks whether you'd fit inside the Starter plan today before scheduling the downgrade. If you're over on storage or workers, you'll see a breakdown of what to free up.
Even if you fit today, the check runs again at period end. If you've drifted over the Starter limits by then, the downgrade is cancelled and you stay on Pro with a note.
Add-ons survive
Active add-on packs continue billing after the downgrade — they raise the Starter entitlements just like they did on Pro.
Cancel a scheduled downgrade
Click Cancel scheduled downgrade on the plan card any time before the period end.
Settings
Account-wide settings — working hours, GST, invoice numbering, payment methods.
Working hours
Sets the start and end of your business day, used by the Schedule board.
GST
Toggle GST handling on / off. When on, line item prices are GST-inclusive.
Invoice numbering
Prefix and starting number for invoice numbers.
Payment methods
Stripe Connect status + manual payment details (BPAY / PayID / bank).
Integrations
Stripe Connect setup / status. Phase 2: more integrations (Xero, MYOB, Quickbooks) will appear here.
Billing & plans
How subscription, plans, capacity and billing work end-to-end.
In this section
Plan comparison
| Capacity | Trial | Starter (A$49/mo) | Pro (A$129/mo) |
|---|---|---|---|
| Field workers | 3 | 10 | Unlimited |
| Database storage | 50 MB | 10 GB | 25 GB |
| File & image storage | 200 MB | 10 GB | 25 GB |
| Google API calls / month | 2,000 (total) | 50,000 | 100,000 |
| AI tokens / month | 100K (total) | 1M | 2M |
| Outbound emails / month | 250 (total) | 2,000 | 5,000 |
| Stripe Pay Now button | — | ✓ | ✓ |
| Custom invoice branding | — | ✓ | ✓ |
| Stripe platform fee | — | 1.0% | 0.5% |
| API access | — | — | ✓ |
| Audit log + data export | — | — | ✓ |
| Priority email support | — | — | ✓ |
See the full feature comparison on the Pricing page.
Free trial
14 days of full-feature access. No credit card required to start.
What you get
Every feature ProField offers, capped at trial entitlements (3 workers, 50 MB SQL, etc.). Perfect for testing the schedule, sending a real quote, and running one or two real jobs.
Reminder emails
We send emails at:
- Day 12 — 2 days left, friendly nudge.
- Day 14 — trial expired but data recoverable for 30 more days. Upgrade to keep everything.
- Day 22 — delete warning. 8 days to upgrade.
- Day 28 — last chance. 2 days.
After expiry
Day 14: account is locked (read-only access for download / upgrade). Day 30: account and all data are permanently deleted. Subscribe before day 30 to keep everything.
Payment problems
If a subscription payment fails, ProField retries via Stripe and surfaces a banner so you can fix it.
What happens when a charge fails
- Stripe attempts the charge on your billing day.
- Charge fails (insufficient funds, expired card, etc.).
- Your account status flips to
past_due. - The admin app shows an orange arrears banner at the top of every page.
- Stripe automatically retries on a schedule (typically 3-day, 5-day, 7-day).
- If all retries fail, status flips to
unpaidand admin access is blocked until you update the card.
How to fix
- Click Update payment on the arrears banner — or go to My Account and click Manage billing.
- Stripe's customer portal opens. Add or update the card.
- Stripe retries the failed invoice automatically. Your status flips back to active within minutes.
Grace period
During past_due you keep using ProField. Once Stripe gives up (typically ~14
days), status moves to unpaid and the app is blocked behind a "Pay to continue"
screen.
Field worker portal
A mobile-first interface for field workers at /worker. Designed to be used one-handed on a phone next to a job.
Who uses it
Only invited and approved field workers. Admins can preview it but won't see assignments unless they're also added as a worker.
In this section
Today's jobs
The default screen on the worker portal — a stacked list of today's jobs in start-time order.
What each card shows
- Start time and duration
- Customer name and site address
- Job description summary
- Status pill (Scheduled / In progress / Paused / Completed)
- Navigate button — opens Google / Apple Maps with the site address
Other days
Use the chevron buttons at the top to step back / forward a day. The Today button snaps back.
Status actions — Start / Pause / Resume / Complete
Start a job
Tap the job card to open it, then tap Start. Status flips to In progress and the start time is recorded.
Pause
Tap Pause mid-job (lunch break, parts run, waiting on customer). Time spent paused is excluded from total job duration.
Resume
Tap Resume when work continues.
Complete
Tap Complete when the work is done. The signature dialog opens; customer signs. Worker confirms. Job moves to Completed status and admin can now generate an invoice.
Photos & signatures (worker portal)
Take photos
On the job detail screen, tap + Photo. The phone opens its camera (or photo library on iOS). Capture as many as you need. Add captions to help admin or the customer understand.
Customer signature
Triggered automatically when the worker taps Complete. Customer signs with their finger on the phone screen. Workers can re-do or skip.
Parts & materials (worker portal)
Workers add parts and labour to the job as they go. Items pull from the admin's materials catalogue.
Add from the catalogue
- Open the job.
- Tap + Add part.
- Search the catalogue. Tap an item.
- Adjust quantity if needed. Save.
Add ad-hoc
If a part isn't in the catalogue, tap + Custom item and type the name and price.
After completion
Once the worker taps Complete, line items lock. Admin can still edit on the job detail page if needed.
Trust & security
How ProField is built, where your data lives, who can reach it, and what we guarantee. We're deliberately specific — and honest about what we have today versus what's on the roadmap.
At a glance
| Topic | Where we are |
|---|---|
| Region | Microsoft Azure Australia East (Sydney) |
| Data sovereignty | Data never leaves Australia |
| Encryption in transit | TLS 1.2+ (HTTPS only) on every endpoint |
| Encryption at rest | AES-256 (Azure SQL TDE, Azure Storage SSE) |
| Authentication | Microsoft Entra External ID (CIAM) via OpenID Connect |
| MFA | Supported — see Auth & access |
| Tenant isolation | Logical (single database, AccountId-scoped queries on every endpoint) |
| Backup RPO | 5–10 minutes (Azure SQL transaction log backups) |
| Backup RTO | Typically < 2 hours for point-in-time restore at our database size |
| Backup retention | 7 days (Azure SQL automated, configurable up to 35) |
| Geo-redundant backups | Enabled — copies stored in a paired AU region |
| Payment data | Never touches ProField servers — handled by Stripe (PCI-DSS L1) |
| ISO 27001 / SOC 2 | Inherited from Azure infrastructure; ProField is not independently certified yet — see Compliance posture |
| Australian Privacy Act | We follow the Australian Privacy Principles (APPs) |
| Audit log | Pro plan feature; admin-visible activity history |
| Data export | Self-service CSV export (Pro); on-request for Starter |
| Data deletion | 30-day grace after cancellation, then permanent purge |
How this section is organised
Use the left nav. Each topic has a stable URL so your IT / security team can be linked straight to the right answer. If a topic you need isn't here, email hello@profield.com.au.
Hosting & infrastructure
ProField runs entirely on Microsoft Azure in the Australia East region (Sydney). We don't run our own servers, and we don't have data centres elsewhere.
Primary region
- Region: Australia East (Sydney)
- Paired region: Australia Southeast (Melbourne) — used only as the destination for geo-redundant backups; production traffic never goes there
Azure services we use
| Service | Purpose |
|---|---|
| Azure Static Web Apps (Standard) | Web hosting, routing, authentication wrapper |
| Azure Functions (Node.js 18, consumption plan) | API endpoints (/api/*) |
| Azure SQL Database | Primary data store (customers, jobs, quotes, invoices, etc.) |
| Azure Blob Storage | Job photos, signatures, invoice attachments |
| Microsoft Entra External ID (CIAM) | Identity provider for sign-in / sign-up |
| Azure Application Insights | Application logging and metrics |
| Azure Front Door (via SWA) | TLS termination, DDoS protection |
Azure's inherited certifications
Microsoft Azure infrastructure is independently certified to ISO 27001, ISO 27017, ISO 27018, SOC 1, SOC 2, SOC 3, PCI-DSS, HIPAA, FedRAMP, IRAP (Australian Government PROTECTED), and many more. Microsoft publishes the audit reports — most are downloadable from the Azure Service Trust Portal.
This means the underlying platform ProField runs on has been independently verified to meet those controls. It does not mean ProField itself is independently certified — see Compliance posture for that distinction.
Why Azure Australia East?
- Data sovereignty. Sydney region; data stays onshore.
- Latency. Best round-trip times for users on east-coast and west-coast Australian internet.
- Compliance. Region carries IRAP PROTECTED accreditation for the underlying Azure services.
- Pairing. Geo-redundant backups land in Australia Southeast (Melbourne) — still onshore.
Data sovereignty
Your customer records, jobs, quotes, invoices, photos and signatures all live in Microsoft Azure data centres located in Australia. They are never replicated, backed up, or transmitted outside Australian borders.
Where each piece of data lives
| Data type | Storage service | Region |
|---|---|---|
| Business records (customers, jobs, quotes, line items, invoices, users) | Azure SQL Database | Australia East (Sydney) |
| Job photos, signatures, attachments | Azure Blob Storage | Australia East (Sydney) |
| Backup copies (point-in-time + long-term) | Azure SQL backup service | Australia East (primary), Australia Southeast (geo-redundant) |
| Application logs & telemetry | Azure Application Insights | Australia East |
| Authentication state (sessions, tokens) | Microsoft Entra External ID | Australian tenants are pinned to Australian Microsoft Online Services region |
What does leave Australia, and why
A small set of transactional metadata leaves Australia by design — these are the subprocessor relationships customers explicitly opt into when using the relevant feature. See Subprocessors for the full list.
- Stripe — payment processing. Card data and Connect onboarding details go to Stripe (which has Australian, US and European processing). Required for Pay Now.
- Google Maps Platform — address autocomplete and travel-time queries. The address strings you look up are sent to Google's APIs (global).
- Microsoft Entra External ID — pinned to Australia for AU tenants by Microsoft policy; no other transit.
None of these touch your customer database or your photos. They handle only the specific data needed for the feature in question.
A note on the US CLOUD Act
Microsoft (a US-headquartered company) operates the Azure region your data is in. The US CLOUD Act could theoretically allow US authorities to compel disclosure of data held by a US company — even if the data is stored offshore. Microsoft publishes a position on this and has historically challenged such requests; we direct customers asking about this scenario to Microsoft's Government Requests for Data page.
Encryption
All data is encrypted in transit and at rest. We don't roll our own cryptography — we use industry-standard implementations from Microsoft Azure and TLS.
In transit
- TLS 1.2 or 1.3 on every public endpoint. TLS 1.0 / 1.1 are disabled.
- HTTPS-only. HTTP requests are 301-redirected to HTTPS.
- HSTS header sent on every response (max-age 1 year).
- Certificates are issued by Microsoft / DigiCert via Azure Front Door, auto-rotated.
At rest
- Azure SQL Database — Transparent Data Encryption (TDE). AES-256, transparent to the application. Encryption keys are managed by Azure.
- Azure Blob Storage — Storage Service Encryption (SSE). AES-256, on by default for every blob.
- Backups are encrypted with the same TDE keys as the source database. Geo-redundant copies remain encrypted in transit and at rest.
Application-level encryption
Certain sensitive fields receive additional treatment before being written to the database — for example, all webhook signing secrets and Stripe API keys are stored only in Azure Static Web Apps Application Settings (a secret-store integration), not in code or the database.
Key management
Encryption keys for Azure SQL TDE and Blob Storage SSE are Microsoft-managed by default. For enterprise customers who require Customer-Managed Keys (CMK), this is a roadmap item — contact us before purchase if you need it as a launch requirement.
Authentication & access
Sign-in is handled by Microsoft Entra External ID (Microsoft's customer identity platform). We never see your password and we don't store password hashes.
Single sign-on (SSO)
Every user signs in with their existing Google, Microsoft, or Facebook account via OpenID Connect. No new password to remember, no password reset flow, no credential stuffing risk on our side.
- Protocol: OpenID Connect 1.0 (OIDC).
- Token type: JWT, signed by Microsoft, validated by Azure Static Web Apps on every request.
- Session lifetime: default Azure SWA — 8 hour sliding session; we can configure shorter on request.
Multi-factor authentication (MFA)
MFA is enforced by the identity provider you choose at sign-in — if you've set up MFA on your Google or Microsoft account, that protection applies when you sign in to ProField. We never see or bypass the MFA challenge.
For enterprise tenants that want MFA enforced at the ProField layer (rather than per-identity-provider), this is a roadmap item — contact us.
Role model
| Role | Where | What they can see |
|---|---|---|
| Company admin | /admin | Everything in their own account — customers, jobs, workers, invoices, billing |
| Field worker | /worker | Only jobs they are assigned to. Cannot reach /admin |
| Founder (us) | Admin tools only on the founder account | Anonymised support data only. We do not browse customer accounts |
Session security
- Session cookies are
HttpOnly,Secure,SameSite=Lax. - Sign-out invalidates the session immediately.
- Idle browser tabs auto-refresh the /login page after 8 minutes so stale OAuth state can't compromise sign-in.
API tokens (Pro)
Pro plan API access uses server-issued bearer tokens, scoped per integration. Tokens can be revoked at any time from Settings → API access. This feature is on the roadmap for Pro — contact us if you need it as a launch requirement.
Tenant isolation
ProField is a multi-tenant SaaS — many businesses share the same database and application instances. Your data is logically isolated by an account boundary that every API call must respect.
How isolation is enforced
- Account ID on every row. Every business-data table (Customer, Job, Quote, Invoice, FieldWorker, etc.) has an
AccountIdforeign key. - Server-side enforcement. Every API endpoint resolves the caller's signed-in identity → looks up their AccountId → restricts every query to that AccountId. The client cannot override this.
- No client-side trust. We never accept an AccountId from the request body or URL — it always comes from the validated server-side session.
- Founder access is gated separately. Founder-only endpoints (account list, contact inbox, feedback) check
Account.Email = byronditt@gmail.comserver-side; the client-side hide is purely cosmetic.
Blob storage isolation
Photos and signatures land in Azure Blob Storage under a prefix of
account-<id>/. Read access is mediated through the API — we don't
expose direct blob URLs to clients. Cross-tenant URL guessing is not possible because
the API authorises every read.
Logical vs physical isolation
ProField uses logical multi-tenancy on a shared database. This is the standard pattern for cost-effective SaaS. Customers requiring a dedicated database or dedicated tenant (physical isolation) should contact us — we can quote on a dedicated deployment.
Backups, RPO & RTO
We rely on Azure SQL Database's built-in point-in-time restore. Backups are continuous, encrypted, and geo-redundant within Australia.
Recovery Point Objective (RPO)
5–10 minutes for the primary database.
Azure SQL takes full backups weekly, differential backups every 12–24 hours, and transaction log backups every 5–10 minutes — all automatically. A catastrophic event would lose at most the last 5–10 minutes of transactions.
Recovery Time Objective (RTO)
Typically under 2 hours for a point-in-time restore at our current database size.
Azure publishes their internal SLO for SQL Database restore at 12 hours. In practice, for a database under ~10 GB, restore completes well under that. Our internal target is <2 hours for a corruption or accidental-delete recovery; we target <12 hours for a full-region failover (geo-restore).
Retention
- Point-in-time restore (PITR): 7 days, rolling.
- Long-term retention (LTR): not currently enabled. On request we can enable monthly retention for 12 months on Pro accounts.
- Geo-redundant backup: enabled. Backup copies are replicated to Australia Southeast (Melbourne) — still onshore.
What's backed up
- Azure SQL Database — full automated, point-in-time restorable.
- Azure Blob Storage — Locally Redundant Storage (LRS) within the region, with versioning and soft-delete enabled. 30-day soft-delete window on every blob.
- Application code — versioned in git, redeployable in minutes.
Restore process
- Incident is identified (data corruption, accidental mass deletion, region outage).
- Founder initiates Azure SQL point-in-time restore to a new database name.
- Application is repointed to the restored database in the Azure Function App Settings.
- API is force-redeployed (~30 seconds) to pick up the new connection string.
- Validate the restored data; announce service-back-online.
Customer-initiated restore
For accidental deletion within your own account (a wrong customer / quote / job deleted), open a support ticket via /contact. We can restore single records from the most recent backup. Cost: free on Pro, A$50 per restore on Starter.
Availability & SLA
We don't yet publish a contractual ProField-level SLA. We do, however, inherit Microsoft Azure's published SLAs for the services we run on, which together set a practical lower bound on what we can deliver.
Inherited Azure SLAs
| Service | Azure-published SLA |
|---|---|
| Azure Static Web Apps (Standard) | 99.95% monthly uptime |
| Azure Functions (consumption) | 99.95% monthly uptime |
| Azure SQL Database (single, General Purpose) | 99.99% monthly uptime |
| Azure Blob Storage (LRS) | 99.9% monthly read availability |
The aggregate practical floor is roughly 99.9% monthly — i.e. up to ~43 minutes of downtime per month — driven by the lowest individual SLA in the chain.
ProField SLA (enterprise customers)
We will write a contractual 99.9% monthly uptime SLA into the order form on request for any account on annual billing. Service credits follow the standard tiered model (10% credit at <99.9%, 25% at <99.0%, 100% at <95%). Contact hello@profield.com.au.
Planned maintenance
Most code deploys are zero-downtime (Azure Static Web Apps rolling deploy). Database schema migrations are run during low-traffic windows (typically Sunday 02:00–05:00 AWST) and announced at least 48 hours in advance via the in-app notification banner.
Status page
A public status page (status.profield.com.au) is on the roadmap for Q1 next year. In the meantime, incidents are communicated by email to billing contacts and a banner in the admin app.
Compliance posture
We're a small Australian team. We're not going to claim certifications we don't hold. Here's exactly what's true today, what we inherit from our infrastructure, and what's on the roadmap.
ISO 27001, SOC 2 — the honest answer
ProField as a company is not currently independently certified to ISO 27001 or SOC 2. Pursuing these certifications is a 9–18 month process with non-trivial ongoing cost; we will pursue it once revenue justifies the spend.
Microsoft Azure — the platform every byte of ProField data sits on — is independently certified to ISO 27001, ISO 27017, ISO 27018, SOC 1, SOC 2, SOC 3, PCI-DSS, HIPAA, FedRAMP High, and IRAP (Australian Government PROTECTED). The infrastructure-layer controls those audits attest to therefore apply to ProField's hosting environment.
What this means practically: if your security questionnaire asks "is your hosting provider ISO 27001 certified?" the answer is yes. If it asks "is ProField ISO 27001 certified?" the answer today is no, but we follow ISO 27001 principles in our application practices. We are happy to walk a procurement team through where exactly the line sits for our specific case.
Australian Privacy Act / APPs
We comply with the Australian Privacy Principles (APPs) under the Privacy Act 1988. Our privacy policy details the personal information we collect, how we use it, retention, your rights of access and correction, and our contact for complaints.
GDPR (EU customers)
ProField launched targeting the Australian market and we do not currently solicit EU-resident customers. If we sign an EU customer in the future, we will commit to a GDPR Data Processing Agreement (DPA). Contact us if this is relevant before purchase.
PCI-DSS — payment cards
ProField is out of scope for PCI-DSS because we never touch card data. All card collection is via Stripe-hosted Checkout / Customer Portal / Connect Express, which are PCI-DSS Level 1 certified. We receive only Stripe's tokenised identifiers (customer ID, subscription ID) — never the card number, CVV, or PAN.
IRAP (Australian Government)
ProField does not currently hold an IRAP rating. The Azure platform underneath us is IRAP-assessed at PROTECTED level. For government / defence customers requiring an IRAP-assessed application layer, contact us — we can scope an IRAP engagement on a per-customer basis.
In one paragraph
ProField runs on independently-certified Azure infrastructure (ISO 27001, SOC 2, IRAP PROTECTED, PCI-DSS). The ProField application itself is not yet independently certified, but is built following the same control families and is operated by a small team with no offshore staff. Payment card handling is fully delegated to Stripe (PCI-DSS Level 1). We comply with the Australian Privacy Principles.
Subprocessors
Every subprocessor ProField uses and the specific data each one sees. We notify billing contacts at least 30 days before adding a new subprocessor that processes personal data.
Current subprocessors
| Subprocessor | Purpose | Data they see | Region |
|---|---|---|---|
| Microsoft Azure | Hosting, database, storage, identity, logs | All ProField data | Australia East / Southeast |
| Microsoft Entra External ID | Sign-in (CIAM) | Email, name, identity provider sub-claim | Australia (AU tenant) |
| Stripe, Inc. | Subscription billing + tradie customer payments (Connect) | Cardholder data, billing address, payout bank details, tradie KYC info (ABN, ID) | Global (US-headquartered; AU processing for AU cards) |
| Google Maps Platform | Address autocomplete + travel-time queries | Address strings you look up | Global |
| Microsoft Application Insights | Application telemetry and error logs | Anonymised request paths, error stacks, performance metrics. Configured to redact PII from logs. | Australia East |
What we don't use
We do not currently use: Google Analytics, Facebook Pixel, Mixpanel, Segment, or any marketing-attribution / behaviour-analytics provider. Customer behaviour data does not leave Azure.
Change notification
Adding or removing a subprocessor that handles personal data: we email all billing contacts at least 30 days before the change takes effect. You can object — we will either find an alternative or offer to terminate your subscription with a pro-rata refund.
Incident response
What happens if something goes wrong — outage, suspected breach, accidental data exposure. The plan is small-team-realistic: clear, fast, and honest.
Severity levels
| Sev | Definition | Initial response |
|---|---|---|
| 1 (Critical) | Service down, data loss confirmed, or active security breach | < 30 minutes |
| 2 (High) | Major feature broken affecting all customers | < 2 hours business-time |
| 3 (Medium) | Single customer impacted, workarounds exist | < 1 business day |
| 4 (Low) | Minor bug, no functional impact | Next sprint |
Suspected breach process
- Detect. Alert from Azure Defender, Application Insights, or external report. Triage within 30 minutes.
- Contain. Rotate exposed credentials, block compromised IPs, take affected endpoint offline if necessary.
- Assess. Determine what was accessed, by whom, what data was involved.
- Notify. If personal information was accessed in a way likely to result in serious harm, the Notifiable Data Breaches scheme applies — we notify the OAIC and affected individuals as soon as practicable (legal target: 30 days, our internal target: 72 hours).
- Remediate. Fix the underlying vulnerability, deploy, document.
- Post-mortem. Written within 5 business days, shared with affected customers.
Reporting an incident to us
If you suspect a security issue or believe you have witnessed a breach, email
hello@profield.com.au with
the subject line beginning [SECURITY]. These messages route directly to
the founder and bypass normal queue priority.
Our historical incidents
None to date. Once we have any to record, we'll publish them here transparently.
Vulnerability management
Standing practices
- Dependency monitoring. GitHub Dependabot watches every Node.js package for known CVEs. Critical and high-severity advisories are patched within 7 days; medium within 30.
- SAST. Source-code analysis runs on every commit via GitHub's built-in CodeQL.
- Secret scanning. GitHub secret scanning enabled; pushes containing API keys are blocked at the platform level.
- Webhook signature verification. Every inbound Stripe webhook (platform and Connect) is HMAC-verified before processing. Unsigned or wrongly-signed requests are rejected with 400.
- Rate limiting. Public endpoints (e.g. /api/contact) layer per-IP, per-email and global rate limits to prevent abuse.
- Honeypots on public forms catch naive bots before they reach the database.
- Logged-in endpoints all check the caller's identity server-side via the Azure Static Web Apps auth header and verify scope. The client cannot escalate by lying about who they are.
Penetration testing
ProField has not yet undergone an independent third-party penetration test. This is a launch-quarter roadmap item. Enterprise customers requiring a pen-test report before contract sign — we will engage an Australian-based CREST-accredited firm to conduct one and share the executive summary under NDA.
Responsible disclosure
If you believe you've found a vulnerability, email
hello@profield.com.au with subject
[SECURITY] vulnerability report. We will:
- Acknowledge receipt within 2 business days.
- Provide an initial assessment within 5 business days.
- Keep you informed during remediation.
- Credit you in the post-mortem if you wish.
We don't currently offer a paid bug bounty, but we do offer ProField merchandise and a thank-you for high-quality reports.
Your data rights
Your data is yours. Here's how to access it, take it elsewhere, or have it deleted.
Ownership
You retain ownership of all customer records, job records, photos, signatures, and any other data you create or import. ProField is the processor (in APP and GDPR terms); you are the controller.
Access
You can see all your data at any time inside the admin app. Field workers can see the jobs they're assigned to. There is no ProField-side data that's hidden from your view (other than internal logs and our own infrastructure metrics, which don't contain your business records).
Export & portability
- Pro plan: self-service CSV export of every entity (Customers, Jobs, Quotes, Invoices, Line items, Field workers, Vehicles, Materials) from Settings → Data export.
- Starter plan: on-request export, delivered within 1 business day. Email hello@profield.com.au with subject
Data export request. - Trial: on-request as a courtesy.
- Photos and signatures: exported as a ZIP of original files with an accompanying CSV manifest of filename → JobId / customer / timestamp.
Deletion
- Account cancellation retains your data for 30 days, then permanently deletes — Azure SQL row delete + Azure Blob delete + cascade across related rows.
- Within the 30-day window you can re-subscribe and recover everything intact.
- Immediate deletion on request — email hello@profield.com.au with subject
Immediate deletion request; we will purge within 5 business days and provide written confirmation. - Backup deletion lag. Restorable backups in Azure SQL contain your data for the full 7-day backup window after deletion. After 7 days even the backup copies are gone. We cannot manually wipe within that 7-day window — it's a platform-level retention.
Correction
You can edit every record you create through the admin app. For corrections in our internal logs (e.g. if a typoed email landed in a transactional email log we retain) email us; we will scrub on request.
Audit log (Pro)
Pro accounts get an audit log showing every admin action — who did what, when, from which IP. The log itself is retained for 12 months and is exportable to CSV.
Privacy contact
For privacy requests, email hello@profield.com.au with the subject prefix [PRIVACY]. We aim to respond within 5 business days; statutory complaint avenue is the Office of the Australian Information Commissioner (OAIC).
FAQ
Is my data hosted in Australia?
Yes. ProField runs on Microsoft Azure in Australia East (Sydney). Your data never leaves Australian borders.
Can I switch from ServiceM8 / Tradify / AroFlo?
Yes. Email hello@profield.com.au with your current tool and rough customer/job count — we'll talk you through a CSV import or assist with manual onboarding.
Can I cancel anytime?
Yes. Click Manage billing on My Account, then Cancel subscription in the Stripe portal. You stay active until the end of your current billing period; after that your data is retained for 30 days, then permanently deleted.
Can I export my data?
Pro plan: full data export (CSV) self-service from Settings. Starter: contact support and we'll generate the export within 1 business day.
Can I run multiple businesses on one account?
No. One ProField account = one business. Create a separate account per business — each gets its own plan.
Who pays the Stripe fees?
You do — Stripe takes its fee + ProField's platform fee off the top of each Pay Now transaction before it lands in your bank.
Contact support
Send to hello@profield.com.au. We aim for a reply within one business day (priority email support on Pro).
Report a bug
Include the URL where it happened, what you expected, what actually happened, and a screenshot if possible.
Suggest a feature
We genuinely read every suggestion. Email it across, or use the in-app feedback link.