---
title: "Ask your Solidus shop about promotions and shipping · Adea"
description: "Adea reads Solidus promotions and your rules and explains why a customer did or did not get a promotion."
url: https://adea.app/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.

[Start free](https://adea.app/signup) [See the demo](https://adea.app/demo)

## Why didn't order R834120 get free shipping?

1. Finding order R834120
2. Reading Spree::Promotion::Rules::ItemTotal
3. Working out the item total after discount

A question asked of a Solidus system

Why didn't order R834120 get free shipping?

Adea's answer

The promotion "Free shipping over €65" requires an item total of at least €65 after discount. The order was €66, but a €5 discount brought the item total down to €61.

## Where the number comes from

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

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

The query it ran

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

## What you get

### 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.

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

[Read the setup guide](https://adea.app/docs/connect-database)

## Questions about Solidus

### 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.

## Other stacks

[Rails](https://adea.app/stack/rails) [Laravel](https://adea.app/stack/laravel) [Django](https://adea.app/stack/django) [Node.js](https://adea.app/stack/node) [Magento](https://adea.app/stack/magento) [WooCommerce](https://adea.app/stack/woocommerce) [Shopware](https://adea.app/stack/shopware)

## What do you want to know?

[Start free](https://adea.app/signup) [Book 20 minutes](mailto:hello@adea.app?subject=20%20minutes%20about%20Adea)
