- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Magento 2 Issue with Lifetime Sales Calculation
Greetings Magento Community,
As a Magento beginner, I've come across an issue that seems to be unique in my investigation, and I'm reaching out for guidance. Orders with a 'state' set to processing and 'status' marked as complete are not being included in the calculation for the total sales.
How can I retrieve the total of all orders with a 'complete' status to display it on the Magento admin dashboard?Could someone shed light on the inner workings of Magento's calculation process for Lifetime Sales?
I've scoured the internet but haven't found a similar case, and any insights or advice from the community would be immensely helpful.
Thank you in advance for your assistance and expertise!
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Re: Magento 2 Issue with Lifetime Sales Calculation
To retrieve the total sales from all orders with status "complete" in Magento, you can create a custom module with an admin dashboard widget that does a direct SQL query to the sales_order table.
The key steps would be:
1. Create a module with config.xml declaring a new admin dashboard widget
2. In the module's Block/Adminhtml folder create a new PHP file for the dashboard widget logic
3. Use a constructor to instantiate a connection to the read adapter resource model
4. Write a SELECT SQL query to sum the base_grand_total field from the sales_order table where the status equals 'complete'.
5. Return the query result into a formatted money or float amount to display
6. Set caching with lifetime and tags to improve performance
This will directly retrieve a sum of all completed order grand totals from the database for the dashboard, bypassing any business logic that may skip orders during calculation.