Skip to content

Order to Invoice Workflow

Cross-Module Workflow

This guide describes the workflow from sales order creation to invoice generation and payment processing.

Overview

The Order to Invoice workflow covers:

  1. Order Processing (Sales Module)

    • Sales order creation and validation
    • Order confirmation
    • Inventory reservation
  2. Order Fulfillment (Operations Module)

    • Pick list generation
    • Packing and shipping
    • Delivery tracking
  3. Invoice Generation (Sales Module)

    • Automatic invoice creation upon shipment
    • Invoice line items and calculations
    • Tax and discount application
  4. Payment Processing (Finance Module)

    • Payment recording and reconciliation
    • Multiple payment methods
    • Partial payments support
  5. Financial Recording (Finance Module)

    • Journal entry creation
    • Accounts receivable updates
    • Revenue recognition

State Transitions

Order (CONFIRMED) -> Order (IN_PROGRESS) -> Order (SHIPPED) -> Order (DELIVERED)
Invoice (DRAFT) -> Invoice (SENT) -> Invoice (PARTIALLY_PAID) -> Invoice (PAID)

Integration Points

  • Sales orders trigger inventory reservations in Operations via OrderConfirmed event
  • Shipment completion triggers invoice generation via OrderShipped event
  • Invoice payments create Finance journal entries via PaymentReceived event
  • Domain events coordinate cross-module workflows without direct coupling

API Flow Example

http
# 1. Confirm order (reserves inventory)
POST /api/v1/sales/orders/{id}/confirm

# 2. Ship order (triggers invoice)
POST /api/v1/sales/orders/{id}/ship

# 3. Apply payment to invoice
POST /api/v1/sales/invoices/{id}/payments

Documentation for SynthesQ CRM/ERP Platform