⌂
FlightDeck Manual
how everything works · v

FlightDeck Manual

Everything the app does, in plain English. Use the search box up top to jump straight to an answer.

First 10 minutes

Do these three things once and the rest of the app works the way you'd expect.

  1. Company (deck header) — your business name, address, phone, and logo. This is what prints on every invoice and every as-applied record you hand a customer.
  2. Customers — add who you bill. Each one can carry its own $/acre rate, a billing address, and a QuickBooks bill-to name if you invoice a parent company (e.g. three coop branches all billing to "GrainCo FS").
  3. Profile — the applicators (pilots) who show up on records, with phone numbers.
Worth knowing
Your data syncs to your account, so the same jobs and customers show up on your phone, your iPad, and the shop computer. Sign in with the same email everywhere.

The daily flow

A normal week looks like this:

  1. Fly the job. Your drone logs it as usual.
  2. Export from EAVision — select the day's jobs and email yourself the task_XXXX.zip.
  3. Drop that zip into As-Applied Records. One zip can hold many jobs; FlightDeck splits them (see Batch).
  4. Check each record — acres, date, crop, conditions — then Add to this week's invoice.
  5. Open the Invoicer when you're ready to bill. Your queued jobs are waiting. Build the invoice, download the PDF, export the CSV for QuickBooks, or send it straight from your phone.

Everything you enter once flows through: the record becomes the invoice line, the invoice becomes the QuickBooks entry, and the map stays attached for the coop's records.

As-Applied Records

Turns a drone flight log into a clean, printable record for the coop.

What you can drop in

  • EAVision task_XXXX.zip or a loose .kml
  • EAVision Work Report .pdf (FlightDeck reads the numbers off it)
  • DJI flight KMLs — the export .zip or individual files
  • Nothing at all — hit start a blank field and draw the job yourself

The pieces list

Everything found in your upload shows in a list under Uploaded. Tick a piece to show it on the map, untick to hide it. FlightDeck auto-hides pieces that are clearly from a different field (marked OFF-FIELD) — tick them back on if it guessed wrong.

Acres on the map

Your typed acres print on the field. If a record covers several separate fields, each one gets its own label. Want specific numbers per field? Type them in the acres box on each row of the Boundaries list; leave a box blank and it splits the remainder by field size.

Finishing a record

  • Preview — see the printed sheet before it prints
  • Print / Save PDF for coop — the customer-facing record
  • Add to this week's invoice — queues the job for billing and saves the map

Batch: many jobs at once

When one export holds several fields (even across several days), FlightDeck builds all the records in one pass.

  1. Drop the zip. Every piece appears in the list.
  2. Tick the pieces that belong to one job — the field plus any hand-fly headland that goes with it. Ticking a piece zooms the map to it.
  3. Hit Group the checked pieces → Job 1. They collapse into a job pill and leave the list.
  4. Repeat until the list is empty. Tap a pill to edit what's in it, or ✕ to ungroup.
  5. Hit Create N As-Applied records. Each job loads into the normal form — check it, fix anything, then Add to this week's invoice moves you to the next one.
Why this matters
Each job keeps its own date and times, pulled from its own spreadsheet — so a three-day export produces three correctly-dated records from a single upload.

Drawing & fixing maps

Under Draw tools on the record page:

ToolWhat it's for
Field boundaryTrace the field edge — required for DJI logs, which don't include one. Draw several for multiple fields; tick which to use.
No-spray zonesAreas to carve out of the coverage — creeks, buildings, a neighbor's organic ground.
Fill missing sprayCoverage the drone flew but didn't log. Draw one pass, Headland a perimeter lap, or Fill field the whole thing.

Snap parallel + even spacing keeps filled passes lined up with the real ones. Headland passes when filling sets how many perimeter laps get laid down. Spray overlap % closes the gaps between passes so the coverage reads solid.

Field Mapper

Plan a job before you fly it: draw the ground, mark what to avoid, and hand the file to the drone.

Drawing

  1. Search a town or address to find the ground.
  2. Name the field, hit Draw a field, and tap the corners. Double-tap the last corner to close it (or press Finish).
  3. + Obstacle (violet) for grain bins, poles, tree lines. + No-spray (red) for creeks, beehives, sensitive neighbors.
  4. Tap any shape to select it — only the selected shape shows draggable corners, so a busy map stays readable.

Importing a map someone sent you

Import a map file, or just drag it onto the map. FlightDeck reads KML, KMZ, and GeoJSON, recognizes obstacles and no-spray zones however they were marked, and skips shapes you already have.

Exporting to the drone

Export KML asks what to name the file, then saves it to Downloads — or opens the share sheet on iPad/iPhone so you can AirDrop straight to the controller. Export GeoJSON is there for apps that want .json.

Past fields — respray

Every field you've ever recorded is pinned on the map. Zoom in and the real boundaries appear with their acres. Tap one → Load this field → export. No redrawing to spray the same ground again.

Before you export
Hit Check for problems. It finds zones that cross the field edge or sit outside it — the most common reason a drone app rejects a file — and offers to fix them.

Invoicer

Billing application work

Jobs you queued from records show on the upload screen under This week's application jobs. Pick the customer, hit Build … invoice, and every field becomes a line at that customer's rate. A job with its own rate (the $/acre box on the record) bills at that rate instead — that's how one invoice carries corn at $12 and pumpkins at $36.

Billing hours

Upload a time export (.xlsx, .xls, or .csv — anything with Date and Hours columns, from Jibble, Clockify, Toggl, QuickBooks Time, or a plain spreadsheet), or hit Enter hours manually and type the lines yourself.

What you can produce

  • Download PDF — the invoice, named after the invoice number. For queued jobs it's a package: invoice plus an as-applied page per field.
  • CSV — QuickBooks-importable, this invoice only.
  • Send — pick invoice, maps, or both; opens your share sheet with the PDFs attached.
  • Records only — the as-applied maps with no pricing, for a coop that just wants proof of application.

Fixing a queued job

Tap the ✎ next to any job in the queue to correct field, crop, acres, or date without redoing the record. Dedupe collapses jobs accidentally queued twice.

Customers & rates

FieldWhat it does
$/acreThis customer's default rate. Blank = your global default.
Address / emailPrints in the Bill To block.
QuickBooks bill-toThe name QuickBooks should see. Map several branches to one parent so they invoice together. Blank = use the customer name.
ChemicalItemized lines or bundled into the $/acre — see below.
Rate order
A job's own rate wins → then the customer's rate → then your default. That's true on invoices, the CSV, and the dashboard totals.

Chemical & products

Off by default. Turn on I sell chemical in Company and a Products button appears.

  1. Products — add each chemical once: name, EPA reg #, unit, your cost, sell price, and quantity on hand.
  2. On any record, add a Products applied row: pick the product, type the rate per acre. FlightDeck computes the total applied.
  3. It prints on the record with the EPA number (which is what your FAA and state records need), and bills on the invoice.
  4. When the job is billed, on-hand inventory counts down automatically.

Itemized vs bundled is per customer: itemized shows chemical as its own invoice section with quantities and prices; bundled folds the chemical cost into the per-acre rate so the invoice shows one number.

Company profile

Your name, logo, address, phone, and license number. It swaps everywhere at once — invoices, as-applied records, PDF headers, page titles. The FlightDeck logo stays on the app itself; your logo goes on everything a customer sees.

QuickBooks

Two ways out: the CSV button on an invoice (that invoice only), or Reports → QuickBooks CSV (a date range, any customers you tick).

Both produce the columns QuickBooks Online expects — invoice number, customer, dates, item, description, quantity, rate, amount.

One-time setup in QuickBooks
QuickBooks only accepts products/services that already exist there. Create a Service named exactly Aerial Application (Gear → Products & services → New → Service). If you bill chemical itemized, create one for each product name too.

Reports & history

Reports (deck header) covers any date range and any set of customers: totals by customer, by crop, by field, plus three exports — plain CSV, QuickBooks CSV, and an As-Applied PDF pack.

Billed History lists every job you've already invoiced, with its invoice number, so nothing gets billed twice. Old jobs that lost their maps can be re-rendered with Rebuild saved maps.

FAA & state records

As a commercial ag operator, 14 CFR 137.71 requires you to keep, for at least 12 months: the name and address of each customer, the date of service, the name and quantity of material dispensed, and each pilot's name, address, certificate number, and the date they met the §137.19(e) requirements.

What FlightDeck already captures

Customer, date, field, acres, applicator, aircraft, rate, conditions, the map — and, with the chemical module on, the product name, EPA registration number, and total quantity applied.

Your responsibility
FlightDeck helps you produce records — it is not a compliance service. Verify everything before you rely on it, and check your own exemption and COA for reporting conditions that apply to you. Nothing here is legal advice.

Trouble: a map won't upload to the drone app

Nearly every rejected file comes down to one of these. The Field Mapper's Check for problems finds all of them.

SymptomCauseFix
Every shape imports as its own separate plotObstacles and no-spray zones marked in a format the drone app ignores (it reads Data name="visualType", not SimpleData, and never reads names)Import the file into Field Mapper and export it again — FlightDeck rewrites the markings correctly
Import fails outrightMore than one field boundary in a file that also has zonesExport chooses one field — the picker shows each boundary with its acres so you can see which is which
Import fails, or zones vanishAn obstacle or no-spray zone crosses the field boundary lineCheck for problems → trims the stray corners just inside the field
A downloaded KML looks like it is missing the no-spray zonesThat download only ever contains the boundary and obstacles — it leaves no-spray zones out even though the drone app stored them correctlyCheck the plot’s Work Area instead. If it is smaller than the plot area by roughly the zone acres, the zones are in and the drone will avoid them
“Upload failed” on a file that worked before, or “uploaded 1, failed 1”The plot name already exists in your drone account — it refuses duplicates. Files you downloaded from the drone app all carry the same internal name, so re-exporting them collidesThe export box adds a date-time tag to keep the name unique. Keep it, or type a name you have not used yet
An extra tiny plot appearsA junk sliver boundary (a few points, ~0 acres) left by the tool that made the fileFlightDeck flags it on import — it flashes on the map so you can confirm before removing
Rule of thumb
Keep obstacles and no-spray zones fully inside the field boundary — never touching or crossing the edge.

Trouble: QuickBooks import errors

ErrorWhat to do
"We can't match Aerial Application"Create that Service in QuickBooks first — it only accepts items that already exist there.
"Multiple customers" on one invoice numberAlready handled — FlightDeck adds a suffix per customer automatically. Re-export.
Due date missingSet Due days in the invoicer settings; the CSV fills it from the invoice date.
Odd characters in descriptionsAlready handled — exports use plain ASCII. Re-export.
QuickBooks wants to create new customersSet the QuickBooks bill-to on those customers to the name QuickBooks already knows.

Trouble: FlightDeck itself

I can't sign in

Use Forgot password? on the sign-in screen — you'll get an email with a reset link. New accounts wait for approval before the deck opens.

An old feature looks missing, or something acts strange

Hard-refresh the page (Cmd+Shift+R on Mac, Ctrl+Shift+R on Windows). Each tool is its own page with its own cache — check the version number in the header matches across tools.

A record has no map

Jobs billed before map-saving existed kept their data but not their imagery. Billed History → Rebuild saved maps re-renders them.

"Storage is full"

Maps are the heavy part. Build the pending invoice to clear the queue, then use Clear saved maps older than 12 months on the deck.

Weather didn't fill in

It needs a map and a start time first, and an internet connection. You can always type conditions by hand.

Data, backup & privacy

  • Back up data (deck footer) downloads everything — jobs, customers, settings, records — as one file.
  • Restore loads a backup file back in.
  • Reset account data permanently erases this account's data. There's no undo, so back up first.
  • Your data is yours. It's isolated per account and never shown to other users — see Terms & Privacy.
Still stuck?
Use the Feedback link in the deck footer — it opens an email with your version number already filled in.