Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Mark payment as B2B or B2C #150

Open
remcotolsma opened this issue Jun 17, 2021 · 5 comments
Open

Mark payment as B2B or B2C #150

remcotolsma opened this issue Jun 17, 2021 · 5 comments

Comments

@remcotolsma
Copy link
Member

remcotolsma commented Jun 17, 2021

From 1 July 2021, the VAT rules on cross-border business-to-consumer (B2C) e-commerce activities will change. The rationale for these changes is to overcome the barriers to cross-border online sales and address challenges arising from the VAT regimes for distance sales of goods and for the importation of low value consignments.

For VAT regulations it may be useful to make this distinction, but it also affects the buyer's rights:

https://europa.eu/youreurope/citizens/consumers/shopping/shopping-consumer-rights/

De Wet Koop op Afstand geldt alleen bij consumentenkoop, oftewel een koop tussen een zakelijke verkoper (winkelier) en een consument. Een consument is iemand die per definitie niet handelt vanuit beroep of bedrijf. Iemand die een bestelling plaatst uit naam van een bedrijf, kan zich dus niet beroepen op het consumentenrecht.

Source: https://www.ictrecht.nl/blog/geldt-de-wet-koop-op-afstand-ook-bij-bestellingen-op-de-zaak

This is probably why many online stores also ask whether you buy as a private person or business:

Schermafbeelding 2021-06-17 om 16 41 30

Schermafbeelding 2021-06-17 om 16 40 54

As soon as a VAT number is provided, you know that there is a company behind it.

I don't know if PSP like AfterPay wants to know if they are dealing with a private person or business.

Links

@remcotolsma remcotolsma added this to the 6.9 milestone Jun 17, 2021
@remcotolsma
Copy link
Member Author

Zorg dat in het bestelproces de opties voor het invoeren van bedrijfsgegevens aanwezig zijn, zodat er niet enkel om een naam en privé-adresgegevens worden gevraagd. Vult de klant bedrijfsgegevens in, dan kunt u er van uitgaan dat dit een zakelijke klant is.

https://www.ictrecht.nl/blog/hoe-weet-je-of-een-klant-een-zakelijke-klant-is

@remcotolsma
Copy link
Member Author

https://mip.afterpay.nl/en/api-documentation/

Payment Methods

Currently, AfterPay supports these payment methods:

Method Description
B2C invoice NL AfterPay for Dutch consumers
B2C invoice BE AfterPay for Belgium consumers
B2B invoice NL AfterPay for Dutch companies
B2C direct debit NL AfterPay for Dutch consumers (Direct Debit)

I know that Rabobank OmniKassa 2.0 supports the AfterPay payment method, but it doesn't seem that they have specific fields for B2C or B2B payments.

Mollie has an organizationName field in the billing order address details:
https://docs.mollie.com/reference/v2/orders-api/create-order#order-address-details

Stripe has an business_type attribute (individual, company, non_profit, government_entity) in the account object, but don't think is directly related to orders/payments:
https://stripe.com/docs/api/accounts/object

Adyen has an company object parameter in a payment request object:
https://docs.adyen.com/api-explorer/#/CheckoutService/v67/post/payments__reqParam_company

PayPal has an business_name and business_type parameter / property:
https://developer.paypal.com/docs/api/orders/v2/#definition-business_type

reachdigital-screencast-companyswitcher

https://www.reachdigital.nl/blog/gratis-magento-2-module-optimaal-zakelijk-bestellen-in-het-magento-afrekenproces

@remcotolsma
Copy link
Member Author

In the case of distance selling within the EU, the buyer must be a private individual (final consumer – B2C). The regulation therefore does not apply to entrepreneurs (B2B) who purchase the goods for their business. It also does not apply to legal persons holding a VAT identification number, VAT ID no. (e.g. local authorities or associations).

Distance selling within the EU, where the buyer of the goods is a private person or the item is purchased for private consumption (B2C/Business to Consumer), is not the same as supplying goods to an entrepreneur within the EU (B2B/Business to Business). The resulting VAT obligations differ significantly. Therefore, the correct classification of the transaction type (B2B or B2C) is essential for determining the right VAT consequences.

https://eclear.com/article/this-changes-for-intra-community-distance-selling-as-of-1-july-2021/

@rvdsteege
Copy link
Member

@remcotolsma Can we use the existing company_name and vat_number properties in the Customer class, to determine B2C/B2B and flag the payment appropriately?

@rvdsteege rvdsteege modified the milestones: 6.9, 7.0 Jun 21, 2021
@remcotolsma remcotolsma removed this from the 7.0 milestone Sep 9, 2021
@remcotolsma
Copy link
Member Author

I think i prefer a specific property to make this distinction, maybe customer_type with option private or company. It seems common for a customer to indicate whether he/she orders for business or private purposes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants