Django-Oscar B2B Webshop with Customer Specific Pricelists & Company Management

Job ID: 40269811

Budget: €30 – €250 EUR

I need an experienced Django / Django-Oscar developer to build a B2B webshop based on the official Django-Oscar sandbox environment.

The project must extend Oscar with proper B2B functionality including customer-specific pricing and company account management.

This is a fixed-price project.

Technical Stack

Python 3.x

Django (latest stable)

Django-Oscar (latest stable)


Required Features
1) Add a company and let each customer be connected to a company

1) Company specific Pricelists (Core Requirement)

The pricelist must:

Be defined per company

Allow setting price per:

Product

Variant (if applicable)

Override default Oscar pricing

Be used automatically in the Oscar pricing strategy

Work across:

Product detail page
Basket
Checkout
Order totals

The price list an lines model must follow this json
for the header:
{
"PriceList": "TEST",
"Name": "TEST",
"ValidFrom": "0001-01-01T00:00:00",
"ValidTo": "0001-01-01T00:00:00",
"Currency": "",
}
for the line:
{
"PriceList": "TEST",
"Item": "2000",
"Price": 5.0,
"Pct": 0.0,
"Qty": 1.0,
"Discount": 20.0,
"ItemGroup": null,
"ValidFrom": "0001-01-01T00:00:00",
"ValidTo": "0001-01-01T00:00:00",
"Currency": null,
},

If no special price exists, the system must fall back to default price.

2️⃣ Company Model (B2B Structure)

We need a proper B2B structure:

A Company
A company can have multiple users
One user is marked as Company Admin
Pricelist is attached to the Company (not user)

3️⃣ Company Admin Capabilities

Company Admin must be able to:
- Add users to their company
- Remove users from their company
- Edit users
- Manage delivery addresses for company accounts

Users belonging to the same company must:
- See the same pricelist
- See orders created by all users in their company

4️⃣ Disable Company

A company can be marked as:
- Active
- Disabled

If Disabled:

No users in that company can place orders

Basket checkout must be blocked

Clear error message shown

5️⃣ Account Page Enhancements

Logged in users must be able to:

See their company information
See their active pricelist
See prices reflected correctly on all products
See all company orders

Code Requirements

Clean architecture
Extend Oscar correctly (no hacks)
Use custom pricing strategy properly

Proper migrations

Admin interface for managing:
Companies
Pricelists
Company users


This is a fixed price project