Managing Sales of Items in the Buy-to-Order Flow Using Advance Payment

This document explains what happens in the point of sale (POS) system and in M3 when a customer wants to buy an item that is not normally kept in stock and therefore needs to be purchased from another supplier. The customer pays in advance for the item.

Outcome

A customer order is created in M3 at a service desk in the shop using the buy-to-order functionality. An advance invoice is created automatically and is given to the customer in the shop. The customer pays for the item in advance (either a down payment or full payment), and sales information is uploaded to M3 via a point of sale interface. Accounts receivable and the general ledger are updated.

When the customer returns to the shop to pick up the acquired item, the customer order is released, the item is picked and a final invoice is created. Sales information with the remaining amount to be paid is once again uploaded to M3 and the stock level, sales statistics, accounts receivable and general ledger are updated.

The following files are updated:

  • Sales ticket input file-OPSALE
  • Stock balance files-MITTRA, MITBAL and MITSTA
  • Sales statistics file-OSBSTD
  • Accounts receivable ledger-FSLEDG
  • General ledger-FGLEDG

Before you start

  • Accounting types 100 and 101 must be defined in 'Accounting Type. Open' (CRS385).
  • Accounting event OP35 must be defined in 'Accounting Event. Open' (CRS375).
  • The 'Invoice payments' FAM function must be selected in 'Settings - POS' (OPS700).
  • A voucher number series for OP35 in 'FAM Function. Open' (CRS405) must be selected.
  • Accountings for invoice payments (OP35) must be defined in 'Accounting Rule. Set' (CRS395).

Follow these steps

  1. The customer orders a specific item at a service desk

    The customer wants to buy an item that is not normally kept in stock and therefore needs to be purchased from another supplier. The customer places an order for this specific item in the shop.

  2. Enter the customer order in the buy-to-order flow and initiate advance invoicing online

    The customer order is entered directly in M3's buy-to-order functionality. A customer order is created together with a purchase order. An advance invoice is automatically created and printed in the buy-to-order flow in order to facilitate immediate payment of the item in the shop. The customer leaves the service desk with the advance invoice.

  3. Identify the customer and advance invoice at POS

    The customer takes the advance invoice to a point of sale to pay for the item. The advance invoice and the customer are identified through the 'Customer Order Invoice Interface' (OIS350MI). The 'GetInvHead' (Retrieve Invoice Header) and 'GetInvLine' (Retrieve Invoice Line) transactions are used.

  4. Enter payment and get a receipt

    A payment is entered that can be either a full payment or a down payment. In our example, EUR 100 is paid in advance. The total value of the ordered item is EUR 300. It is possible to have many different payment methods per receipt; that is, multiple 4590 transactions. For example, a payment can be made in cash, with a check or by credit card. Furthermore, if the customer receives money back or the amount is rounded off according to standard practices, then a 4590 transaction is created.

    Example of a receipt with a down payment:

    Receipt No. 123456

    Invoice No.

    Invoice year

    Amount

    1002 2004 Advance 100.00
    Subtotal 100.00
    To pay 100.00
  5. Upload sales information to M3

    After the payment is entered, it is uploaded to M3 through the point of sale application programming interface 'POS sales tickets interface' (OPS270MI). Two different transaction types are used:

    • Transaction type 4500=Payment of Invoice
    • Transaction type 4590=Payments

    The OPSALE sales ticket input file is updated as described in this table:

    Transaction type Customer No. Invoice No. Invoice year Payment method Amount
    4500 10001 1002 2004 100.00
    4590 Cash (CSH) 100.00
  6. Update accounts receivable and general ledger

    Accounts receivable and the general ledger (FGLEDG) are updated in batch through 'POS Sales Ticket. Update' (OPS280). The 'Financial interface' parameter in (OPS280) must be selected before the batch is run.

    For the general ledger, the following accounting events and types are created:

    Account. event Cust. No. Account type Amount Inv. No. Inv. year Bank operation
    OP35 101 100.00 47 (Master Card)
    OP35 10001 100 –100.00 1002 2004
    Note: A bank operation is retrieved from the selected payment method.
  7. The item is received in the shop

    The ordered item is received in the shop and is reported in M3 through 'Purchase Order. Receive Goods' (PPS300).

  8. Release the customer order, pick the item and invoice the order

    The initial order is identified either by the order number or by the customer number. The order is released for immediate picking and invoicing. The already paid amount from the advance invoice is automatically deducted from the final invoice. The stock levels, sales statistics, accounts receivable and general ledger are updated. The item and the final invoice are given to the customer.

  9. Identify the customer and the final invoice

    The customer takes the item and the final invoice to a point of sale to pay for the item. The invoice and the customer are identified through the 'Customer Order Invoice Interface' (OIS350MI). The 'GetInvHead' (Retrieve Invoice Header) and 'GetInvLine' (Retrieve Invoice Line) transactions are used.

  10. Enter the payment

    The payment is entered in the point of sale system and a cash receipt is given to the customer.

    Receipt No. 123489

    Invoice No.

    Invoice year

    Amount

    1003 2004 200.00
    Subtotal 200.00
    To pay 200.00
  11. Upload to M3 and update accounts receivable and general ledger

    After the payment is entered, it is uploaded to M3 through the point of sale application programming interface 'POS sales tickets interface' (OPS270MI). The transaction type 4500='Payment of invoice' is used to determine the update of the accounts receivable and general ledger. The final invoice is marked as paid.

    The OPSALE sales ticket input file is updated as described in this table:

    Transaction type Customer No. Invoice No. Invoice year Payment method Amount
    4500 10001 1003 2004 200.00
    4590 10001 Cash (CSH) 200.00
    Note: Sales statistics are not updated.

    Accounts receivable and the general ledger (FGLEDG) are updated in batch through 'POS Sales Ticket. Update' (OPS280). The 'Financial interface' parameter in (OPS280) must be selected before the batch is run.

    For the general ledger, the following accounting events and types are created:

    Account event Account type Amount Cust. No. Inv. No. Inv. Year Bank operation
    OP35 101 200.00 10001 47 (Master Card)
    OP35 100 –200.00 10001 1003 2004
    Note: A bank operation is retrieved from the selected payment method.