Overview
What Budgeting Pro Does Today
Budgeting Pro is a Shopify-connected Laravel + Filament application for B2B purchasing control.
Each Shopify shop gets its own subdomain. Inside that subdomain the product is split into:
- an Admin Panel at
/admin for the shop-level super admin
- an App Panel at
/app for company users
The current implementation focuses on:
- Shopify shop onboarding
- company onboarding and tenant access
- location management
- location budget management
- Shopify draft order review and completion
- company user management
Current Feature Set
Shop-level features
- Create a shop-scoped super admin account during Shopify install
- Send the super admin credentials by email
- Resolve each shop by subdomain
- Require subscription approval after the initial access window
- Show shop-level dashboard statistics
- Import companies from Shopify
- Upload a shop logo
- Change the admin password
Company-level features
- Company self-registration from the app panel
- Email verification before company creation is finalized
- OTP login for company users
- Multi-tenant company access for users assigned to more than one company
- Dashboard widgets for draft order states
- Draft order list and order detail view
- Order line add, edit, and delete actions when allowed
- Order comments
- Location creation and update
- Location user assignment
- Yearly and monthly budgets per location
- Company user creation and maintenance
Panel Structure
Admin Panel
The admin panel is shop-scoped. It currently exposes:
- Dashboard
- Companies
- Logo Upload
- Change Password
The admin dashboard shows counts for companies, users, orders, and recent activity for the current shop.
App Panel
The app panel is company-scoped through Filament tenancy. It currently exposes:
- Dashboard
- Users
- Locations
- Draft Orders
If a user belongs to more than one company, Filament tenant selection is used to switch company context.
How the Main Workflows Work
Shop installation
- A merchant installs and authorizes the Shopify app.
- The app creates or updates the local shop record.
- A shop-scoped super admin user is created from the Shopify shop contact email.
- The super admin receives login credentials by email.
- The merchant is redirected to the shop subdomain.
Company onboarding
- A company user opens
/app/register.
- They submit company, location, address, contact, and payment-terms details.
- The system creates a pending registration and sends an email verification link.
- After verification, a background job creates the Shopify company, local company, first location, and company admin relationship.
Purchasing workflow
- Shopify draft orders are imported into the app.
- Company users review them in Draft Orders.
- Budget status is calculated from the assigned location budget.
- Depending on role and order state, users may update lines, send to rework, or confirm the order in Shopify.
- When an order is completed successfully in Shopify, a budget transaction is recorded.
What Is Not Part of the Current Build
The current codebase does not expose several items that older documentation referenced, including:
- a separate reports module
- a company settings page in the app panel
- configurable multi-level approval matrices
- bulk CSV user import
- SSO, LDAP, or directory sync
- an embedded support center or in-app chat
- generic analytics exports from the UI
The rest of this documentation set describes the implemented behavior in the current application.