Stack · Solidus

Why didn't the customer get free shipping?

Solidus promotions are powerful and hard to see through. Adea reads the rules and can show exactly which condition an order did not meet.

Free, no sign-up. Prefer a guided tour? Book 20 minutes with us →

What an answer looks like

Why didn't order R834120 get free shipping?

Adea
  • Finding order R834120
  • Reading Spree::Promotion::Rules::ItemTotal
  • Working out the item total after discount

The promotion "Free shipping over 500 DKK" requires an item total of at least 500 DKK after discount. The order was 512 DKK, but a 40 DKK discount brought the item total down to 472 DKK.

Sourcesapp/models/spree/promotion/rules/item_total.rb:31

The code Adea read · app/models/spree/promotion/rules/item_total.rb:31

def eligible?(order)
  order.item_total >= preferred_amount
end

The query Adea ran (read-only)

SELECT o.number, o.item_total, o.promo_total
FROM spree_orders o
WHERE o.number = 'R834120'

Understands promotions and rules

Adea follows the chain from promotion to rule to action and explains in plain language why an order fell outside.

Reads your extensions

If you have overridden a rule in a decorator or your own extension, Adea uses your version.

Solidus and Rails in one

Everything that holds for Rails apps holds here: enums, scopes, concerns and your own models.

How to connect Solidus

Connect the repo with read access and create a Postgres read-only user.

Read more about security →

CREATE ROLE adea_readonly LOGIN PASSWORD '…';
GRANT SELECT ON ALL TABLES IN SCHEMA public TO adea_readonly;

Frequently asked questions

Does it work with Spree?

Yes. The structure is the same.

Can Adea see card details?

No. Solidus does not store them, and you can close payment tables per role.

Can we see it work before connecting anything?

Yes. Try the demo company. It needs no sign-up.