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

  1. A merchant installs and authorizes the Shopify app.
  2. The app creates or updates the local shop record.
  3. A shop-scoped super admin user is created from the Shopify shop contact email.
  4. The super admin receives login credentials by email.
  5. The merchant is redirected to the shop subdomain.

Company onboarding

  1. A company user opens /app/register.
  2. They submit company, location, address, contact, and payment-terms details.
  3. The system creates a pending registration and sends an email verification link.
  4. After verification, a background job creates the Shopify company, local company, first location, and company admin relationship.

Purchasing workflow

  1. Shopify draft orders are imported into the app.
  2. Company users review them in Draft Orders.
  3. Budget status is calculated from the assigned location budget.
  4. Depending on role and order state, users may update lines, send to rework, or confirm the order in Shopify.
  5. 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.