Calculate item fixed tax and prepare information for discount and regular taxation
145 $attributes = $this->weeeData->getProductWeeeAttributes(
148 $address->getQuote()->getBillingAddress(),
149 $this->_store->getWebsiteId()
154 $totalValueInclTax = 0;
155 $baseTotalValueInclTax = 0;
156 $totalRowValueInclTax = 0;
157 $baseTotalRowValueInclTax = 0;
159 $totalValueExclTax = 0;
160 $baseTotalValueExclTax = 0;
161 $totalRowValueExclTax = 0;
162 $baseTotalRowValueExclTax = 0;
164 $associatedTaxables =
$item->getAssociatedTaxables();
165 if (!$associatedTaxables) {
166 $associatedTaxables = [];
169 foreach ($associatedTaxables as $iTaxable => $taxable) {
171 unset($associatedTaxables[$iTaxable]);
179 $baseValueExclTax = $baseValueInclTax =
$attribute->getAmount();
180 $valueExclTax = $valueInclTax = $this->priceCurrency->round(
181 $this->priceCurrency->convert($baseValueExclTax, $this->_store)
184 $rowValueInclTax = $rowValueExclTax = $this->priceCurrency->round($valueInclTax *
$item->getTotalQty());
185 $baseRowValueInclTax = $this->priceCurrency->round($baseValueInclTax *
$item->getTotalQty());
186 $baseRowValueExclTax = $baseRowValueInclTax;
188 $totalValueInclTax += $valueInclTax;
189 $baseTotalValueInclTax += $baseValueInclTax;
190 $totalRowValueInclTax += $rowValueInclTax;
191 $baseTotalRowValueInclTax += $baseRowValueInclTax;
193 $totalValueExclTax += $valueExclTax;
194 $baseTotalValueExclTax += $baseValueExclTax;
195 $totalRowValueExclTax += $rowValueExclTax;
196 $baseTotalRowValueExclTax += $baseRowValueExclTax;
200 'base_amount' => $baseValueExclTax,
201 'amount' => $valueExclTax,
202 'row_amount' => $rowValueExclTax,
203 'base_row_amount' => $baseRowValueExclTax,
204 'base_amount_incl_tax' => $baseValueInclTax,
205 'amount_incl_tax' => $valueInclTax,
206 'row_amount_incl_tax' => $rowValueInclTax,
207 'base_row_amount_incl_tax' => $baseRowValueInclTax,
210 if ($this->weeeData->isTaxable($this->_store)) {
212 $weeeItemCode .=
'-' .
$title;
214 $associatedTaxables[] = [
222 $this->weeeCodeToItemMap[$weeeItemCode] =
$item;
225 $item->setAssociatedTaxables($associatedTaxables);
227 $item->setWeeeTaxAppliedAmount($totalValueExclTax)
228 ->setBaseWeeeTaxAppliedAmount($baseTotalValueExclTax)
229 ->setWeeeTaxAppliedRowAmount($totalRowValueExclTax)
230 ->setBaseWeeeTaxAppliedRowAmnt($baseTotalRowValueExclTax);
232 $item->setWeeeTaxAppliedAmountInclTax($totalValueInclTax)
233 ->setBaseWeeeTaxAppliedAmountInclTax($baseTotalValueInclTax)
234 ->setWeeeTaxAppliedRowAmountInclTax($totalRowValueInclTax)
235 ->setBaseWeeeTaxAppliedRowAmntInclTax($baseTotalRowValueInclTax);
239 $totalRowValueExclTax,
240 $baseTotalRowValueExclTax,
241 $totalRowValueInclTax,
242 $baseTotalRowValueInclTax
245 $this->weeeData->setApplied(
$item, array_merge($this->weeeData->getApplied(
$item), $productTaxes));
const KEY_ASSOCIATED_TAXABLE_CODE
const KEY_ASSOCIATED_TAXABLE_UNIT_PRICE
const KEY_ASSOCIATED_TAXABLE_BASE_UNIT_PRICE
processTotalAmount( $total, $rowValueExclTax, $baseRowValueExclTax, $rowValueInclTax, $baseRowValueInclTax)
const KEY_ASSOCIATED_TAXABLE_TYPE
const KEY_ASSOCIATED_TAXABLE_QUANTITY
const KEY_ASSOCIATED_TAXABLE_TAX_CLASS_ID