Operational guide to configure your account, receive leads, schedule work, send quotes, run jobs, invoice clients and collect payments.
01
Getting started
The main Filed OPS workflow is Lead → Client → Schedule → Quote → Job → Invoice → Paid. Start by setting up the company, admin user, common services and the integrations you need. Dashboard highlights action items while Schedule organizes visits and field work.
Use Create to add a client, request, quote, job or invoice without leaving the current screen.
Choose the account language in Settings.
Connect Google Calendar, Meta, WhatsApp, Google Local Services, Google Ads and Stripe under Apps.
02
Clients
The client record centralizes name, company, phone, email, address, preferred language and history. When creating a quote, job, appointment or invoice, type at least 3 letters to search clients within the current tenant only.
Use the client record to review related appointments, jobs, quotes and invoices.
Review contact details before sending communications or billing.
03
Requests & leads
Requests can be created manually or arrive automatically from connected channels. The CRM stores source, contact details, requested service and message. Use Pipeline to move opportunities through qualification, scheduling, quoting and won/lost stages.
Facebook/Instagram and Google Ads can create leads automatically.
Google Local Services can sync call, message and booking leads and conversations.
Convert the lead to a client to preserve operational history.
04
Schedule
Schedule includes Day, Week and Month views, filters by type, team and status, plus drag-and-drop. An appointment can be linked to a client, lead, job and assignee. When Google Calendar is connected, the CRM creates or updates the external event.
Click an empty time slot to create an appointment.
Drag events to change date/time while preserving Google Calendar sync.
Use List view on mobile when the weekly grid is too wide.
05
Quotes
Create a quote from a client or lead, set validity, items, tax, deposit and terms. Each quote gets a secure public link; after it is sent, the client can review and approve it online. An approved quote can move into a job.
Review values and terms before sending.
The required deposit is stored on the quote and can be evolved into online collection.
Statuses distinguish draft, sent, viewed, approved and converted.
06
Jobs
A Job represents contracted work. It stores client, assignee, priority, schedule, address, instructions and checklist. Its purpose is to keep everything the team needs to execute the work and then invoice it when completed.
Link expenses and worked hours to the job to measure profitability.
Use checklist and attachments/photos for field documentation.
Move status from scheduled to in progress and completed as work advances.
07
Invoices & payments
An Invoice stores items, taxes, due date, total, amount paid and balance. It can be shared by a secure public link and, when Stripe is connected, Checkout is hosted by Stripe. The webhook confirms payment and automatically updates balance/status.
Offline payments such as cash, check or transfer can be recorded in Finance.
Never mark an invoice paid only because the browser returned from Checkout; rely on the gateway webhook.
Past-due invoices appear in aging to prioritize collections.
08
Finance
Finance consolidates receivables, overdue balances, collections this month, expenses, labor cost, cash result, aging and job profitability. Job profitability uses invoiced revenue minus linked expenses, worked hours multiplied by employee hourly cost, and internal item costs.
Use Expenses for materials, fuel, parking and other costs, linking them to a job whenever possible.
Set employee hourly cost so labor is included in job costing.
Record offline payments in Finance to keep invoice history consistent.
09
Inbox
Inbox centralizes conversations from connected channels. New messages create CRM notifications. Meta conversations can be replied to from the CRM when account permissions are valid; Google Local Services is synchronized for follow-up according to Google Ads API capabilities.
Connect Meta under Apps for Facebook Messenger and Instagram professional accounts.
Use the conversation to identify the lead instead of losing messages in Meta Business Suite.
Enable browser alerts only on authorized computers.
10
Integrations
Open Apps and select Configure. Google Calendar uses OAuth 2.0; Google Local Services uses Google Ads API OAuth plus the platform Developer Token; Google Ads Lead Forms uses webhook + google_key; Meta uses account tokens and signed webhooks; WhatsApp uses one WhatsApp API instance per tenant connected by QR Code; Stripe uses Secret Key and webhook Signing Secret.
Google Calendar: authorize an account with write access to the selected calendar.
Google Local Services: enter Customer ID and Manager Account ID when applicable.
Google Ads: copy the CRM-generated webhook URL and Google key into the lead form.
Meta: configure IDs/tokens only in a secure environment; the platform App needs approved permissions for third-party accounts.
WhatsApp: Master configures WhatsApp API URL/key; the tenant only sees the QR Code for its own instance.
SMTP: Master configures the mail server once for password resets, quotes, invoices and reminders.
Stripe: register the company webhook and keep keys private.
11
Languages & currencies
The Master admin defines enabled languages/currencies and maps each language to a currency. Tenants only see enabled languages. Applying a language company-wide also updates the tenant default currency according to that mapping. Public pricing uses the configured price for the mapped currency.
Portuguese (Brazil) uses internal code pt and can map to BRL.
English commonly maps to USD.
Spanish can map to EUR, USD or another Master-enabled currency.
If a plan has no price in the active currency, the system does not invent an exchange conversion; it displays that pricing must be configured.
12
Master Admin
Master Admin controls tenants, trials, subscriptions, plans, languages, currencies and global platform credentials. Master can enter a tenant in support impersonation mode without knowing the client password and should exit impersonation immediately after support is completed.
Keep the Master account separate from tenant accounts.
Disable languages/currencies you do not offer before publishing plans.
Configure Google OAuth, Developer Token, Meta App, SMTP, WhatsApp API and platform Stripe in Master Settings.
Never share the Master password with clients.
13
Security & production
Before onboarding real clients, use HTTPS, APP_DEBUG=false, a strong Master password, automated backups, monitored cron jobs and production credentials. External tokens are encrypted in the database; .env must not be web-accessible. Webhooks must validate signatures/keys before processing data.
Meta requires a configured App and appropriate permissions; third-party accounts typically require Advanced Access/App Review.
Stripe must use the Signing Secret for the correct endpoint and payment reconciliation depends on webhooks.
Google OAuth Redirect URI must exactly match Google Cloud configuration.
Google Ads Lead Form webhook validates google_key and deduplicates by lead_id.
Back up database and files before every update.
14
Privacy & compliance
Integrations must use the minimum access needed and match the public Filed OPS Privacy Policy. Google OAuth uses calendar.events for scheduling events and adwords for Google Ads/Local Services. Google data use follows the Google API Services User Data Policy, including Limited Use. Meta/WhatsApp require appropriate notices, permissions and consent; customers remain responsible for the lawful basis of data they import into the CRM.
Before publishing Google OAuth, keep the Home page, Privacy Policy, Terms and authorized domain on filedopscrm.com and verify domain ownership in Search Console.
In Google Auth Platform, declare only scopes actually used and submit the app for verification when sensitive scopes require it.
Use /data-deletion as the public deletion-request page; disconnecting an integration stops new sync but does not automatically erase already imported data.
For Meta/Facebook/Instagram, configure the public data-deletion URL in the App dashboard and maintain approved permissions for production.
For WhatsApp, obtain appropriate opt-in before initiating messages and honor block/opt-out requests.
Never send tokens or secrets by email or place them in public documentation.