Provider System
Provider System
How to track equipment sources, manage providers, and filter exports by gear origin.
Table of Contents
- Overview
- Requirements
- Understanding Providers
- Provider Types
- Built-in Providers
- Custom Providers
- Assigning Providers
- Provider Management
- Bulk Operations
- Export by Provider
- Provider Reports
- Provider Colors & Visuals
- Use Cases
- Best Practices
- Troubleshooting
- Related Documentation
Overview
The Provider System helps you track where each piece of equipment comes from. This is essential for:
- Production coordination: Know who to contact for each item
- Rental management: Track rental periods and returns
- Cost tracking: Understand equipment sourcing costs
- Export organization: Generate separate lists for different vendors
- Crew coordination: Identify crew-supplied gear
Requirements
Functional Requirements
| ID | Requirement | Acceptance Criteria | Priority | Source |
|---|---|---|---|---|
| REQ-PRV-001 | The system shall provide 3 built-in provider types: Owned, Rental, Crew | Navigate to providers → 3 types available; cannot delete built-in types | Must | useProviderSelector |
| REQ-PRV-002 | The system shall allow creating custom providers with name, type, color, contact link, and notes | Click "Add Provider" → form opens; fill name + select color; save → appears in provider list; validation on empty name | Must | useProviderSelector |
| REQ-PRV-003 | The system shall allow assigning a provider to each gear list item (inline or detail panel) | Click provider cell on item → dropdown shows all providers; select → provider badge updates; persists on reload | Must | useProviderSelector |
| REQ-PRV-004 | The system shall support bulk provider assignment, change, and removal across multiple selected items | Select 5+ items → bulk toolbar → "Assign Provider"; select provider → all items updated; undo available | Must | useProviderSelector |
| REQ-PRV-005 | The system shall support filtered PDF export by provider with options for grouped or separate PDFs per provider | Click export → provider filter shown; select "Rental only" → PDF contains only rental items; "Separate" → one PDF per provider | Must | useExportLogic |
| REQ-PRV-006 | The system shall display provider color badges on gear list items | Item with provider → colored badge visible; color matches provider config; no provider → no badge; accessible contrast | Must | useProviderSelector |
| REQ-PRV-007 | The system shall prevent deletion of system providers; custom providers require item reassignment before deletion | Delete built-in → button disabled/hidden; delete custom with items → "Reassign items first" dialog; empty custom → deleted | Must | useProviderSelector |
| REQ-PRV-008 | The system shall generate provider summary reports (item counts, cost estimates, rental periods) | Open provider summary → table shows per-provider item count, total cost, date range; totals row at bottom | Should | useRentalSummary |
| REQ-PRV-009 | The system shall include provider contact information in PDF exports when enabled | Enable "Include contacts" in export → PDF shows provider name, phone, email per section; disable → contacts hidden | Should | useExportLogic |
Non-Functional Requirements
| ID | Requirement | Metric | Priority |
|---|---|---|---|
| NFR-PRV-001 | Provider assignment dropdown shall load within 100ms | Load time | Should |
| NFR-PRV-002 | Bulk provider assignment shall process ≤100 items within 500ms | Bulk operation | Should |
Data Requirements
- Provider data:
{ id, name, type, contactId?, color?, notes?, default? } - Built-in providers: Always present, cannot be deleted
- Custom providers: Stored on the project and in settings → cloud sync
- Assignments: Stored per gear-list item as
providerIdreference
Constraints & Limits
- Available to all tiers (Free and Pro)
- System providers (Owned, Rental, Crew) cannot be deleted or renamed
- Provider colours are hash-derived from the provider id (see Colour coding below); they are not configurable per provider type
Offline Behavior
- Fully available offline — all provider CRUD, assignment, and export operations work without network
- Provider changes sync to cloud when connectivity is restored
Dependencies
- Requires: Projects — providers assigned within project context
- Required by: Analytics (REQ-ANA-001) — provider cost aggregation
- Required by: Subrental — subrental provider selection
Understanding Providers
What is a Provider?
A provider represents the source of an equipment item:
- Source tracking: Where the gear comes from
- Contact linking: Connect to your contact book
- Export filtering: Generate provider-specific PDFs
- Visual identification: Color-coded in the UI
Provider Data Structure
interface Provider { id: string; name: string; type: 'owned' | 'rental' | 'crew' | 'client' | 'custom'; contactId?: string; // Link to contact color?: string; // Visual identifier notes?: string; default?: boolean; // Is this a system default }
Provider Types
System Providers (Built-in)
These providers are always available:
| Provider | Type | Use Case |
|---|---|---|
| Owned | System | Equipment you own |
| Rental | System | Generic rental house |
| Crew | System | Equipment provided by crew members |
There are three, not four. This guide listed a Client system provider until 2026-09-07. No such provider exists — the matchers are
matchOwnedGear,matchHouseGearandmatchCrewSharedGear, and the selector's sub-panels are owned / rental / crew. The wordclientin this app is a project metadata field (the customer, sitting beside name, location and dates), not a source of equipment. If a client supplies gear, record it under Rental or a custom provider named for them.
Custom Providers
Beyond the three families, an assignment names a concrete source:
- Specific rental houses (e.g., "LensPro Rentals", "CameraTech")
- Crew members with their own gear
- Production companies sharing equipment
- Partners or co-producers
See Custom Providers below for how one is set.
Built-in Providers
Owned
Equipment that belongs to you or your company.
Characteristics:
- Default provider for new items
- No return dates to track
- Insurance responsibility: You
- Maintenance: Your responsibility
Best For:
- Personal gear
- Company inventory
- Long-term investments
Rental
Generic rental provider for equipment from rental houses.
Characteristics:
- Temporary possession
- Return dates to track
- Insurance: Usually rental house
- Daily/weekly rates apply
Best For:
- One-off rentals
- When specific vendor unknown yet
- Quick assignments before finalizing vendor
Crew
Equipment provided by individual crew members.
Characteristics:
- Personal gear of crew
- Day rate or kit fee may apply
- Insurance: Crew's responsibility
- Specialized equipment
Best For:
- DP's personal camera package
- Gaffer's lighting kit
- Sound mixer's audio gear
Custom Providers
There is no provider record to create, edit or delete. This guide described a "Settings → Providers" form until 2026-09-08 — name, type, contact link, colour, notes, a Save button, an Edit/Delete list and a reassign-on-delete dialog — plus copy-paste "provider templates". None of it exists. A provider is not an entity you maintain; it is an assignment on an item, and the concrete source it points at is a rental house or a contact you already have.
Assignments are made per item, from the provider dropdown on a gear-list row (or the Providers tab of the Edit Item modal). Under Add Provider the dropdown offers the three families:
| Choice | What it points at |
|---|---|
| Owned | A unit from your own inventory — the picker shows how many match |
| Rental | One of your rental houses (or a free-text house name) |
| Crewmember | A contact, or a colleague you are connected with who shares a gear catalogue |
An item can carry several assignments, each supplying part of the quantity. Drag to reorder them, edit the per-assignment quantity inline, and remove one with the ✕ on its row. Nothing is "orphaned" by a delete, because removing an assignment only clears that row's source.
Where the named sources are maintained: rental houses in the Rental Houses surface, and crew in Contacts / Connected Crew.
Assigning Providers
Automatic Owned Assignment (on add)
When you add a device you own to a project's gear list — via Auto Gear, Project Requirements, or the device search / picker in the Equipment list — it is automatically assigned the Owned provider (your specific inventory unit), so you don't have to set it by hand.
- Availability-aware: if your owned unit is already committed to another project whose dates overlap this one ("used elsewhere"), the item is left unassigned instead — so you can decide how to source it (rental, sub-rental, etc.).
- Partial stock splits: if you need more than you have free (e.g. 3 needed, 2 free), Owned covers the free units and the remainder stays unassigned.
- New items only: items already present when you open the project are never re-assigned — only devices you add afterward. Items you deliberately left unassigned stay that way, and the automatic assignment is not a separate Undo step.
- Your own gear only: contact-owned and connected-crew shared gear are not auto-assigned — pick those from the provider dropdown as before.
Supply Suggestions
Added in v0.721.0 (#607).
When you add an item that a supply source you already have can cover, a suggestion strip appears under the gear-list row with one action: accept, and the provider assignment is written for you.
Sources are offered in this order, and only one shows at a time:
- Owned gear — first, because using it costs nothing.
- Rental house stock — when one of your own custom rental houses lists the item in its Gear tab inventory.
- Connected crew — when a colleague you are connected with shares the item in a rental catalogue.
Dismissing the strip with the ✕ hides it for that row. Matching is exact: the item's device-library link first, then its name after normalisation, so a free-text item matches a house's free-text stock by name. A house you have merged into another is never suggested — the surviving house is.
Catalogue Checks
Once a rental house has stock of its own, the provider chip stops taking your word for it:
| Warning | Means |
|---|---|
| Not in House's catalogue | The row names a house whose Gear tab does not list this item. |
| Only N at House | The house stocks it, but fewer units than the row asks for. |
| No longer in Name's shared catalogue | A connected colleague has withdrawn an item you had already assigned from their share. |
A house with no stock entered at all warns about nothing — an empty inventory is not evidence that an item is missing.
Single Item Assignment
Method 1: Inline Edit
- Open project workspace
- Find the item to update
- Click the provider badge or provider column
- Select provider from dropdown
- Optionally add provider-specific notes
Method 2: Item Detail Panel
- Click on item to open detail panel
- Find Provider section
- Select provider from dropdown
- Add pickup/return dates (for rentals)
- Add notes specific to this provider
- Save changes
Provider-Specific Details
When assigning a provider, you can add:
For Rentals:
- Pickup date and time
- Return date and time
- Rental rate (daily/weekly)
- Confirmation number
- Contact person
For Crew:
- Crew member name
- Kit fee or day rate
- Special handling instructions
For All Providers:
- Provider-specific notes
- Condition notes
- Insurance information
Provider Management
There is no provider dashboard and no provider statistics screen. This guide described both until 2026-09-07 — a "Settings → Providers" overview with counts, filter, search and sort-by-usage, per-provider details (items assigned, active projects, associated contacts, recent activity), and statistics including a "Trends: usage over time" view. None of it exists: there is no Providers tab in Settings, and nothing in the codebase implements a provider dashboard or provider statistics. (The one "Providers" heading in Settings belongs to AI Integration and means AI model providers — OpenAI, Anthropic, Gemini — which is unrelated to gear.)
Where providers actually live. They are managed per item and per project, not from a central screen:
- Rental houses are maintained in the Rental Houses surface, and their stock feeds the catalogue check described above.
- A single item's provider is set from the item's provider selector (owned / rental / crew).
- Many items at once — see Bulk Operations below.
Bulk Operations
Bulk Provider Assignment
Assign providers to multiple items at once:
-
Select items:
- Click checkbox on each item
- Or use "Select All" in category
- Or use "Select Category"
-
Open the bulk bar:
- It appears once items are selected; the grouped menu is "Bulk actions"
- There is no right-click menu on the gear list — this guide described one until 2026-09-07
-
Click "Assign provider" and choose the provider in the selector that opens.
-
Other bulk controls sit beside it: Apply (the confirm button, not "Apply to Selected"), Batch status, Edit properties, Set camera, Set status, Quantity, and the Move to category / department / project / gear list / temp gear group.
Changing or clearing a provider in bulk
"Assign provider" is the only bulk provider control, and it covers both cases — assigning over an
existing provider is how you change one. This guide described separate "Remove Provider" and
"Change Provider" actions until 2026-09-07, along with a "keep or overwrite provider notes"
choice. None of the three exists; the None (remove) option in the bulk bar belongs to Set
camera, not to providers.
Export by Provider
Filtered PDF Export
Generate PDFs filtered by provider:
Steps:
- Open project workspace
- Click "Export" button
- Choose "Advanced Export"
- Enable "Filter by Provider"
- Select provider(s) to include:
- Single provider: One provider only
- Multiple providers: Check multiple
- All: Include all providers (default)
- Configure other export options
- Click "Generate PDF"
Export Options by Provider
Group by Provider:
Organize PDF sections by provider:
Project: Corporate Shoot OWNED EQUIPMENT - Camera A - Lens Kit RENTAL: LensPro Rentals - Telephoto Lens - Lighting Kit CREW: John Smith (DP) - Specialty Filters
Separate PDFs per Provider:
Generate individual PDFs for each provider:
- Enable "Separate PDFs by Provider"
- Each provider gets own PDF
- Download as ZIP or individual files
- Useful for sending to specific vendors
Provider Contact Information
Include provider contacts in export:
- Enable "Include Provider Contacts"
- PDF includes:
- Provider name
- Contact person
- Phone/email
- Address (if rental house)
Provider Reports
Provider Summary Report
Generate a summary of all providers in a project:
Access: Project → Reports → Provider Summary
Report Contents:
Provider Summary: Corporate Shoot OWNED (5 items) - 2 Cameras - 3 Lenses Total value: $25,000 RENTAL: LensPro Rentals (3 items) - 1 Telephoto Lens - 2 Lighting fixtures Rental period: Mar 15-17, 2026 Estimated cost: $450 CREW: John Smith (2 items) - Specialty filters - Custom rig Kit fee: $200/day
Provider Comparison
There is no cross-project provider comparison report. This guide offered one at "Settings → Providers → Comparison Report" until 2026-09-08, with most-frequently-used, item counts, cost analysis and rental-duration trends. Nothing implements it. The one Comparison Report in the app belongs to quote comparison and compares rental-house quotes for a single project — see Sub-Rentals.
Provider Colors & Visuals
Default Color Scheme
Provider colours are derived, not assigned. getProviderColor(providerId) hashes the provider's
id and indexes a fixed 20-colour palette (#FF6B6B, #4ECDC4, #45B7D1, …) defined in
app/src/data/devices/providerColors.js. The same provider therefore always gets the same colour,
and two providers can collide — the palette is for telling groups apart in a PDF export, not a brand
system.
This guide published a fixed table until 2026-09-07 — Owned green
#22c55e, Rental blue#3b82f6, Crew purple#a855f7, Client orange#f97316. No such mapping exists: none of those four hexes appears in the palette, and no code assigns a colour per provider type.
Visual Indicators
In Project List:
- Provider badge on each item
- Color-coded border or background
- Provider icon
In PDF Export:
- Color-coded sections
- Provider headers
- Legend explaining colors
In Provider Selector:
- Color swatch
- Provider icon
- Usage count
Customizing Colors
Colours cannot be customized — there is no colour picker, because there is no provider record to attach one to. Each provider's colour is derived from its id, as described above.
Use Cases
Use Case 1: Rental House Management
Scenario: Production using multiple rental houses
Setup:
- Create custom providers:
- "LensPro Rentals"
- "CameraTech NYC"
- "LightWorks"
- Assign gear to appropriate rental house
- Add pickup/return dates
- Track confirmation numbers
Export:
- Generate separate PDFs for each rental house
- Include contact information
- Send to vendors for pickup coordination
Use Case 2: Crew Kit Coordination
Scenario: DP and Gaffer bringing personal gear
Setup:
- Create providers:
- "Sarah Chen (DP)"
- "Mike Rodriguez (Gaffer)"
- Link to crew contacts
- Add kit fees
- Note any special handling
Benefits:
- Clear responsibility
- Easy kit fee tracking
- Contact info readily available
Use Case 3: Client-Provided Equipment
Scenario: Client providing specialty equipment
Setup:
- Create provider: "Acme Corp (Client)"
- Mark items as client-provided
- Add insurance notes
- Note special handling requirements
Export:
- Separate section for client gear
- Highlight insurance responsibilities
- Include client contact
Use Case 4: Cost Tracking
Scenario: Tracking production equipment costs
Setup:
- Assign all rental items with rates
- Calculate rental periods
- Compare owned vs rental costs
- Generate cost reports
Benefits:
- Budget planning
- Cost analysis
- Future rental decisions
Best Practices
1. Assign Providers Early
- Set providers when adding items
- Easier than bulk assignment later
- Ensures nothing is missed
2. Use Consistent Naming
- Standardize rental house names
- Full company names, not abbreviations
- Consistent crew member format
Examples:
- ✅ "LensPro Rentals - NYC"
- ✅ "Sarah Chen (DP)"
- ❌ "LensPro"
- ❌ "Sarah"
3. Link Contacts
- Connect providers to contacts
- Quick access to phone/email
- Automatic updates if contact changes
4. Add Detailed Notes
Include useful information:
- Pickup/return times
- Special handling instructions
- Insurance requirements
- Account numbers
5. Regular Review
- Check provider assignments before export
- Verify rental dates are current
- Update contact information
- Archive unused custom providers
6. Export Strategy
- Export by provider for vendor coordination
- Include contact information
- Generate separate PDFs for clarity
- Keep master list with all providers
Troubleshooting
Provider Not Showing in List
Issue: Custom provider doesn't appear in selector
Solutions:
- Check if provider was saved
- Refresh the page
- Verify provider is not archived
- Check filter settings
Provider Export Empty
Issue: PDF export for specific provider shows no items
Solutions:
- Verify items are assigned to that provider
- Check if filters are excluding items
- Ensure export settings include provider
- Try regenerating PDF
Cannot Delete Provider
Issue: Delete option grayed out
Reasons:
- System providers cannot be deleted
- Provider has assigned items
- Provider is used in active projects
Solutions:
- Reassign or remove provider from all items
- Archive projects using this provider
- For custom providers, use "Reassign All" option
Provider Colors Not Showing
Issue: Colors not visible in UI
Solutions:
- Check color contrast settings
- Verify color was saved
- Try different color
- Check for CSS conflicts
Contact Link Broken
Issue: Provider shows "Contact not found"
Solutions:
- Check if contact was deleted
- Re-link provider to contact
- Update contact information
- Remove contact link if no longer needed
Related Documentation
- User Guide - Comprehensive user documentation
- PDF Export - Export options and customization
- Contact Management - Managing contacts
- Settings - Provider configuration
← Back to User Guide | Next: Data Storage →
Last Updated: 2026-09-08 Version: 0.790.2
