You are here

commerce_eu_vat_ic.rules_defaults.inc in Commerce European Union VAT 7

Same filename and directory in other branches
  1. 7.2 commerce_eu_vat_ic/commerce_eu_vat_ic.rules_defaults.inc

Commerce EU VAT Intra-Community Supply Rules

File

commerce_eu_vat_ic/commerce_eu_vat_ic.rules_defaults.inc
View source
<?php

/**
 * @file
 * Commerce EU VAT Intra-Community Supply Rules
 */

/**
 * Impliments hook_default_rules_configuration_alter().
 */
function commerce_eu_vat_ic_default_rules_configuration_alter(&$configs) {

  // Add a condition to not allow use of IC RC on home country.
  $tax_rates = commerce_tax_rates();
  foreach ($tax_rates as $tax_rate) {
    if ($tax_rate['type'] == 'eu_vat' && isset($configs[$tax_rate['rules_component']])) {
      $country = substr($tax_rate['module'], -2);
      $configs[$tax_rate['rules_component']]
        ->condition(rules_and()
        ->condition(rules_condition('component_commerce_eu_vat_rules_place_of_supply_' . $country, array(
        'commerce_order:select' => 'commerce-line-item:order',
      ))
        ->negate())
        ->condition('component_commerce_eu_vat_rules_order_has_vat_number', array(
        'commerce_order:select' => 'commerce-line-item:order',
      ))
        ->negate());
    }
  }
}