Open Source  ·  MIT License  ·  Free Forever

The Open B2B Ordering
Platform, Built
on the Edge

Limerick gives wholesale suppliers a self-hostable ordering portal — product catalogue, price groups, invoicing, and buyer management — deployed to Cloudflare Workers in a single command.

No credit card required  ·  Runs on your Cloudflare account

v0.0.1 Alpha Currently in active development — interfaces and APIs may change.
limerick.alcogy.dev/admin
Limerick
Dashboard
Products
Buyers
Orders
Invoices
Dashboard
38
Buyers
124
Products
7
Unconfirmed

Everything a Wholesale Supplier Needs

One platform for catalogue management, buyer relationships, and the full order-to-invoice workflow.

Product & Category Management

Manage your full catalogue with images (R2), SKU auto-numbering, and categories. Buyers see only what you publish.

Price Group Management

Set per-group contract prices or discount rates. Each buyer belongs to a price group, so they always see their negotiated price.

Buyer (Customer) Management

Onboard retail buyers with email invitations. Manage accounts, assign price groups, and view order history per buyer.

Order Management

Full order lifecycle: confirm, ship, complete, or cancel. Stock restores automatically on cancellation. Complete audit trail.

Invoice Generation

Aggregate orders by closing period and generate printable PDF invoices. Customisable templates with variable substitution.

Buyer Ordering Portal

Buyers browse the catalogue with contract prices, manage a cart, checkout, and reorder with one click. Mobile-friendly interface.

See Limerick in Action

Built for both the supplier admin and the retail buyer — two interfaces, one platform.

Supplier Admin

Manage your catalogue, your way

  • Upload product images to Cloudflare R2
  • Auto-assign SKU numbers on creation
  • Set per-category pricing or per-buyer discount rates
  • Toggle products between draft and published
limerick.alcogy.dev/admin/products
Limerick
Dashboard
Products
Buyers
Orders
Products
Organic Olive Oil 500ml
SKU-0042
Published
Premium Sea Salt 1kg
SKU-0043
Published
Aged Balsamic Vinegar
SKU-0044
Draft
Price Groups

Every buyer pays their negotiated price

  • Create unlimited price groups
  • Assign contract prices or percentage discounts per group
  • Every buyer in the group sees their price automatically
  • Override individual product prices within a group
limerick.alcogy.dev/admin/price-groups
Limerick
Dashboard
Price Groups
Buyers
Orders
Price Groups
Wholesale A
12 buyers  ·  −15%
Wholesale B
8 buyers  ·  −10%
Retail Partners
18 buyers  ·  Contract price
New Accounts
3 buyers  ·  List price
Buyer Ordering Portal

A catalogue your buyers will actually use

  • Clean product grid with real-time stock status
  • Search, sort, and filter by category
  • Cart with quantity controls and stock guard
  • One-click reorder from previous orders
limerick.alcogy.dev/shop
Cart (3)
All Oils Spices
Olive Oil
¥1,200
Sea Salt
¥680
Balsamic
¥2,400
Black Pepper
¥450
Order & Invoice Management

From order to invoice in one workflow

  • Confirm → Ship → Complete workflow with email notifications
  • Cancel restores stock automatically
  • Invoice aggregation by configurable closing period
  • Print-ready PDF invoices
limerick.alcogy.dev/admin/orders
Limerick
Dashboard
Products
Buyers
Orders
Orders
#1024
Acme Retail
Confirmed
#1023
FreshMart Co.
Shipped
#1022
Green Store
Unconfirmed
#1021
NaturaMart
Completed

Why Suppliers Choose Limerick

Free & Open Source

MIT license. Full control over your ordering portal with no monthly fees and no per-order charges.

One-Command Deploy

A single shell script provisions your D1 database, R2 image storage, runs migrations, and deploys to Cloudflare. Up in minutes.

Edge Performance

Cloudflare Workers puts your ordering portal close to every buyer worldwide. Fast catalogue loads, instant checkout.

Your Data, Your Control

Buyer data, order history, and pricing stays on your Cloudflare account. No third-party SaaS dependency.

Up and Running
in One Command

The deploy.sh script handles everything automatically:

  • 1 Logs you in to Cloudflare (browser, first time only)
  • 2 Creates D1 database and R2 image storage bucket
  • 3 Runs SQL migrations on the remote database
  • 4 Builds and deploys the Worker globally
Terminal bash
git clone https://github.com/alcogy/limerick
cd limerick && bun install
bash deploy.sh --seed   # includes demo supplier + buyer accounts
Deploy to Cloudflare Workers

Built with the Modern Edge Stack

Limerick uses an adapter pattern for email, Drizzle schema-first migrations, and Zod validation on all inputs. Price group logic and invoice generation are fully built-in.

SK

SvelteKit

Svelte Runes reactive model. Separate supplier admin and buyer-facing routes in one codebase.

CF

Cloudflare

Workers runtime at the edge, D1 SQLite database, and R2 object storage for product images.

ORM

Drizzle ORM

Lightweight TypeScript ORM with compile-time query safety. Schema-first migrations built-in.

TS

TypeScript

End-to-end type safety from database schema to UI components. No any escapes.

ZOD

Zod

Runtime validation on every service input. Parse, don't trust — enforced at every write boundary.

Bun

Bun

All-in-one fast runtime, bundler, and package manager. Drop-in npm replacement.

Limerick uses an adapter pattern for email (Resend / SES / SMTP / Cloudflare Email), Drizzle schema-first migrations, and Zod validation on all inputs. Price group logic and invoice generation are fully built-in. Explore the source →

Start Building with Limerick

Your B2B ordering portal is one command away.
Free, open source, and runs entirely on your Cloudflare account.