Fill in the details below. The project manager will review your report and upload a QuickBooks estimate for accounting approval.
Drag photos here, or:
⚙ First-time setup — create Supabase tables
Run this SQL once in your Supabase dashboard → SQL Editor:
create table if not exists plants (
id bigint generated always as identity primary key,
name text not null,
address text default '',
customer text default '',
type text default '',
created_at timestamptz default now()
);
-- If table already exists, add the type column:
alter table plants add column if not exists type text default '';
create table if not exists parts_catalog (
id bigint generated always as identity primary key,
name text not null,
default_cost numeric(10,2) default 0,
unit text default '',
category text default '',
created_at timestamptz default now()
);
create table if not exists customers (
id bigint generated always as identity primary key,
name text not null,
contact text default '',
email text default '',
created_at timestamptz default now()
);
create table if not exists employees (
id bigint generated always as identity primary key,
name text not null,
email text default '',
title text default '',
created_at timestamptz default now()
);
-- RLS for employees table
alter table employees enable row level security;
-- All signed-in users can read (needed for autofill in every form)
create policy "Employees: authenticated read"
on employees for select
to authenticated
using (true);
-- Only admins can add, edit, or delete employees
create policy "Employees: admin write"
on employees for all
to authenticated
using (
exists (
select 1 from profiles
where profiles.id = auth.uid()
and profiles.role = 'admin'
)
)
with check (
exists (
select 1 from profiles
where profiles.id = auth.uid()
and profiles.role = 'admin'
)
);
| Plant / Location | Type | Address | Customer | |
|---|---|---|---|---|
| Loading… | ||||
| Customer / Account | Contact | ||
|---|---|---|---|
| Loading… | |||
| Part / Material Name | Default Cost | Unit | Category | |
|---|---|---|---|---|
| Loading… | ||||
| Name | Role / Title | ||
|---|---|---|---|
| Loading… | |||
📋 How to set up the Power Automate flow (step-by-step)
Open OneDrive, create (or open) an Excel workbook. In a sheet named
Inventory,
select row 1 and add these column headers exactly as shown:Date | Tech | Customer | Plant | Equipment | Work Order | Item | Qty | Unit Cost | Subtotal | SummarySelect those headers + a few blank rows below, then go Insert → Table (check "My table has headers"). Name the table
TruckInventory.
Step 2 — Create a new Power Automate flow
Go to make.powerautomate.com → + New flow → Instant cloud flow. When asked to choose a trigger, pick "When an HTTP request is received", then click Create.
Step 3 — Configure the HTTP trigger schema
Inside the trigger card, click "Use sample payload to generate schema" and paste this JSON, then click Done:
{"rows":[{"date":"2025-01-15","tech":"John Smith","customer":"City of Houston","plant":"North Plant","equipment":"Pump #3","workOrder":"SC-1736000000000","item":"1/2\" Ball Valve","qty":2,"unitCost":12.50,"subtotal":25.00,"summary":"Replaced inline ball valves on suction line"}]}
Step 4 — Add "Apply to each" loopClick + New step, search for Control, select Apply to each. In the "Select an output from previous steps" field, click inside it and choose body → rows from the dynamic content panel (this loops over every item in the array).
Step 5 — Add Excel row inside the loop
Inside the loop, click Add an action, search Excel Online (Business), and select "Add a row into a table". Fill in:
- Location: OneDrive for Business
- Document Library: OneDrive
- File: browse to your workbook
- Table: TruckInventory
Date→date, Tech→tech, Customer→customer, Plant→plant, Equipment→equipment, Work Order→workOrder, Item→item, Qty→qty, Unit Cost→unitCost, Subtotal→subtotal, Summary→summary
Step 6 — Save and copy the URL
Click Save. The HTTP trigger card now shows a HTTP POST URL — click the copy icon. Paste that URL into the field above and click Save URL, then click Test to verify a test row appears in your Excel table.