Magento 2 Module Update & Extension
Budget: €750 – €1,500 EUR
Magento 2 Module Update & Extension – Cross-Border Duties, Taxes, PDF Invoicing & Business Intelligence Integration
Project Overview
We are seeking a Magento 2 certified developer (or team) to update and evolve an existing custom Magento module developed by Transiteo. The module calculates international duties and taxes, synchronizes business intelligence data by category and country, manages PDF invoicing for clients and vendors, and exposes data to a headless frontend via GraphQL.
The project involves:
- Updating for Magento 2.4.7 & PHP 8.1
- Creating/triggering custom APIs (Transiteo)
- Storing, retrieving, and displaying international fiscal data
- Exposing all relevant information via GraphQL for a headless environment (React/Vue)
Scope of Work
1. Module Code Upgrade
- Refactor code to support PHP 8.1 and Magento 2.4.7
- Replace deprecated functions (e.g. each(), create_function())
- Update type hints (ReflectionParameter::getClass() → getType())
- Remove obsolete Zend dependencies (migrate to Laminas)
- Validate CLI commands, observers, plugins, helpers
- Ensure full compatibility in developer mode (DI compile, upgrade, etc.)
Deliverables:
- GitHub repo with clean commits
- Fully working module (Magento 2.4.7)
- Patch notes / upgrade changelog
2. Creation Handlers (Category, Store-Country, Vendor)
- Implement automatic syncing of categories, stores, and vendors to Transiteo API
- Use provided Transiteo v2 endpoints:
- POST /v2/customer/categories for categories
- POST /v1/customer/vendors for seller onboarding
- Data returned includes restriction, duty, local tax, sales tax, special tax, and eco tax
- Store responses in Magento DB for business intelligence usage
3. Duty & Taxes Calculation (Checkout Payment Page Only)
- Integrate API : POST /v1/taxsrv/dutyCalculation
- Trigger calculation when destination, shipping/payment method or seller changes
- Must support multiple products and vendors
- Expose results via GraphQL
- Only on the Checkout Payment Page
- Example output: duty amount, tax %, eco-tax, breakdown per product/vendor
Required:
- Observer or JS trigger to detect cart/destination changes
- Resolver to expose calculations via GraphQL (calculateMarketplaceTaxes)
- Input/Output formatting as per full documentation
4. Reverse Duty & Tax Refund Calculation
- Integrate Transiteo’s API : POST /v1/reverseLandedCost
- Trigger when a refund/credit memo is issued
- Store the refundable amount (duties, VAT, special taxes) per SKU
- Display in admin via custom block/tab
- Expose data via GraphQL (per order, SKU or vendor)
5. PDF Invoicing (Buyer & Vendor)
- Trigger PDF generation upon order placement
- Use API:
Buyer: GET /v1/pdf/generate/agent_inv/en/{timestamp}
Vendor: GET /v1/pdf/generate/export_inv/en/{timestamp}
- Store resulting document ID + URL (optional caching)
- Expose PDFs via GraphQL on Order type:
6. Magento Admin Settings Panel
A. Tax Display Settings (Price by Page)
- Admin can configure if taxes are included or shown separately by page: homepage, category, search, product, seller, cart, payment
- Use core_config_data with keys like: transiteo_settings/price_display/product_page/included_in_price
- Create GraphQL resolver:
type TransiteoPriceDisplaySettings {
productPage: PriceDisplayOption
...
}
B. Import/Export Business Intelligence Data
- Build an admin page listing all categories + countries
- Columns: restriction, duty, local tax, sales tax, special tax, eco tax
Actions:
Update by country / global
Delete by country / global
Sync categories (POST 100 at once)
Example endpoint: GET /v2/customer/categories?category_id=all&country_iso=FR
GraphQL Exposure
- All major features must be exposed via GraphQL. Examples include:
- Estimated duties/taxes (Checkout)
- Reverse duty amounts (Refunds)
- PDF invoice links
- Display settings (per page type)
- Category/country tax matrix
Resolvers are expected to be well-documented and respect Magento ACL.
Tech Requirements
- Magento 2.4.7
- PHP 8.1
- Composer 2+
- GraphQL (Magento-native schema + resolvers)
- MySQL 8+
- Headless frontend compatibility
- Git/GitHub for version control
Project Overview
We are seeking a Magento 2 certified developer (or team) to update and evolve an existing custom Magento module developed by Transiteo. The module calculates international duties and taxes, synchronizes business intelligence data by category and country, manages PDF invoicing for clients and vendors, and exposes data to a headless frontend via GraphQL.
The project involves:
- Updating for Magento 2.4.7 & PHP 8.1
- Creating/triggering custom APIs (Transiteo)
- Storing, retrieving, and displaying international fiscal data
- Exposing all relevant information via GraphQL for a headless environment (React/Vue)
Scope of Work
1. Module Code Upgrade
- Refactor code to support PHP 8.1 and Magento 2.4.7
- Replace deprecated functions (e.g. each(), create_function())
- Update type hints (ReflectionParameter::getClass() → getType())
- Remove obsolete Zend dependencies (migrate to Laminas)
- Validate CLI commands, observers, plugins, helpers
- Ensure full compatibility in developer mode (DI compile, upgrade, etc.)
Deliverables:
- GitHub repo with clean commits
- Fully working module (Magento 2.4.7)
- Patch notes / upgrade changelog
2. Creation Handlers (Category, Store-Country, Vendor)
- Implement automatic syncing of categories, stores, and vendors to Transiteo API
- Use provided Transiteo v2 endpoints:
- POST /v2/customer/categories for categories
- POST /v1/customer/vendors for seller onboarding
- Data returned includes restriction, duty, local tax, sales tax, special tax, and eco tax
- Store responses in Magento DB for business intelligence usage
3. Duty & Taxes Calculation (Checkout Payment Page Only)
- Integrate API : POST /v1/taxsrv/dutyCalculation
- Trigger calculation when destination, shipping/payment method or seller changes
- Must support multiple products and vendors
- Expose results via GraphQL
- Only on the Checkout Payment Page
- Example output: duty amount, tax %, eco-tax, breakdown per product/vendor
Required:
- Observer or JS trigger to detect cart/destination changes
- Resolver to expose calculations via GraphQL (calculateMarketplaceTaxes)
- Input/Output formatting as per full documentation
4. Reverse Duty & Tax Refund Calculation
- Integrate Transiteo’s API : POST /v1/reverseLandedCost
- Trigger when a refund/credit memo is issued
- Store the refundable amount (duties, VAT, special taxes) per SKU
- Display in admin via custom block/tab
- Expose data via GraphQL (per order, SKU or vendor)
5. PDF Invoicing (Buyer & Vendor)
- Trigger PDF generation upon order placement
- Use API:
Buyer: GET /v1/pdf/generate/agent_inv/en/{timestamp}
Vendor: GET /v1/pdf/generate/export_inv/en/{timestamp}
- Store resulting document ID + URL (optional caching)
- Expose PDFs via GraphQL on Order type:
6. Magento Admin Settings Panel
A. Tax Display Settings (Price by Page)
- Admin can configure if taxes are included or shown separately by page: homepage, category, search, product, seller, cart, payment
- Use core_config_data with keys like: transiteo_settings/price_display/product_page/included_in_price
- Create GraphQL resolver:
type TransiteoPriceDisplaySettings {
productPage: PriceDisplayOption
...
}
B. Import/Export Business Intelligence Data
- Build an admin page listing all categories + countries
- Columns: restriction, duty, local tax, sales tax, special tax, eco tax
Actions:
Update by country / global
Delete by country / global
Sync categories (POST 100 at once)
Example endpoint: GET /v2/customer/categories?category_id=all&country_iso=FR
GraphQL Exposure
- All major features must be exposed via GraphQL. Examples include:
- Estimated duties/taxes (Checkout)
- Reverse duty amounts (Refunds)
- PDF invoice links
- Display settings (per page type)
- Category/country tax matrix
Resolvers are expected to be well-documented and respect Magento ACL.
Tech Requirements
- Magento 2.4.7
- PHP 8.1
- Composer 2+
- GraphQL (Magento-native schema + resolvers)
- MySQL 8+
- Headless frontend compatibility
- Git/GitHub for version control