Skip to main content

Standard Sales Path

The most common sales flow: Sales Order → Item Fulfillment → Invoice → Customer Payment


Flow Diagram

STANDARD SALES PATH
─────────────────────────────────────────────────────────────────

┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ SALES ORDER │ │ ITEM FULFILLMENT│ │ INVOICE │ │ PAYMENT │
│ │ │ │ │ │ │ │
│ GL: None │ ──▶ │ GL: None* │ ──▶ │ GL: Yes │ ──▶ │ GL: Yes │
│ Inv: Commits │ │ Inv: Reduces │ │ Inv: None │ │ Inv: None │
└─────────────────┘ └─────────────────┘ └─────────────────┘ └─────────────────┘

* GL at Fulfillment only if "Post COGS at Fulfillment" is enabled

Stage 1: Sales Order Creation

What Happens

ActionResult
Create SORecord saved with status "Pending Fulfillment"
Items addedQuantity committed against inventory
Pricing appliedExtended amount calculated
Taxes calculatedTax lines created if applicable

Inventory Impact

INVENTORY COMMITMENT ON SALES ORDER
─────────────────────────────────────────────────────────────────

Before SO:
┌─────────────────────────────────────────┐
│ Item: Widget-001 │
│ On Hand: 100 │
│ Committed: 0 │
│ Available: 100 │
└─────────────────────────────────────────┘

After SO (Qty: 25):
┌─────────────────────────────────────────┐
│ Item: Widget-001 │
│ On Hand: 100 (unchanged) │
│ Committed: 25 (reserved for SO) │
│ Available: 75 (100 - 25) │
└─────────────────────────────────────────┘

GL Impact

None - Sales Order does not post to General Ledger.

Sales Order Statuses

StatusMeaning
Pending ApprovalNeeds approval workflow
Pending FulfillmentReady to ship
Pending BillingShipped, awaiting invoice
Pending Billing/Partially FulfilledPartial ship, more to fulfill
BilledFully invoiced
ClosedManually closed

Stage 2: Item Fulfillment

What Happens

ActionResult
Create IF from SOFulfillment record linked to SO
Confirm quantitiesShipping quantities finalized
Save IFInventory physically reduced
SO status updatesChanges to "Pending Billing"

Creating Item Fulfillment

FULFILLMENT CREATION
─────────────────────────────────────────────────────────────────

Sales Order #SO-001
├── Line 1: Widget-A (Qty: 10) ──▶ Fulfill: 10 ✓
├── Line 2: Widget-B (Qty: 5) ──▶ Fulfill: 5 ✓
└── Line 3: Widget-C (Qty: 20) ──▶ Fulfill: 15 (partial)

Result: Item Fulfillment #IF-001 created
SO Status: Pending Billing/Partially Fulfilled

Inventory Impact

INVENTORY AFTER FULFILLMENT
─────────────────────────────────────────────────────────────────

Before Fulfillment (SO committed 25):
┌─────────────────────────────────────────┐
│ On Hand: 100 │
│ Committed: 25 │
│ Available: 75 │
└─────────────────────────────────────────┘

After Fulfillment (25 units shipped):
┌─────────────────────────────────────────┐
│ On Hand: 75 (reduced by 25) │
│ Committed: 0 (released) │
│ Available: 75 (same as On Hand) │
└─────────────────────────────────────────┘

GL Impact

Typically None - Standard behavior posts COGS at invoice time.

Exception: If using Standard Costing with "Post Inventory Cost to COGS at Fulfillment":

AccountDebitCreditWhy?
COGS$500Expense recognized early (Expense ↑)
Inventory Asset$500Goods left warehouse (Asset ↓)
WHY POST COGS AT FULFILLMENT?
─────────────────────────────────────────────────────────────────

Standard (default): COGS posts at Invoice
- Revenue and cost match in same period
- Most common approach

Exception: COGS at Fulfillment
- Cost recognized when goods ship
- Used when revenue recognition is delayed
- Inventory reduced immediately

Partial Fulfillment

PARTIAL FULFILLMENT SCENARIO
─────────────────────────────────────────────────────────────────

SO #001: 100 units ordered

├── IF #001: 40 units shipped
│ └── SO Status: Pending Billing/Partially Fulfilled

├── IF #002: 35 units shipped
│ └── SO Status: Pending Billing/Partially Fulfilled

└── IF #003: 25 units shipped (final)
└── SO Status: Pending Billing (fully fulfilled)

Stage 3: Invoice

What Happens

ActionResult
Bill from SOInvoice linked to SO and IF
Revenue recognizedGL entries posted
A/R createdCustomer owes money
SO status updatesChanges to "Billed"

GL Impact

AccountDebitCreditWhy?
Accounts Receivable$1,000Customer owes you $1,000 (Asset ↑)
Sales Revenue$850You earned $850 (Revenue ↑)
Sales Tax Payable$150You owe tax to government (Liability ↑)
COGS*$500Cost of items sold (Expense ↑)
Inventory Asset*$500Items left your warehouse (Asset ↓)

*COGS posts at invoice if not posted at fulfillment

GL ENTRY BREAKDOWN - INVOICE
─────────────────────────────────────────────────────────────────

REVENUE SIDE (what you earned):
A/R (Asset) $1,000 Dr ← Customer owes you
Revenue $850 Cr ← Money earned
Tax Payable (Liability) $150 Cr ← Tax owed

COST SIDE (what it cost you):
COGS (Expense) $500 Dr ← Expense recognized
Inventory (Asset) $500 Cr ← Stock reduced

Total Debits: $1,500
Total Credits: $1,500 ✓ Balanced!

Invoice Creation Options

INVOICE CREATION OPTIONS
─────────────────────────────────────────────────────────────────

Option 1: Invoice all fulfilled items
SO #001 → IF #001 (40 units) ─┐
→ IF #002 (35 units) ─┼──▶ Invoice #INV-001 (75 units)

└── Partial billing possible

Option 2: Invoice per fulfillment
SO #001 → IF #001 (40 units) ──▶ Invoice #INV-001 (40 units)
→ IF #002 (35 units) ──▶ Invoice #INV-002 (35 units)

Stage 4: Customer Payment

What Happens

ActionResult
Apply payment to invoiceA/R reduced
Deposit createdBank account increased
Invoice statusChanges to "Paid In Full"

GL Impact

Step 1: Customer Payment Received

AccountDebitCreditWhy?
Undeposited Funds$1,000Money received, waiting for deposit (Asset ↑)
Accounts Receivable$1,000Customer no longer owes you (Asset ↓)
PAYMENT GL EXPLAINED
─────────────────────────────────────────────────────────────────

Before Payment:
A/R = $1,000 (customer owes you)
Cash = $0

After Payment:
A/R = $0 (debt cleared)
Undeposited Funds = $1,000 (money in hand, not yet in bank)

Think: Customer's IOU → Actual money in your hands

Step 2: When Deposit is Made (Bank Deposit record)

AccountDebitCreditWhy?
Bank Account$1,000Money in your bank (Asset ↑)
Undeposited Funds$1,000No longer holding cash (Asset ↓)

Why Two Steps? You might receive multiple checks throughout the day and deposit them together.


Complete Timeline

STANDARD PATH TIMELINE
─────────────────────────────────────────────────────────────────

Day 1: Sales Order Created
└── GL: Nothing posted
Inv: 25 units committed

Day 2: Item Fulfillment Saved
└── GL: Nothing posted (standard costing)
Inv: 25 units shipped (On Hand reduced)

Day 3: Invoice Created
└── GL: Revenue + A/R + COGS + Inventory posted
Inv: No change (already shipped)

Day 10: Customer Payment Received
└── GL: Undeposited Funds + A/R cleared
Inv: No change

Day 10: Bank Deposit Made
└── GL: Bank + Undeposited Funds cleared
Inv: No change

RecordRelationship
CustomerSO.entity field
ItemSO line items
LocationSource of inventory
Shipping ItemShipping method
Tax CodeTax calculation
TermsPayment terms
Sales RepCommission tracking

Next Steps