Shoot Delivery
Shoot Delivery
Last Mile Delivery Experts · Billing

Shoot DeliveryBilling

Get stops from Spoke

Never synced — first fetch covers the last 30 days.
Drop the Spoke CSV or Excel file here, or click to choose

Recent uploads

#DateFileStopsStatus

Imported stops — overview

Stops per day (last 14 days, by stop date)
DateImportedPricedBillable $

Results

Stops needing review (bad address / no route found)

Fix the address, then re-price. These stops are excluded from billing until resolved.
DateSellerRecipientAddress

Route code presets

Driver (as in the Spoke file)Route code

Generate seller sheets

Upload the Spoke route export (made when the route is planned). One Excel per seller is produced with each customer's route code — send it to the seller so they can label packages before hub drop-off.
Drop the route export here or click to choose

Recent batches

#WhenPresetFileSheets

Label generator — stamp route codes on Spoke labels

Pick the sorting batch for this route (generate it in the Sorting tab first), then upload the Spoke label PDF. Each label gets its route code and the stop notes stamped on it, split into one PDF per seller.

Log bags with a driver

At end of day, call the driver and ask which sellers' bags they're holding. Pick the driver, tick the sellers and how many bags — it goes on the pending list until the bags come back.
No sellers are flagged for bag pickups yet — tick "Bags" for them in the Sellers tab.

Pending bags

Daily bag report

Per-seller summary of bags collected on a day — download the Excel and send it to the seller.

Recently returned

DriverSellerBagsRoute dateReturned

Daily route expenses

Drivers

RouteSpoke accountStopsDelivered Not paidPaid stops HowPayAt 100%

Other drivers on this route

Drivers who aren't a placeholder account. For this day, pick the placeholder route they drove (their stops are counted together with it and paid once at its tier) or mark them as a rescue driver with a flat cost.
DriverStopsDeliveredPaid as

Logistics

PayeeForAmount
Untick a cost that didn't happen that day. Change an amount for that day only.

Adjustments

ForNoteAmount
Positive = extra cost, negative = deduction.

Payouts & totals

Download Excel
PayeeDaysPaid stopsPayAdj.Total
DayDriversLogisticsAdj.ExpenseRevenueMarginMargin at 100%

Drivers & pay rates

Each Spoke account on the route is matched to a row here by its email (then linked for good). Other drivers on the route are mapped to one of these (or marked as rescue) on the day. Pay is set by the tier the paid-stop count falls in, and the whole route is paid at that tier.
RouteCodeSpoke accountPayNot paid forNotes

Daily logistics costs

Added to each day on the weekdays ticked, when the day is first recorded. Changes here apply to days recorded after the change.
PayeeForCostDays

Route settings

The last 3 run-days are re-counted from Spoke every hour. Older days change only when you press Refresh.

Daily delivery report

Once the day's routes are complete, pick the date and press the button — your stops for that day are fetched live from the routing system and downloaded as an Excel file.

Billing

3 · Period dashboard

By day
DateStopsAmount
By seller
SellerStopsAmount

4 · Generate billing files

QuickBooks invoice
Service dateDescriptionQtyRateAmount
Generates the CSV + Excel (attached to the invoice) and creates the invoice in QuickBooks without emailing it — review it there, then Send.

Past exports

#SellerPeriodStopsTotalByQuickBooksFiles

Sellers & rates

SellerRulesPricingPickup (blank = global default)Zone kmFlat $Overage $/kmBilling cycleCycle start (biweekly) / daysExcluded driversUpstairsLabelsBagsUnbilledIgnore
Changes save automatically.

Merge history

Merged sellerIntoWhen

Add user

Users

NameEmailRoleStatus

QuickBooks Online

Redirect URI to register in the Intuit app:

Customers — which QuickBooks customer each seller is invoiced as, and how its lines look

SellerQuickBooks customerLinesLine labelDue in (days)
Problems with QuickBooks invoicing? Check the Activity log below (QuickBooks errors include Intuit's request id), or email hello@shootdelivery.com.
Daily counts: one line, qty = stops × rate, each delivery day listed ("09/01/2026 167"). One line per day: a line per delivery day with the label (e.g. "Sunday Mealprep Delivery"; {weekday} Mealprep → "Wednesday Mealprep"); override-priced stops such as corporate routes get their own line. Monthly total: one line "AUGUST 2026 - 177 Deliveries".

Google API keys

Keys are stored encrypted on the server and never shown again. The server key is never sent to browsers.

Spoke API

Enables the "Fetch latest stops" button — no more manual CSV exports.

Pickup & distance

Company & tax

Default rates for new sellers

Changes save automatically.

API usage this month

MonthGeocodingRoutes callsRoutes elements*Spoke
*Google bills the Routes matrix per element (1 stop distance = 1 element). Compare against your Google Cloud budget.

Activity log

Time (UTC)AreaMessage

Danger zone

Deletes ALL imported stops, uploads, and billing exports so you can re-import from scratch. Sellers, rates, brands, users and settings are kept. This cannot be undone.
Factory reset erases everything — sellers, rates, brands, users (except you), imported data, exports, and all settings including stored API keys.