Skip to content

Bridge Modules

Hyvä POS is in closed beta

Hyvä POS is currently in a closed beta (pilot phase) with a small group of merchants. It is not yet generally available: the App Store release follows the pilot, and features and configuration may still change, possibly in backwards-incompatible ways, before the general release. Want to take part? Sign up at hyva.io/pos.

A customer at the counter hands over a gift card they bought in your webshop, asks to pay part of the bill with the store credit from last month's return, and wants their points for the rest. The register does not run its own wallets for any of this. It talks to the module you already run for store credit, gift cards, reward points and returns, through a bridge module, so the register and the webshop use the same balances, cards and returns.

This page lists the bridges Hyvä maintains, what each one covers and what it leaves out. The existing bridges are available to licensees and open source, so they can be changed and extended like any other Magento module. The contract is open as well: if your vendor is missing, an agency can build a bridge against the same interfaces.

One provider is active per feature (Stores → Configuration → Hyvä POS → Advanced → Credit & Return Providers). With nothing configured, the first installed bridge is auto-detected. Every bridge installs cleanly next to the others and on a store without its vendor module: a sub-module whose vendor is absent unregisters itself and does nothing.

Adobe Commerce

hyva-themes/magento2-hyva-pos-adobe-commerce. Connects the register to the modules bundled with Adobe Commerce: Store Credit (Magento_CustomerBalance), Gift Card Accounts (Magento_GiftCardAccount), Reward Points (Magento_Reward) and RMA (Magento_Rma).

Feature What it does
Store credit Shows the balance on the customer, applies it as tender, writes Commerce's own customer_balance_amount columns so the invoice matches the order, refunds a return to store credit
Gift cards Checks a code, redeems the balance, writes the order's gift card columns and the per-card list Commerce reads for the admin order view and refunds
Reward points Shows the points with their currency value, spends them as tender at the store's rate, writes the reward columns so the invoice matches; earning follows Commerce's own rules on order save
Returns (RMA) Creates the RMA, walks it through Commerce's statuses and quantity fields, settles refunds through the RMA; exchanges pay the difference or hand it back

Not included: point earning rules of its own (Commerce's earning applies), gift card sales at the register (the card must exist in Commerce), multi-currency stores (register sales tender in the store's base currency).

A Commerce defect this bridge corrects

Adobe Commerce 2.4.9 rewrites an order's gift card list on every save and stores the previous card entry, not its authorized amount, under authorized. Every save of an order that already carries gift cards (an invoice, a shipment, a status change) nests the entry one level deeper, and the revert that puts money back on a card reads that nested entry as an amount of 1.00. Storefront orders take the same path. The bridge keeps the list flat: one plugin runs after Commerce's observer and rewrites the column before the row is written, another flattens what Commerce reads back, so rows nested before the bridge was installed revert the right amount too. No data migration is needed, and there is nothing to configure. Installations with compiled dependency injection need bin/magento setup:di:compile after installing or updating the bridge.

Installation
composer require hyva-themes/magento2-hyva-pos-adobe-commerce
bin/magento module:enable Hyva_PosAdobeCommerceStoreCredit Hyva_PosAdobeCommerceGiftCard Hyva_PosAdobeCommerceRewards Hyva_PosAdobeCommerceRma
bin/magento setup:upgrade
bin/magento setup:di:compile

Amasty

hyva-themes/magento2-hyva-pos-amasty. Connects the register to Amasty Store Credit & Refund, Amasty Gift Card, Amasty Reward Points and Amasty RMA on Magento Open Source or Adobe Commerce.

Feature What it does
Store credit Shows the balance, applies it as tender, writes Amasty's order and order line columns so the invoice matches the order, refunds a return to store credit
Gift cards Checks a code, redeems the balance, writes Amasty's gift card order record, returns the amount to the card on a refund
Reward points Shows the points, spends them at Amasty's rate with a spend entry in the customer's history, writes the points spent on the order; earning follows Amasty's own rules
Returns (RMA) Creates the request, maps the register's return steps onto Amasty's states, settles refunds through the request; exchanges pay the difference or hand it back

Not included: gift card sales at the register (the card must exist in Amasty), multi-currency stores (register sales tender in the store's base currency).

Installation
composer require hyva-themes/magento2-hyva-pos-amasty
bin/magento module:enable Hyva_PosAmastyStoreCredit Hyva_PosAmastyGiftCard Hyva_PosAmastyRewards Hyva_PosAmastyRma
bin/magento setup:upgrade

Aheadworks

hyva-themes/magento2-hyva-pos-aheadworks. A proof of concept, not a finished bridge. It scaffolds the connection between the register and Aheadworks Store Credit, Gift Card, Reward Points and RMA, and it is waiting to be picked up by Aheadworks or by an agency working with them. It has never run against Aheadworks' own extensions.

Feature What it does
Store credit Shows the balance; nothing is spent at the register
Gift cards Checks a code and shows its balance; nothing is spent at the register
Reward points Shows the balance; nothing is spent at the register
Returns (RMA) Creates the request and maps the register's return steps onto Aheadworks' statuses

What is missing: spending and refunding credit. In 0.2.0 the bridge answers every question about what a sale may spend with "not supported", so the order save takes nothing from an Aheadworks wallet and writes none of Aheadworks' order columns. A refund to store credit is refused before anything is booked ("Refund to store credit is not supported by the Aheadworks bridge yet. Refund another way."); a refund to store credit is made through a credit memo in the Magento admin instead. Aheadworks' spending rules and its order, invoice and refund totals are the pieces a finished bridge needs.

Installation
composer require hyva-themes/magento2-hyva-pos-aheadworks
bin/magento module:enable Hyva_PosAheadworksStoreCredit Hyva_PosAheadworksGiftCard Hyva_PosAheadworksRewards Hyva_PosAheadworksRma
bin/magento setup:upgrade

Mirasvit

hyva-themes/magento2-hyva-pos-mirasvit. A proof of concept, not a finished bridge, waiting to be picked up by Mirasvit or by an agency working with them. It scaffolds the connection between the register and Mirasvit Store Credit & Refund and Mirasvit Reward Points, and it has never run against Mirasvit's own extensions. Mirasvit has no gift card or RMA module, so the bridge has no such sub-modules; returns use the built-in POS return provider.

Feature What it does
Store credit Shows the balance; nothing is spent at the register
Reward points Shows the balance; nothing is spent at the register

What is missing: spending and refunding credit, as with Aheadworks. In 0.2.0 the order save takes nothing from a Mirasvit wallet, and a refund to store credit is refused before anything is booked ("Refund to store credit is not supported by the Mirasvit bridge yet. Refund another way."); a refund to store credit is made through a credit memo in the Magento admin instead.

Installation
composer require hyva-themes/magento2-hyva-pos-mirasvit
bin/magento module:enable Hyva_PosMirasvitStoreCredit Hyva_PosMirasvitRewards
bin/magento setup:upgrade

VAT Number Validation

hyva-themes/magento2-hyva-pos-magento-vat-bridge (Hyva_PosMagentoVatBridge). Not a credit bridge: a customer validator that checks a customer's VAT numbers when the cashier saves the customer, both the account's Tax/VAT number and the address's VAT number. It checks the country's format first, then asks VIES through Magento's own VAT check, with the merchant's VAT number and country from Store Information as the requester. A number both fields carry is looked up once. It is listed as "EU VAT number (Magento VIES)" under Terminal Defaults → Customers → Customer Validators. It does not cache, retry or fall back offline; a store running Geissweb EU VAT Enhanced uses the Geissweb bridge instead.

Installation
composer require hyva-themes/magento2-hyva-pos-magento-vat-bridge
bin/magento module:enable Hyva_PosMagentoVatBridge
bin/magento setup:upgrade

Hyvä Admin Dashboard widgets

hyva-themes/magento2-hyva-pos-dashboard-widgets. Not a credit bridge: six widgets for the Hyvä Admin Dashboard that read the POS tables: POS Active Terminals, POS Revenue by Location, POS Location Daily Revenue, POS Today's Sales, POS Top Cashiers and POS Payment Method Breakdown. Needs the Hyvä Admin Dashboard module.

Examples for developers

Three reference modules show the other extension points and are not meant for production: a customer validator bridge (a check that runs when the cashier saves a customer), a customer price bridge (per-customer prices from your own source) and a Customer Insights section. They live next to the bridges above and are documented under example bridges.