---
title: "Reporting for Magento webshops without a reporting tool · Adea"
description: "Adea reads your Magento modules and MySQL and answers the webshop manager's questions about sales, categories and orders."
url: https://adea.app/stack/magento
---

# Magento numbers without waiting for the agency.

The Magento database is large and the names are hard to guess. Adea knows the tables and reads your own modules, so a webshop manager can ask "what sold best in shoes in September?" and get an answer that matches your rules for status and returns.

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

## Which products sold best in the Shoes category in September?

1. Finding the Shoes category in catalog_category_entity
2. Reading your order status module
3. Summing sales_order_item for September

A question asked of a Magento system

Which products sold best in the Shoes category in September?

Adea's answer

Top 3 by units sold: Aero Runner (612), Pier Sneaker (448) and Nord Hiking Boot (301). Cancelled and returned orders are subtracted.

## Where the number comes from

The code Adea read `app/code/Shop/Reporting/etc/order_status.xml:12`

```
<status code="complete" counts="true"/>
<status code="closed" counts="false"/>
<status code="canceled" counts="false"/>
```

The query it ran

```
SELECT i.name, SUM(i.qty_ordered - i.qty_canceled - i.qty_refunded) AS qty
FROM sales_order_item i
JOIN sales_order o ON o.entity_id = i.order_id
WHERE o.state NOT IN ('canceled','closed')
GROUP BY i.name ORDER BY qty DESC LIMIT 3
```

## What you get

### Knows Magento's tables

EAV, categories, order items and credit memos. Adea knows where things live and joins them without you having to explain the schema.

### Follows your own rules

Which statuses count as a sale? How are returns subtracted? Adea reads it in your modules and asks a developer if something is unclear.

### Less agency time

Set up the questions you ask every week and get the answer on Monday morning. The agency can spend the time on something else.

## How to connect Magento

Give read access to the repo and create a MySQL user that only has SELECT. Preferably point at a read replica.

```
CREATE USER 'adea_readonly'@'%' IDENTIFIED BY '…';
GRANT SELECT ON magento.* TO 'adea_readonly'@'%';
```

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

## Questions about Magento

### Does it work with Adobe Commerce and Magento Open Source?

Yes. Adea reads the tables and the code in both.

### Can Adea see customers' personal data?

Only if you open the tables. Close columns like email and phone per role.

### What about our agency?

The agency can approve the rules Adea has understood. Nothing has to change in the shop.

## 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) [WooCommerce](https://adea.app/stack/woocommerce) [Shopware](https://adea.app/stack/shopware) [Solidus](https://adea.app/stack/solidus)

## What do you want to know?

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