Skip to content

Instantly share code, notes, and snippets.

@dasginganinja
Last active August 29, 2015 14:28
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save dasginganinja/178e7969888669f18386 to your computer and use it in GitHub Desktop.
Save dasginganinja/178e7969888669f18386 to your computer and use it in GitHub Desktop.
Drupal Commerce Sales Tax for Taxable Items & Shipping
{ "commerce_tax_rate_pa_sales_tax" : {
"LABEL" : "Calculate PA Sales Tax",
"PLUGIN" : "rule",
"OWNER" : "rules",
"TAGS" : [ "Commerce Tax", "sales_tax" ],
"REQUIRES" : [ "commerce_order", "rules", "commerce_tax" ],
"USES VARIABLES" : { "commerce_line_item" : { "label" : "Line item", "type" : "commerce_line_item" } },
"IF" : [
{ "commerce_order_compare_address" : {
"commerce_order" : [ "commerce-line-item:order" ],
"address_field" : "commerce_customer_shipping|commerce_customer_address",
"address_component" : "administrative_area",
"value" : "PA"
}
},
{ "OR" : [
{ "entity_is_of_bundle" : {
"entity" : [ "commerce-line-item" ],
"type" : "commerce_line_item",
"bundle" : { "value" : { "shipping" : "shipping" } }
}
},
{ "AND" : [
{ "entity_has_field" : { "entity" : [ "commerce-line-item" ], "field" : "commerce_product" } },
{ "entity_has_field" : {
"entity" : [ "commerce-line-item:commerce-product" ],
"field" : "field_product_category"
}
},
{ "entity_has_field" : {
"entity" : [ "commerce-line-item:commerce-product:field-product-category" ],
"field" : "field_tax_exempt"
}
},
{ "data_is" : {
"data" : [
"commerce-line-item:commerce-product:field-product-category:field-tax-exempt"
],
"value" : "0"
}
}
]
}
]
}
],
"DO" : [
{ "commerce_tax_rate_apply" : {
"USING" : {
"commerce_line_item" : [ "commerce-line-item" ],
"tax_rate_name" : "pa_sales_tax"
},
"PROVIDE" : { "applied_tax" : { "applied_tax" : "Applied tax" } }
}
}
]
}
}
$view = new view();
$view->name = 'commerce_order_taxable_line_items_by_order';
$view->description = '';
$view->tag = 'default';
$view->base_table = 'commerce_line_item';
$view->human_name = 'Commerce Order Taxable Line Items By Order';
$view->core = 7;
$view->api_version = '3.0';
$view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */
/* Display: Master */
$handler = $view->new_display('default', 'Master', 'default');
$handler->display->display_options['use_more_always'] = FALSE;
$handler->display->display_options['access']['type'] = 'none';
$handler->display->display_options['cache']['type'] = 'none';
$handler->display->display_options['query']['type'] = 'views_query';
$handler->display->display_options['exposed_form']['type'] = 'basic';
$handler->display->display_options['pager']['type'] = 'full';
$handler->display->display_options['style_plugin'] = 'table';
$handler->display->display_options['style_options']['columns'] = array(
'line_item_id' => 'line_item_id',
'line_item_title' => 'line_item_title',
'field_tax_exempt' => 'field_tax_exempt',
);
$handler->display->display_options['style_options']['default'] = '-1';
$handler->display->display_options['style_options']['info'] = array(
'line_item_id' => array(
'sortable' => 0,
'default_sort_order' => 'asc',
'align' => '',
'separator' => '',
'empty_column' => 0,
),
'line_item_title' => array(
'align' => '',
'separator' => '',
'empty_column' => 0,
),
'field_tax_exempt' => array(
'sortable' => 0,
'default_sort_order' => 'asc',
'align' => '',
'separator' => '',
'empty_column' => 0,
),
);
/* Relationship: Commerce Line item: Referenced products */
$handler->display->display_options['relationships']['commerce_product_product_id']['id'] = 'commerce_product_product_id';
$handler->display->display_options['relationships']['commerce_product_product_id']['table'] = 'field_data_commerce_product';
$handler->display->display_options['relationships']['commerce_product_product_id']['field'] = 'commerce_product_product_id';
$handler->display->display_options['relationships']['commerce_product_product_id']['required'] = TRUE;
/* Relationship: Commerce Product: Category (field_product_category) */
$handler->display->display_options['relationships']['field_product_category_tid']['id'] = 'field_product_category_tid';
$handler->display->display_options['relationships']['field_product_category_tid']['table'] = 'field_data_field_product_category';
$handler->display->display_options['relationships']['field_product_category_tid']['field'] = 'field_product_category_tid';
$handler->display->display_options['relationships']['field_product_category_tid']['relationship'] = 'commerce_product_product_id';
$handler->display->display_options['relationships']['field_product_category_tid']['required'] = TRUE;
/* Field: Commerce Line Item: Line item ID */
$handler->display->display_options['fields']['line_item_id']['id'] = 'line_item_id';
$handler->display->display_options['fields']['line_item_id']['table'] = 'commerce_line_item';
$handler->display->display_options['fields']['line_item_id']['field'] = 'line_item_id';
/* Field: Commerce Line Item: Title */
$handler->display->display_options['fields']['line_item_title']['id'] = 'line_item_title';
$handler->display->display_options['fields']['line_item_title']['table'] = 'commerce_line_item';
$handler->display->display_options['fields']['line_item_title']['field'] = 'line_item_title';
/* Field: Taxonomy term: Tax Exempt */
$handler->display->display_options['fields']['field_tax_exempt']['id'] = 'field_tax_exempt';
$handler->display->display_options['fields']['field_tax_exempt']['table'] = 'field_data_field_tax_exempt';
$handler->display->display_options['fields']['field_tax_exempt']['field'] = 'field_tax_exempt';
$handler->display->display_options['fields']['field_tax_exempt']['relationship'] = 'field_product_category_tid';
$handler->display->display_options['fields']['field_tax_exempt']['element_type'] = '0';
$handler->display->display_options['fields']['field_tax_exempt']['element_wrapper_type'] = '0';
$handler->display->display_options['fields']['field_tax_exempt']['element_default_classes'] = FALSE;
$handler->display->display_options['fields']['field_tax_exempt']['type'] = 'list_key';
$handler->display->display_options['fields']['field_tax_exempt']['field_api_classes'] = TRUE;
/* Field: Bulk operations: Commerce Line Item */
$handler->display->display_options['fields']['views_bulk_operations']['id'] = 'views_bulk_operations';
$handler->display->display_options['fields']['views_bulk_operations']['table'] = 'commerce_line_item';
$handler->display->display_options['fields']['views_bulk_operations']['field'] = 'views_bulk_operations';
$handler->display->display_options['fields']['views_bulk_operations']['vbo_settings']['display_type'] = '0';
$handler->display->display_options['fields']['views_bulk_operations']['vbo_settings']['enable_select_all_pages'] = 1;
$handler->display->display_options['fields']['views_bulk_operations']['vbo_settings']['row_clickable'] = 1;
$handler->display->display_options['fields']['views_bulk_operations']['vbo_settings']['force_single'] = 0;
$handler->display->display_options['fields']['views_bulk_operations']['vbo_settings']['entity_load_capacity'] = '10';
/* Contextual filter: Commerce Line Item: Order ID */
$handler->display->display_options['arguments']['order_id']['id'] = 'order_id';
$handler->display->display_options['arguments']['order_id']['table'] = 'commerce_line_item';
$handler->display->display_options['arguments']['order_id']['field'] = 'order_id';
$handler->display->display_options['arguments']['order_id']['default_action'] = 'empty';
$handler->display->display_options['arguments']['order_id']['default_argument_type'] = 'fixed';
$handler->display->display_options['arguments']['order_id']['summary']['number_of_records'] = '0';
$handler->display->display_options['arguments']['order_id']['summary']['format'] = 'default_summary';
$handler->display->display_options['arguments']['order_id']['summary_options']['items_per_page'] = '25';
/* Filter criterion: Commerce Line Item: Type */
$handler->display->display_options['filters']['type']['id'] = 'type';
$handler->display->display_options['filters']['type']['table'] = 'commerce_line_item';
$handler->display->display_options['filters']['type']['field'] = 'type';
$handler->display->display_options['filters']['type']['value'] = array(
'product' => 'product',
);
/* Filter criterion: Taxonomy term: Tax Exempt (field_tax_exempt) */
$handler->display->display_options['filters']['field_tax_exempt_value']['id'] = 'field_tax_exempt_value';
$handler->display->display_options['filters']['field_tax_exempt_value']['table'] = 'field_data_field_tax_exempt';
$handler->display->display_options['filters']['field_tax_exempt_value']['field'] = 'field_tax_exempt_value';
$handler->display->display_options['filters']['field_tax_exempt_value']['relationship'] = 'field_product_category_tid';
$handler->display->display_options['filters']['field_tax_exempt_value']['value'] = array(
0 => '0',
);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment