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​