Uploading Sales Ticket Information to M3

This document explains how you transfer sales ticket information from an external point of sale (POS) system to M3.

Note: All steps in this process are performed automatically when the upload is initiated from the POS system, but when an error occurs you can correct the error and then continue uploading manually .


Sales ticket information is uploaded to M3 where it is checked and validated. If any errors occur during upload, they can be corrected in 'POS Sales Ticket. Open' (OPS275) before the general ledger, stock and sales statistics are updated in M3.

Refer to each respective instruction for information on How the system is affected.

Before you start

Follow these steps

  1. Create New Batch Identity

    The POS system asks M3 for a batch number for the sales ticket batch to be uploaded to M3. Different API (application programming interface) transactions are used; AddRoundNumber, SndSlsTicketLin, SndSlsTicketPay, GetRoundNumber, DelRoundNumber, BchProcRound, for example.

  2. Upload Sales Tickets

    The sales tickets are uploaded via the POS sales ticket interface (OPS270MI) and they are temporarily stored in the OXSALE file. You can make a selection of facility, warehouse and transaction date. You use an interface round number to identify all transactions in a batch.

  3. Check Uploaded Batch

    The OXSALE records are displayed in 'POS Sales Ticket. Open' (OPS275), where you can add or change information before it is sent to the OPSALE file. The different statuses of the temporary orders are:

    • Status 00 = Received in OXSALE from external POS system
    • Status 05 = Error found in OXSALE (transfer to OPSALE has failed)
    • Status 06= Record already exists in OPSALE
    • Status 10 = Valid sales ticket information in OXSALE (transfer to OPSALE can be processed)
    • Status 90 = Transferred to OPSALE.
  4. Delete Uploaded Batch

    If you checked the sales ticket batch in the OXSALE file and found that a number of transactions differ from the transactions sent from the POS system, then you can delete the uploaded batch and upload again. The uploaded batch is deleted by using the 'DelRoundNumber' (delete interface round number) API transaction.

  5. Transfer and Validate

    Sales tickets are transferred to the OPSALE file and validated. You can transfer sales tickets either in batch or individually. You must transfer the sales tickets from the OXSALE file to the OPSALE file before the M3 database update can take place.

    The sales tickets are automatically transferred and validated through the POS sales ticket interface (OPS270MI) by using the 'BchPrcRound' (batch process round number) API transaction.

    You can also transfer and validate sales tickets manually in batch in 'POS Sales Ticket. Transfer' (OPS270) and individually in 'POS Sales Ticket. Open' (OPS275).

  6. Correct Errors

    If the required information is missing or incorrect, the update of the OPSALE file will fail.

    These information is mandatory for all records:

    • Company, division, customer order number, customer order line number, delivery number, record type, warehouse, currency, transaction date, and invoiced amount

    These information is required for record types 1000=Sales (product) and 1200=Return (issuing a credit note):

    • Customer number, item number, alternate U/M, VAT code, invoiced quantity

    These information is required for record type 7000=Petty cash expense:

    • Item number, VAT code

    This information is required for record types ending with '…90':

    • Bank operation code

    You correct errors in 'POS Sales Ticket. Open' (OPS275).

  7. Update M3

    When all sales tickets are validated in the OPSALE file, you can update M3 with the sales ticket information. You can select to update the general ledger, sales statistics and stock separately or at the same time.

    The parameters that control the update are defined in 'Settings—POS' (OPS700), 'Shop. Open' (OPS500) and in 'POS Sales Ticket. Update' (OPS280).

    M3 is updated automatically through the POS sales ticket interface (OPS270MI) by using the 'BchPrcRound' API transaction and manually in 'POS Sales Ticket. Update' (OPS280).

Related topics