Sales

XBuddy Sales turns a won opportunity into cash. It manages the entire order-to-cash chain — from a customer quotation, through a confirmed sales order, to a delivery order that decrements stock and an invoice that gets paid. Every document in the chain is linked, so a rep can trace a shipment back to the quote that started it, and Finance can see exactly what was ordered, delivered, and billed — without re-entering a single number.

Who uses it: sales reps who build quotes and orders, sales managers who set price lists and track commissions, warehouse users who fulfil delivery orders, and finance users who bill against confirmed orders. Because line items carry per-line tax and discount, unit-of-measure conversions, and product references, the numbers stay consistent from the first quote to the final invoice.

Before you start

Prerequisites

You needWhyWhere
At least one product or inventory itemQuote and order lines reference a catalog record; a line without one cannot resolve unit of measure, price list, or COGS/prod-mkt/catalog, /inventory/items
A contact (and usually an account)The customer on the quote; also decides which price list and payment terms apply/crm/contacts
A price list (optional but recommended)Without one, every line is priced manually and nothing enforces consistency/sales/price-lists
A warehouse with stockOnly needed once you ship: a delivery order decrements a real warehouse/inventory/warehouses
Chart of accounts mappedNeeded the moment an invoice posts revenue and COGS/accounting/chart-of-accounts

Products & Services (/prod-mkt/catalog) is the commercial list for non-stock offerings. Physical goods live in Inventory. If the same service will be scheduled, SLA-tracked, or invoiced through Service Management, create one operational rate card and link the SKU — otherwise converting a quotation to a Service Order is rejected. A Sales-only digital SKU does not need a rate card.

Permissions that unlock each area

Permissions are AND-ed, not inherited: holding sales:read does not grant quotations:read. A user needs the specific key for each screen.

PermissionUnlocks
quotations:read / quotations:writeView / build quotations
quotations:sendSend a quote to the customer
quotations:approveApprove a quote that hit an approval rule
sales_orders:read / sales_orders:writeView / create and confirm sales orders
delivery_orders:read / :writeView / create delivery orders
delivery_orders:pick · :pack · :ship · :deliverThe four fulfilment steps, grantable separately so a picker is not also a shipper
sales_price_lists:read / :writeView / maintain price lists
products:readResolve catalog lines
commissions:readSee your own earnings
commissions:teamSee the team’s earnings
commission_runs:read / :write / :approveRun and approve commission periods
sales:adminQuotation templates, sales teams, pipeline settings

Which records you see

Sales records are owner-scoped (Axis 7). A role’s tier decides the row set:

TierA rep sees
ownQuotes and orders where they are the assignee or creator
teamThe above plus their direct and indirect reports’, resolved through the manager chain
allEverything in the company
noneNothing — an explicit revocation that a role holding sales_orders:read can still be given

The tier is set per resource under Settings → Roles → Data scope. Scope narrows rows; it never widens what the permission already allows.

Key Features

  • Quotation builder with reusable templates, per-line tax and discount overrides, and before/after-tax columns
  • Quote → Sales Order → Delivery Order → Invoice document chain with full traceability and one-click hand-off
  • Five configurable revenue recognition methods — recognize revenue on invoice, on order confirmation, on shipment, on completion, or at custom milestones
  • Customer-specific and tiered price lists applied automatically on the line
  • Customer returns / RMA with stock and financial reversal (credit note)
  • Commission rules with a rep-facing My Earnings and My Performance view
  • Sales teams and reps roster for organizing quota and commission attribution
  • Sales product catalog surfacing both stock and non-stock sellables
  • Sales channels for splitting revenue by storefront, marketplace, or team
  • Pipeline analytics, weighted forecast, and win/loss analysis for managers
  • Reusable quotation and order templates for fast, consistent quoting
  • AI Hub with the Sales Coach assistant reviewing every open deal, quote, and order

Screen map

Every route below exists in the app. Anything the docs claim but the code lacks is caught by pnpm validate:site-docs (rule D4).

Selling

ScreenRouteWhat it is forPermission
Sales overview/salesPipeline value, open quotes, orders awaiting fulfilmentquotations:read
Quotations/sales/quotationsThe quote list; filter by statusquotations:read
Quotation detail/sales/quotations/[id]Lines, totals, document chain, e-signature, convert actionsquotations:read
New / edit quote/sales/quotations/new, /sales/quotations/[id]/editThe builderquotations:write
Quotation templates/sales/quotation-templatesReusable line sets and termssales:admin
Sales orders/sales/ordersConfirmed orders and their fulfilment statesales_orders:read
Sales order detail/sales/orders/[id]Lines, delivered vs invoiced quantities, chain, revenue recognitionsales_orders:read
Order templates/sales/sales-order/templatesRecurring order shapessales:admin

Fulfilment and returns

ScreenRouteWhat it is forPermission
Delivery orders/sales/delivery-ordersEverything queued to shipdelivery_orders:read
Delivery order detail/sales/delivery-orders/[id]Pick → pack → ship → deliver, serial/lot capturedelivery_orders:read
Returns / RMA/sales/returnsCustomer returns and their financial reversalsales_orders:read
Return detail/sales/returns/[id]Received quantities, restock, credit notesales_orders:read

Pricing and catalog

ScreenRouteWhat it is forPermission
Price lists/sales/price-listsCustomer and tier pricingsales_price_lists:read
Price list detail/sales/price-lists/[id]Per-product rows and validity windowsales_price_lists:read
Products/sales/productsThe sellable catalog as Sales sees itproducts:read

People, commission and analysis

ScreenRouteWhat it is forPermission
Sales reps/sales/repsThe roster Sales ownssales:read
Sales teams/sales/teamsTeam grouping; opt-in featuresales:admin
Commission runs/sales/commissionsPeriod runs awaiting approvalcommission_runs:read
Run detail/sales/commissions/[runId]Line-level attributioncommission_runs:read
Commission plans/sales/commissions/plansRules and ratescommission_runs:write
Team earnings/sales/commissions/earningsWhat the team earnedcommissions:read
My earnings/sales/commissions/my-earningsA rep’s own figurescommissions:read
My performance/sales/my-performanceA rep’s own attainmentcommissions:read
Team performance/sales/performanceManager view of attainmentdeals:read
Channels/sales/channelsRevenue split by channelsales:read
Reports/sales/reportsSales reportingquotations:read
Settings/sales/settings, /sales/settings/pipelineApp configurationsales:admin
Automation/sales/automation/agents, /sales/automation/workflowsAI agents and workflows scoped to Salesagents:read / workflow:read

Important features

Full feature reference

Nav itemWhat it does
OverviewSales dashboard with revenue, open orders, quotation-to-order conversion rate, and a chart of sales by period.
QuotationsBuild, send, and track customer price proposals with per-line tax/discount and template reuse. Convert accepted quotes to orders.
Sales OrdersConfirmed commercial commitments. Reserve stock for product lines, track fulfilment status, choose a revenue recognition method, and generate delivery orders and invoices.
Delivery OrdersPicking and dispatch documents that post a goods issue in Inventory and decrement on-hand stock for the shipped, product-only lines.
Customer ReturnsRMA workspace that reverses stock (goods back in) and finances (credit note) against the original sale.
Sales ProductsSellable catalog surfacing both non-stock products and stock items flagged as sellable, used by the line-item picker across quotes and orders.
Sales Price ListsCustomer- or tier-specific price tables applied automatically to matching line items on quotes and orders.
Sales ChannelsRevenue-splitting dimension (storefront, marketplace, team) for analyzing where sales come from.
My EarningsRep-facing view of accrued and paid commission per deal and period, scoped to that rep only.
My PerformanceRep-facing quota attainment, win rate, and sales trend against targets, scoped to that rep only.
CommissionsCommission rule engine (flat/tiered/per-category) with run periods and manager approval, feeding rep earnings.
Sales TeamsOptional roster of teams for organizing reps and, when enabled, scoping pipeline visibility.
Sales RepsRoster of individual reps, their team assignment, and their quota.
ReportsSales reporting hub: revenue by product/customer/channel, order aging, and commission summaries with CSV export.
Pipeline AnalyticsManager report on open value, stage distribution, and conversion across the sales pipeline.
Pipeline ForecastWeighted revenue projection by period, owner, and stage for committed vs. best-case planning.
Win/Loss AnalysisReport on closed-won vs. closed-lost with reasons, helping refine pricing and process.
Sales Quotation TemplatesReusable quotation blueprints with pre-filled line items for fast, consistent quoting.
Sales Order TemplatesReusable order blueprints for recurring or standard-configuration orders.
AI HubRun Sales AI assistants (Sales Coach) and review their suggestions inline before approving any action.
WorkflowsAutomation for sales events — e.g. notify a manager on a large order, or auto-create a delivery order on confirmation.
SettingsConfigure document numbering, tax defaults, revenue recognition, commission rules, data scope, feature toggles (including Sales Teams), and sales master data.

Integration points

Connects toHow the data flows
CRMA won deal generates a quotation with the account, contact, and amount pre-filled, and confirming a linked Sales Order advances the deal to Won — keeping the opportunity linked to its fulfilling documents end to end.
FinanceA confirmed, shipped, or milestone-triggered Sales Order posts revenue per its recognition method; invoicing nets off whatever has already been recognized. Customer returns raise credit notes against the customer balance.
InventoryDelivery orders post a goods issue and decrement on-hand stock for product lines only; returns receive goods back into the warehouse. Stock reservation happens on order confirmation, before any goods physically move.
Product & MarketingThe sellable product catalog and price lists originate from the shared catalog used across the platform, so pricing stays consistent between Sales and any customer-facing storefront.
Service ManagementA mixed order with real service delivery — scheduling, technician dispatch, completion sign-off — should be routed through a Service Order rather than relying on a Sales Order’s simplified service-line fulfilment.
PayrollApproved commission amounts can flow to Payroll as a payout component for the pay period.
AgentWhat it does
Sales CoachReviews open deals, quotes, and orders across the pipeline, spots stalled or under-discounted opportunities and overdue quotations, and suggests next actions — a follow-up, a price adjustment, an escalation — for a rep or manager to approve.
CS GuardianWatches customers for churn and renewal risk after the sale closes, surfacing retention actions before recurring revenue slips.

Sales Coach never sends anything to a customer or changes a document on its own. Every suggestion — a follow-up task, a discount recommendation, an escalation — lands as a card you review and approve from the AI Hub or directly on the relevant quote/order.

In this guide