diff --git a/vendor/magento/module-sales-rule/Model/ResourceModel/Report/Rule/Createdat.php b/vendor/magento/module-sales-rule/Model/ResourceModel/Report/Rule/Createdat.php
index 342fa8363da09..1dbbcb1fce88e 100644
--- a/vendor/magento/module-sales-rule/Model/ResourceModel/Report/Rule/Createdat.php
+++ b/vendor/magento/module-sales-rule/Model/ResourceModel/Report/Rule/Createdat.php
@@ -6,13 +6,50 @@
 
 namespace Magento\SalesRule\Model\ResourceModel\Report\Rule;
 
+use Magento\Framework\Model\ResourceModel\Db\Context;
+use Magento\Framework\Stdlib\DateTime\DateTime;
+use Magento\Framework\Stdlib\DateTime\Timezone\Validator;
+use Magento\Framework\Stdlib\DateTime\TimezoneInterface;
+use Magento\Reports\Model\FlagFactory;
+use Magento\Tax\Model\Config;
+use Psr\Log\LoggerInterface;
+
 /**
  * Rule report resource model with aggregation by created at
- *
- * @author      Magento Core Team <core@magentocommerce.com>
  */
 class Createdat extends \Magento\Reports\Model\ResourceModel\Report\AbstractReport
 {
+    /**
+     * @param Context $context
+     * @param LoggerInterface $logger
+     * @param TimezoneInterface $localeDate
+     * @param FlagFactory $reportsFlagFactory
+     * @param Validator $timezoneValidator
+     * @param DateTime $dateTime
+     * @param Config $taxConfig
+     * @param string|null $connectionName
+     */
+    public function __construct(
+        private readonly Context $context,
+        private readonly LoggerInterface $logger,
+        private readonly TimezoneInterface $localeDate,
+        private readonly FlagFactory $reportsFlagFactory,
+        private readonly Validator $timezoneValidator,
+        DateTime $dateTime,
+        private Config $taxConfig,
+        string $connectionName = null
+    ) {
+        parent::__construct(
+            $context,
+            $logger,
+            $localeDate,
+            $reportsFlagFactory,
+            $timezoneValidator,
+            $dateTime,
+            $connectionName
+        );
+    }
+
     /**
      * Resource Report Rule constructor
      *
@@ -67,6 +104,13 @@ protected function _aggregateByOrder($aggregationField, $from, $to)
                 $this->getStoreTZOffsetQuery($sourceTable, $aggregationField, $from, $to, null, $salesAdapter)
             );
 
+            $subtotalAmountFiled = 'base_subtotal';
+            $subtotalAmountActualFiled = 'base_subtotal_invoiced';
+            if ($this->taxConfig->displaySalesSubtotalInclTax()) {
+                $subtotalAmountFiled = 'base_subtotal_incl_tax';
+                $subtotalAmountActualFiled = 'base_subtotal_incl_tax';
+            }
+
             $columns = [
                 'period' => $periodExpr,
                 'store_id' => 'store_id',
@@ -75,7 +119,7 @@ protected function _aggregateByOrder($aggregationField, $from, $to)
                 'rule_name' => 'coupon_rule_name',
                 'coupon_uses' => 'COUNT(entity_id)',
                 'subtotal_amount' => $connection->getIfNullSql(
-                    'SUM((base_subtotal - ' . $connection->getIfNullSql(
+                    'SUM((' . $subtotalAmountFiled . ' - ' . $connection->getIfNullSql(
                         'base_subtotal_canceled',
                         0
                     ) . ') * base_to_global_rate)',
@@ -102,12 +146,17 @@ protected function _aggregateByOrder($aggregationField, $from, $to)
                     ) . ' + ' . $connection->getIfNullSql(
                         'base_tax_amount - ' . $connection->getIfNullSql('base_tax_canceled', 0),
                         0
-                    ) . ')
+                    ) . ' + ' . $connection->getIfNullSql(
+                        'base_discount_tax_compensation_amount - '
+                        . $connection->getIfNullSql('base_discount_tax_compensation_refunded', 0),
+                        0
+                    ) . ' - ' . $connection->getIfNullSql('ABS(base_shipping_discount_tax_compensation_amnt)', 0)
+                    . ')
                         * base_to_global_rate)',
                     0
                 ),
                 'subtotal_amount_actual' => $connection->getIfNullSql(
-                    'SUM((base_subtotal_invoiced - ' . $connection->getIfNullSql(
+                    'SUM((' . $subtotalAmountActualFiled . ' - ' . $connection->getIfNullSql(
                         'base_subtotal_refunded',
                         0
                     ) . ') * base_to_global_rate)',
@@ -135,7 +184,13 @@ protected function _aggregateByOrder($aggregationField, $from, $to)
                     ) . ' + ' . $connection->getIfNullSql(
                         'base_tax_invoiced - ' . $connection->getIfNullSql('base_tax_refunded', 0),
                         0
-                    ) . ') * base_to_global_rate)',
+                    ) . ' + ' . $connection->getIfNullSql(
+                        'base_discount_tax_compensation_invoiced - '
+                        . $connection->getIfNullSql('base_discount_tax_compensation_refunded', 0),
+                        0
+                    ) . ' - ' . $connection->getIfNullSql('ABS(base_shipping_discount_tax_compensation_amnt)', 0)
+                    . ')
+                    * base_to_global_rate)',
                     0
                 ),
             ];
