PHPackages                             spryker/sales-payment-merchant-sales-merchant-commission - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Payment Processing](/categories/payments)
4. /
5. spryker/sales-payment-merchant-sales-merchant-commission

ActiveLibrary[Payment Processing](/categories/payments)

spryker/sales-payment-merchant-sales-merchant-commission
========================================================

SalesPaymentMerchantSalesMerchantCommission module

1.0.2(2mo ago)0102.7k↓53.8%1proprietaryPHPPHP &gt;=8.3CI passing

Since Aug 6Pushed 2mo ago3 watchersCompare

[ Source](https://github.com/spryker/sales-payment-merchant-sales-merchant-commission)[ Packagist](https://packagist.org/packages/spryker/sales-payment-merchant-sales-merchant-commission)[ RSS](/packages/spryker-sales-payment-merchant-sales-merchant-commission/feed)WikiDiscussions master Synced 3d ago

READMEChangelog (3)Dependencies (18)Versions (4)Used By (1)

SalesPaymentMerchantSalesMerchantCommission Module
==================================================

[](#salespaymentmerchantsalesmerchantcommission-module)

[![Latest Stable Version](https://camo.githubusercontent.com/4369723c44dadbabdeabbc9d752786aa53b1af5a683b887d67020c4358594575/68747470733a2f2f706f7365722e707567782e6f72672f737072796b65722f73616c65732d7061796d656e742d6d65726368616e742d73616c65732d6d65726368616e742d636f6d6d697373696f6e2f762f737461626c652e737667)](https://packagist.org/packages/spryker/sales-payment-merchant-sales-merchant-commission)[![Minimum PHP Version](https://camo.githubusercontent.com/9c50dc780fa576f5c39b4feff00c05345c1471be0808881a09e750b91220dc54/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f7068702d253345253344253230382e332d3838393242462e737667)](https://php.net/)

The SalesPaymentMerchantSalesMerchantCommission module provides functionality for calculating payout amounts and reverse payout amounts for merchant sales payments. This module is essential for managing financial transactions between merchants and the marketplace, ensuring accurate payment processing according to predefined commission rates.

Installation
------------

[](#installation)

```
composer require spryker/sales-payment-merchant-sales-merchant-commission

```

Documentation
-------------

[](#documentation)

[Spryker Documentation](https://docs.spryker.com)

Key Concepts
------------

[](#key-concepts)

TermMeaning**GMV**Gross Merchandise Value --- what the customer pays**Commission**Marketplace fee charged to the merchant**VAT/GST**Tax on the sale of goods**Withholding Tax**Tax the marketplace retains on behalf of the merchant**Tax Agent**When the marketplace is legally obligated to collect &amp; remit tax**GROSS mode**Prices displayed include tax**NET mode**Prices displayed exclude tax---

Use Case 1 --- Germany (GROSS Mode, Marketplace is NOT a Tax Agent)
-------------------------------------------------------------------

[](#use-case-1-----germany-gross-mode-marketplace-is-not-a-tax-agent)

**The most common EU B2C model.** The merchant is responsible for their own VAT. The marketplace simply deducts commission and pays out the rest.

> 🇩🇪 German VAT = **19%**

### Example: Product price €119.00 (GROSS, VAT included)

[](#example-product-price-11900-gross-vat-included)

StepCalculationAmountCustomer pays**€119.00**VAT included in price€119.00 / 1.19 × 0.19€19.00Net product price (excl. VAT)€119.00 - €19.00€100.00Marketplace commission (15% on GMV)€119.00 × 0.15€17.85VAT on commission (19%)€17.85 / 1.19 × 0.19€2.85**Payout to merchant**€119.00 - €17.85**€101.15****What happens with taxes:**

- The **merchant** reports and remits the full €19.00 VAT on the sale to the tax authority.
- The merchant receives a commission invoice from the marketplace (€17.85 incl. VAT) and can deduct the €2.85 VAT as input tax.
- **Marketplace does NOT act as tax agent** --- it just facilitates.

---

Use Case 2 --- Germany (GROSS Mode, Marketplace IS a Deemed Supplier / Tax Agent)
---------------------------------------------------------------------------------

[](#use-case-2-----germany-gross-mode-marketplace-is-a-deemed-supplier--tax-agent)

Under **EU 2021 e-commerce rules**, if the merchant is **non-EU** (e.g., a Chinese seller), the marketplace becomes the **deemed supplier** and must collect &amp; remit VAT.

> 🇩🇪 VAT = **19%**, non-EU merchant

### Example: Product price €119.00 (GROSS)

[](#example-product-price-11900-gross)

StepCalculationAmountCustomer pays**€119.00**VAT (marketplace must remit)€119.00 / 1.19 × 0.19€19.00Net sale value€100.00Marketplace commission (15% on net)€100.00 × 0.15€15.00**Marketplace retains**VAT + Commission = €19.00 + €15.00**€34.00****Payout to merchant**€119.00 - €34.00**€85.00****What happens with taxes:**

- **Marketplace** remits €19.00 VAT to the German tax authority (Finanzamt).
- Merchant receives €85.00 --- no VAT obligation in Germany.
- Marketplace issues a self-billing invoice to the merchant.

---

Use Case 3 --- United Kingdom (GROSS Mode, Marketplace as Tax Agent for Non-UK Sellers)
---------------------------------------------------------------------------------------

[](#use-case-3-----united-kingdom-gross-mode-marketplace-as-tax-agent-for-non-uk-sellers)

Since Brexit, UK requires marketplaces to collect VAT on goods ≤ £135 sold by **overseas sellers**.

> 🇬🇧 UK VAT = **20%**

### Example: Product price £120.00 (GROSS, VAT included)

[](#example-product-price-12000-gross-vat-included)

StepCalculationAmountCustomer pays**£120.00**VAT (marketplace collects)£120.00 / 1.20 × 0.20£20.00Net sale value£100.00Marketplace commission (12% on net)£100.00 × 0.12£12.00**Marketplace retains**£20.00 + £12.00**£32.00****Payout to merchant**£120.00 - £32.00**£88.00**For a **domestic UK seller**, the marketplace does NOT withhold VAT --- same as Use Case 1 (Germany, no tax agent).

---

Use Case 4 --- United States (NET Mode, Sales Tax Collected by Marketplace)
---------------------------------------------------------------------------

[](#use-case-4-----united-states-net-mode-sales-tax-collected-by-marketplace)

Most US states have **Marketplace Facilitator Laws** --- the marketplace **must** collect and remit sales tax regardless of merchant origin.

> 🇺🇸 Example: California sales tax = **7.25%** (can be higher with local taxes, e.g., 9.5% in LA)

### Example: Product price $100.00 (NET, tax excluded), LA rate 9.5%

[](#example-product-price-10000-net-tax-excluded-la-rate-95)

StepCalculationAmountProduct price (NET)$100.00Sales tax (marketplace collects)$100.00 × 0.095$9.50Customer pays$100.00 + $9.50**$109.50**Marketplace commission (15% on product price)$100.00 × 0.15$15.00**Marketplace retains**Sales tax + Commission = $9.50 + $15.00**$24.50****Payout to merchant**$109.50 - $24.50**$85.00****Key point:** In the US, sales tax is **never** part of the merchant's payout --- the marketplace handles it entirely.

---

Use Case 5 --- India (NET Mode, TDS + GST)
------------------------------------------

[](#use-case-5-----india-net-mode-tds--gst)

India has a unique system: marketplaces must deduct **TDS (Tax Deducted at Source)** at **1%** on net sales AND collect **GST**.

> 🇮🇳 GST = **18%** (standard rate), TDS = **1%**

### Example: Product price ₹1,000 (NET)

[](#example-product-price-1000-net)

StepCalculationAmountProduct price (NET)₹1,000GST (collected from buyer)₹1,000 × 0.18₹180Customer pays**₹1,180**Marketplace commission (20% on net)₹1,000 × 0.20₹200GST on commission (18%)₹200 × 0.18₹36TDS (1% on net sale)₹1,000 × 0.01₹10**Marketplace retains**Commission + GST on commission + TDS = ₹200 + ₹36 + ₹10**₹246****Payout to merchant**₹1,180 - ₹246**₹934****What happens:**

- Marketplace remits ₹10 TDS to the Income Tax Department (merchant claims credit).
- Merchant remits GST of ₹180 but claims ₹36 input credit on commission → net GST liability = ₹144.

---

Use Case 6 --- Australia (GROSS Mode, GST Withholding for Non-Resident Sellers)
-------------------------------------------------------------------------------

[](#use-case-6-----australia-gross-mode-gst-withholding-for-non-resident-sellers)

> 🇦🇺 GST = **10%**

### Example: Product price AUD 110.00 (GROSS), non-resident merchant

[](#example-product-price-aud-11000-gross-non-resident-merchant)

StepCalculationAmountCustomer pays**AUD 110.00**GST (marketplace collects for non-resident)AUD 110.00 / 1.10 × 0.10AUD 10.00Net saleAUD 100.00Marketplace commission (10% on net)AUD 100.00 × 0.10AUD 10.00**Marketplace retains**AUD 10.00 + AUD 10.00**AUD 20.00****Payout to merchant**AUD 110.00 - AUD 20.00**AUD 90.00**---

Use Case 7 --- Japan (Consumption Tax, Invoice System since Oct 2023)
---------------------------------------------------------------------

[](#use-case-7-----japan-consumption-tax-invoice-system-since-oct-2023)

> 🇯🇵 Consumption Tax (JCT) = **10%**

### Example: Product price ¥11,000 (GROSS, tax included), domestic seller

[](#example-product-price-11000-gross-tax-included-domestic-seller)

StepCalculationAmountCustomer pays**¥11,000**JCT included¥11,000 / 1.10 × 0.10¥1,000Marketplace commission (10% on GMV)¥11,000 × 0.10¥1,100JCT on commission¥1,100 / 1.10 × 0.10¥100**Payout to merchant**¥11,000 - ¥1,100**¥9,900**Merchant remits ¥1,000 JCT but deducts ¥100 input credit → net ¥900 to tax authority.

---

Use Case 8 --- Brazil (Complex Multi-Tax, Marketplace Withholding)
------------------------------------------------------------------

[](#use-case-8-----brazil-complex-multi-tax-marketplace-withholding)

Brazil has one of the most complex systems with multiple overlapping taxes.

> 🇧🇷 ICMS ≈ **18%**, PIS/COFINS ≈ **9.25%**, ISS on services ≈ **5%**

### Example: Product price R$100.00 (NET), simplified

[](#example-product-price-r10000-net-simplified)

StepCalculationAmountProduct priceR$100.00ICMS (included in price, state tax)R$100.00 × 0.18R$18.00Customer pays**R$100.00**Marketplace commission (15%)R$100.00 × 0.15R$15.00ISS on commission (5%)R$15.00 × 0.05R$0.75Withholding taxes (IR, PIS, COFINS, CSLL ≈ 5.85%)R$100.00 × 0.0585R$5.85**Marketplace retains**R$15.00 + R$0.75 + R$5.85**R$21.60****Payout to merchant**R$100.00 - R$21.60**R$78.40**---

Summary Matrix
--------------

[](#summary-matrix)

CountryPrice ModeMarketplace as Tax Agent?What Marketplace WithholdsMerchant Receives🇩🇪 Germany (EU seller)GROSS❌ NoCommission onlyGMV - Commission🇩🇪 Germany (non-EU seller)GROSS✅ Yes (deemed supplier)VAT + CommissionGMV - VAT - Commission🇬🇧 UK (overseas, ≤£135)GROSS✅ YesVAT + CommissionGMV - VAT - Commission🇺🇸 USANET✅ Yes (facilitator)Sales Tax + CommissionGMV + Tax - Tax - Commission🇮🇳 IndiaNET✅ Partial (TDS)Commission + GST on commission + TDSGMV - all deductions🇦🇺 Australia (non-resident)GROSS✅ YesGST + CommissionGMV - GST - Commission🇯🇵 Japan (domestic)GROSS❌ NoCommission onlyGMV - Commission🇧🇷 BrazilNET✅ PartialCommission + Withholding taxesGMV - all deductions---

Key Takeaways for Implementation
--------------------------------

[](#key-takeaways-for-implementation)

1. GROSS vs NET mode determines how tax is displayed to the buyer but the payout logic depends on the tax agent role, not the price mode.
2. Domestic vs. foreign merchant is the biggest variable — most countries only require marketplace tax collection for foreign/non-resident sellers.
3. Your payout engine needs to support at least 3 deduction types: commission, VAT/GST withholding, and income/withholding tax (TDS-style).
4. Commission can be calculated on GROSS (incl. tax) or NET (excl. tax) — this is a business decision but has tax implications (VAT on commission).
5. Consider building a tax agent flag per merchant per country to toggle whether the marketplace withholds VAT or not.

###  Health Score

51

—

FairBetter than 95% of packages

Maintenance85

Actively maintained with recent releases

Popularity32

Limited adoption so far

Community20

Small or concentrated contributor base

Maturity57

Maturing project, gaining track record

 Bus Factor2

2 contributors hold 50%+ of commits

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~309 days

Total

3

Last Release

79d ago

PHP version history (2 changes)1.0.0PHP &gt;=8.1

1.0.1PHP &gt;=8.3

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/10738957?v=4)[Spryker Bot](/maintainers/spryker-bot)[@spryker-bot](https://github.com/spryker-bot)

---

Top Contributors

[![olhalivitchuk](https://avatars.githubusercontent.com/u/77281282?v=4)](https://github.com/olhalivitchuk "olhalivitchuk (2 commits)")[![stereomon](https://avatars.githubusercontent.com/u/1382877?v=4)](https://github.com/stereomon "stereomon (2 commits)")[![aleksandr-velikanov](https://avatars.githubusercontent.com/u/105643831?v=4)](https://github.com/aleksandr-velikanov "aleksandr-velikanov (1 commits)")[![matweew](https://avatars.githubusercontent.com/u/454530?v=4)](https://github.com/matweew "matweew (1 commits)")[![spryker-release-bot](https://avatars.githubusercontent.com/u/26904324?v=4)](https://github.com/spryker-release-bot "spryker-release-bot (1 commits)")[![vol4onok](https://avatars.githubusercontent.com/u/5063777?v=4)](https://github.com/vol4onok "vol4onok (1 commits)")

### Embed Badge

![Health badge](/badges/spryker-sales-payment-merchant-sales-merchant-commission/health.svg)

```
[![Health](https://phpackages.com/badges/spryker-sales-payment-merchant-sales-merchant-commission/health.svg)](https://phpackages.com/packages/spryker-sales-payment-merchant-sales-merchant-commission)
```

###  Alternatives

[spryker/search

Search module

152.9M84](/packages/spryker-search)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
