The app panel manages purchasing activity through the Draft Orders resource.
This is the implemented order-management surface in the current build.
There is no separate create-order screen in the Filament resource. Orders are expected to come from Shopify draft-order data.
The list currently shows:
CompanyAdmin sees company orders for the current tenantThe order status enum currently defines:
draftpending_approvalneeds_reworkapprovedprocessingcompletedcancelledfailedThese statuses are also used for dashboard widgets and badge colors.
The order detail page can show these header actions when policy rules allow them:
needs_reworkprocessingcompleted or failedAction visibility is role- and state-dependent. If an action is not visible, it is not available for the current user in the current order context.
Each order includes an Order Lines relation manager.
In the current code, general order editing is intentionally narrow:
Requester can edit their own order only when it is in needs_reworkCompanyAdmin can edit other editable ordersEach order also includes a Comments relation manager.
The order detail page includes a budget-status widget.
It shows yearly and monthly budget checks for the current order based on the assigned location budget.
The list view also exposes:
The current policy logic is centered on:
In practice:
Orderer and OrdererAdmin can view orders for their assigned locationsCompanyAdmin can view company orders across locationsBudgetAdmin is not granted draft-order viewing rights by DraftOrderPolicyWorkflow actions such as rework and Shopify confirmation are more restricted than plain viewing.
Reading directly from DraftOrderPolicy, the current workflow permissions are:
Orderer attached to the order location: yesOrdererAdmin attached to the order location: yesCompanyAdmin: yesBudgetAdmin: not explicitly allowedThe policy intends this to be for a Requester who:
draft or needs_reworkHowever, the current status condition in the policy is written so narrowly that this action may not appear in practice even when the workflow suggests it should.
CompanyAdmin: allowedOrderer attached to the order location: allowedOrdererAdmin: not granted by this policy methodBudgetAdmin: not granted by this policy methodThere is also a special restriction preventing the creator from sending their own order to rework when they are acting as OrdererAdmin or CompanyAdmin.
CompanyAdmin: allowedOrdererAdmin attached to the order location: allowedOrderer attached to the order location: allowed only when the order is not budget-exceededRequester: not allowedBudgetAdmin: not allowedThese role checks are stricter than the older generic approval language, so they are the rules to use when training users on the current build.