---
title: "Drupal Commerce Experience"
url: "https://michalak.world/experience/drupal-commerce-experience/"
description: "Drupal Commerce experience across Commerce 1.x and 2.x: custom tax resolvers, promotions, multi-currency with GEOIP detection, EasyPost and FedEx shipping, Stripe and Braintree payment gateways, and PDF invoicing."
summary: "Drupal Commerce 1.x and 2.x implementations: custom cart and checkout workflows, tax resolvers, promotions, multi-currency, shipping and payment gateway integrations, and warehouse management."
date: 2019-02-02
lastmod: 2026-08-19
tags: ["Drupal Commerce","Drupal","Drupal 8","Drupal 7","E-commerce","Multi-currency","Payment Gateways","Commerce Shipping","Commerce Tax"]
section: "experience"
author: "Michael Michalak"
site: "https://michalak.world/"
---

# Drupal Commerce Experience

Drupal Commerce experience across Commerce 1.x and 2.x: custom tax resolvers, promotions, multi-currency with GEOIP detection, EasyPost and FedEx shipping, Stripe and Braintree payment gateways, and PDF invoicing.

## Commerce 1.x and 2.x Implementations

## **Drupal 8 Commerce 2.x**

- Custom Commerce Cart Workflows
- **Drupal Commerce Taxes**
  - [commmerce_tax - Custom Tax Resolvers](/article/drupal-8-commerce-tax)
    - Tax Exemptions
    - Line Item Taxing
    - VAT Shipping Tax
- **Drupal 8 Promotions**
  - [Buy X or more of the same product and get % off that order item](/article/drupal-8-commerce-promotions-buy-x-or-more-same-product-and-get-order-item)
- Custom Purchase Order Implementations
- Custom Point of Sale Implementations
- **MultiCurrency**
  - GEOIP Currency Detection: IP detects country then uses list to pick currency
  - Currency Conversion
  - Custom Currency
- **GEO IP Detection**
  - Set Currency
  - Set Payment gateway
- **Custom Order Email Templates**
  - Upon placing order
  - Update user based upon order state
    - Update user when order has been shipped
- Custom Order Types: Order, Purchase Order, Point of Sale
- Pricelists - Different price sets based on role
- Custom Apache Solr indexed catalogs with faceted searches and auto complete
- Product Creation - Custom forms for on-the-fly project and variation generation integrated with commerce_pricelists.
- **Commerce Shipping Integrations**
  - **EasyPost** - Custom Shipping Integration
    - Shipping internationally using FedEx, USPS, UPS
    - Shipping from multiple locations based upon customer's address
    - Integrated with multi-currency
    - Purchase shipping label, attach to order
    - Update users and orders with shipping status updates.
  - FedEx
  - USPS
- **Drupal Commerce Payment Gateways**: Authorize.net, Braintree, PayPal, Cybersource, and Stripe
  - I have contributed to PayPal and Cybersource patches on drupal.org.
- **Multilingual Implementations**
  - Taken existing projects and added multiple languages
- **Custom Session Variables**
  - Checkout flows
  - Languages
  - Coupons
  - UTM Params to Variable
- **Custom Events**
  - Shopping Cart Events
  - Order Events - Based on Order State
- **Warehouse Management**
  - Request for product
  - Create a location for the product
  - Manage Requests for products
- **Product Borrowing Module**
  - Auto set borrowing timeline
  - Alert/Email user when product is due back
- **PDF Generation** - mpdf, dompdf
  - Order Invoices
  - Picket Tickets
  - Sell Sheets
- **Reorder an Order**
  - Allow user to reorder the same order from their account
- **Process Orders via Cron Run**
  - Generate Picket Tickets
  - Update order state/status
  - Update Account
- **Maps - Google Maps, Leaflet**
  - Store Locator
  - Product Availability
- **Anonymous Orders**
  - Auto-create Account
    - New orders are automatically added to account based on email address used during checkout.

## **Drupal 7 Commerce 1.x**

- Custom Commerce Cart Workflows
- **Drupal Commerce Taxes**
  - Avalara - VAT and Sales Tax
    - Custom Avalara Rules
    - Additional Store Addresses
- VAT ID Real-Time Validation
- GEOIP Currency Detection
- **Drupal Commerce Payment Gateways**: Authorize.net, PayPal, Cybersource, and Stripe
  - I have contributed to PayPal and Cybersource patches on drupal.org.
- Drupal Commerce Stock Levels
- Multilingual Implementations
- Multilingual Integrations: Transifex
- Ubercart
- Custom Session Variables
- UTM Parameters Storing and Reporting
- Custom Commerce Rules
- Custom Roles to Bypass Cart Checkout
- Purchased Product View for Customer
- Subscriptions - Recurring Billing
- Commerce Card on File
- **Custom Store Clerk Interface**
  - Implemented Zebra Scanner
  - Custom order interface to allow store clerk to fill part of an order, using ajax
  - Allow for partial order shipment and partial order pickup
  - Order pickup slip generation based on line items selected
  - Multiple Store Locations
- Store Locator with Google Maps
- SalesForce

