Technical beta: A read-only ODBC connector is available for an initial controlled validation against a real Open POS NG installation. It must not be enabled for live cash operations until the test matrix has been completed.
Prerequisites
ImaCash must run on Windows and reach the local Open POS NG server. Create a 32-bit ODBC system DSN with the database driver used by that installation and a read-only account with SELECT permission on a transactional table or view prepared by Avalon or the POS maintainer.
ImaCash configuration
- From the main window, open Configuration > Integration > POS and select Open POS NG (Avalon) - Beta. Use the authorised identification requested by ImaCash.
- In ODBC name, enter the exact name of the 32-bit system DSN prepared by the administrator. It must work under the Windows account running ImaCash without an additional sign-in dialog. User and Password are private details; fill them in only when required by the DSN configuration.
- Under Sales table or view, enter the exact authorised source, with one row per operation or payment method; never use an item table that repeats the ticket total. Use schema.table when required. ImaCash does not discover or select other sources.
Explicit authoritative mapping
Enter the contract confirmed by the administrator in Column mapping. The names and values in the following example illustrate the syntax; they do not describe the schema of every Open POS NG installation. Do not paste a connection string, password or sales data into this field.
Always define the column mapping as semicolon-separated pairs; ImaCash treats it as the authoritative contract and does not guess columns. It must include dateonly=true|false: true means date is a DATE column without a time and allows time to be used with dateonly=true; false means date already contains both date and time. For example: id=ID;date=DATE;dateonly=true;time=TIME;cash=CASH_AMOUNT;operator=OPERATOR;terminal=TILL. The cash contract accepts one consistent amount per ID and fails closed if that ID is repeated with different values. For payment rows, use amount=PAYMENT_AMOUNT;payment=PAYMENT_METHOD;cashvalue=CASH. If identifiers require quoting, add quote=none|double|bracket|backtick; none is the default.
Mandatory completion contract
Configure one of these two options: a view containing final sales only together with finalonly=true; or status=STATUS;closedvalue=CLOSED|PAID;modified=MODIFIED_AT to filter closed states and retrieve late closures. For the amount+payment contract with status+modified, modified identifies the sale change: ImaCash first obtains the modified IDs and then retrieves all their lines before totalling cash, preventing partial capture of a mixed payment. Without one of these contracts, the integration fails closed.
Beta scope
The integration reads recent operations and passes only cash to ImaCash, including only the cash component of mixed payments and refunds with a negative sign. It is strictly read-only: it never modifies Open POS NG or writes confirmations, statuses, payments or cancellations to Avalon.
Save and check the configuration
When closing Configuration with changes, you can save, continue editing or leave without saving pending changes. Saving proceeds in stages: a later failure does not roll back stages already saved. Opening the DSN and checking the source and mapping establishes only that read access; it does not confirm complete capture, a payment or device operation.
Filters, history and initial validation
Terminal and operator filters require the terminal and operator mapping columns, respectively. Review their selection and activation in Settings > Filters. Polling uses a recent window of up to two hours; resynchronising does not guarantee recovery of the entire history. This beta does not import products, stock, shifts or a separate card total.
Before commercial use, the administrator must check a cash sale, a mixed payment, a refund, a late closure and continuity after restarting in a real installation, including the absence of duplicates. A test with fictitious data or a successful connection does not complete this validation. If a result is uncertain, review the receipt and actual cash before repeating, resynchronising or restarting.
Read about Configuration, saving and exiting in the ImaCash manual