Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
tax_classes.php
Go to the documentation of this file.
1 <?php
10  \Magento\Tax\Model\ClassModel::class
11 )->setClassName(
12  'CustomerTaxClass1'
13 )->setClassType(
14  \Magento\Tax\Model\ClassModel::TAX_CLASS_TYPE_CUSTOMER
15 )->save();
16 
18  \Magento\Tax\Model\ClassModel::class
19 )->setClassName(
20  'CustomerTaxClass2'
21 )->setClassType(
22  \Magento\Tax\Model\ClassModel::TAX_CLASS_TYPE_CUSTOMER
23 )->save();
24 
26  \Magento\Tax\Model\ClassModel::class
27 )->setClassName(
28  'ProductTaxClass1'
29 )->setClassType(
30  \Magento\Tax\Model\ClassModel::TAX_CLASS_TYPE_PRODUCT
31 )->save();
32 
34  \Magento\Tax\Model\ClassModel::class
35 )->setClassName(
36  'ProductTaxClass2'
37 )->setClassType(
38  \Magento\Tax\Model\ClassModel::TAX_CLASS_TYPE_PRODUCT
39 )->save();
40 
41 // Tax class created but not used in the rule to ensure that unused tax classes are handled properly
43  \Magento\Tax\Model\ClassModel::class
44 )->setClassName(
45  'ProductTaxClass3'
46 )->setClassType(
47  \Magento\Tax\Model\ClassModel::TAX_CLASS_TYPE_PRODUCT
48 )->save();
49 
51  'tax_country_id' => 'US',
52  'tax_region_id' => '12',
53  'tax_postcode' => '*',
54  'code' => '*',
55  'rate' => '7.5',
56 ];
57 $rate = $objectManager->create(\Magento\Tax\Model\Calculation\Rate::class)->setData($taxRate)->save();
58 
60 $registry = $objectManager->get(\Magento\Framework\Registry::class);
61 $registry->unregister('_fixture/Magento_Tax_Model_Calculation_Rate');
62 $registry->register('_fixture/Magento_Tax_Model_Calculation_Rate', $rate);
63 
65  'code' => 'Test Rule',
66  'priority' => '0',
67  'position' => '0',
68  'customer_tax_class_ids' => [$customerTaxClass1->getId(), $customerTaxClass2->getId()],
69  'product_tax_class_ids' => [$productTaxClass1->getId(), $productTaxClass2->getId()],
70  'tax_rate_ids' => [$rate->getId()],
71  'tax_rates_codes' => [$rate->getId() => $rate->getCode()],
72 ];
73 
74 $taxRule = $objectManager->create(\Magento\Tax\Model\Calculation\Rule::class)->setData($ruleData)->save();
75 
76 $registry->unregister('_fixture/Magento_Tax_Model_Calculation_Rule');
77 $registry->register('_fixture/Magento_Tax_Model_Calculation_Rule', $taxRule);
78 
79 $ruleData['code'] = 'Test Rule Duplicate';
80 
81 $objectManager->create(\Magento\Tax\Model\Calculation\Rule::class)->setData($ruleData)->save();
$customerTaxClass1
Definition: tax_classes.php:9
$productTaxClass3
Definition: tax_classes.php:42
$taxRate
Definition: tax_classes.php:50
$registry
Definition: tax_classes.php:60
$customerTaxClass2
Definition: tax_classes.php:17
$taxRule
Definition: tax_classes.php:74
$objectManager
Definition: tax_classes.php:8
$rate
Definition: tax_classes.php:57
$productTaxClass2
Definition: tax_classes.php:33
$ruleData
Definition: tax_classes.php:64
$productTaxClass1
Definition: tax_classes.php:25