- type
- summary
- created
- Tue Apr 07 2026 02:00:00 GMT+0200 (Central European Summer Time)
- updated
- Tue Apr 07 2026 02:00:00 GMT+0200 (Central European Summer Time)
- sources
- raw/articles/PRD
- tags
- prd marketplace b2b paper-surplus product-spec
PRD Summary
Problem Space
The global paper market exceeds $400B annually. Surplus paper -- side trims, overruns, cancelled orders, off-spec production -- represents a multi-billion dollar segment with no dedicated digital marketplace. Trading is manual: mills compile Excel spreadsheets, email them to 5-20 brokers, and wait days to weeks for matches. Speed is the dominant differentiator -- buyers purchase from the first trader who answers, even at a $5-10/ton premium. Small lots (5-15 MT) are uneconomical to ship individually because a 40ft container holds 24-26 MT, making freight per ton approximately 3x higher for partial loads. No centralized surplus price benchmarks exist; FOEX and RISI cover production prices only. Surplus typically trades at 30-60% below production prices, ranging from $400-3,000/ton depending on product type.
Partnership and Business Model
The platform is a 50/50 partnership between Rafael (DeployStaff, technology) and Thierry (Morichal Trading, domain expertise with 15+ years, 45 mill relationships, 350-400 clients across 13 countries). Revenue comes from a commission per transaction, targeting $5-20/ton or 2-5% of deal value -- low enough that bypassing the platform is not worth the effort.
Four-Layer Architecture
- Data Bootstrap Layer -- One-time import of Morichal's historical orders, supplier profiles, and buyer information to seed the platform.
- Entity Layer -- Six core business entities: Mills, Products, SurplusItem, VisibilityRule (supply side) and Buyers, BuyerSpec (demand side).
- Action Layer -- Eight business operations: Excel ingestion, matching algorithm, container assembly, exclusivity, newsletter generation, visibility configuration, pre-production announcements, and data bootstrap extraction.
- Output Layer -- Newsletters, container proposals, and notifications delivered to buyers.
Three Pillars of Paper Trading
Every feature must respect: (1) Credit/Payment -- surplus is usually prepaid, traders facilitate 90-120 day credit, platform targets escrow with 5-day mill payment; (2) Documentation -- BL, packing list, invoices, customs, phytosanitary certificates, handled by Morichal back-office; (3) Trust/Relationships -- star ratings, quality reviews, transaction history, leveraging Morichal's 15-year reputation.
Core Mechanisms
Spec-Based Matching: The matching algorithm scores surplus-buyer pairs across five dimensions with fixed weights: paper type (30%, binary gate), GSM (25%, tolerance bands), width (20%, machine constraints), quality grade (15%, grade hierarchy), and geography (10%, proximity). Minimum threshold is 50; matches are classified as exact (>=90), close (70-89), or partial (50-69). See wiki/concepts/matching-algorithm.
48-Hour Exclusivity: High-score matches (>=80) get a first-right-of-refusal window. Maximum 3 sequential grants per item. Countdown starts at notification, not listing. Tie-breaking uses monthly volume. See wiki/concepts/48-hour-exclusivity-window.
Container Assembly: A greedy bin-packing algorithm combines multiple surplus lots into full containers (20ft: 18-22 MT, 40ft: 24-26 MT, 40ft HC: 24-28 MT). Minimum 70% utilization. Products must be compatible (same paper group, grade gap <=1, food contact consistency). See wiki/concepts/container-assembly and wiki/concepts/container-fill-optimization.
Geographic Visibility: Mills control surplus distribution at the region/country/city level with allow/deny rules and per-destination price adjustments. Deny overrides allow; most specific scope wins; secure by default (no matching rule = not visible). See wiki/concepts/geographic-visibility-system.
Excel Ingestion: Mills email surplus spreadsheets to dedicated addresses. A Celery-based pipeline polls inboxes every 5 minutes, applies per-mill parser configs to handle format variations, validates data, deduplicates via SHA-256 hashing, and commits items through admin review. See wiki/concepts/excel-ingestion-pipeline.
Newsletter Generation: The primary buyer interface in MVP. Per-buyer, visibility-filtered, personalized HTML emails with sections for exact matches, close matches, container proposals, and coming-soon pre-production items. Delivery frequencies: daily, weekly, or on-match (immediate for scores >=80). See wiki/concepts/newsletter-generation.
Zero-Friction Mill Adoption
The platform requires zero behavior change from mills. They email Excel spreadsheets as they already do with brokers. No new software to learn. Each mill gets a unique ingestion email address ({mill-slug}@surplus.marketplace.com). The platform sends confirmation: "We received your update -- 5 lots listed." Mills send their surplus list "the way they want" -- Excel, Word, or email body. The parser handles multiple column naming conventions across languages (English, Spanish, German).
User Personas
Four personas drive the design:
- Hans (Mill Sales Manager, Dusseldorf): Produces kraftliner/testliner, 100-300 GSM, ~200 MT/month surplus. Wants to sell faster without learning new software. Success: days to sell reduced from 14 to <3.
- Carlos (Buyer/Procurement, Valencia): Needs kraftliner 120-200 GSM, testliner 90-170 GSM. Wants access to more surplus at better prices with economical freight. Success: cost per ton reduced 15-25%.
- Alejandro (Morichal Operations/Admin): Manages trade operations, supplier verification, documentation. Wants efficient automation. Success: manual verification time reduced 80%.
- Mara (Trader, Holland): Sends daily surplus lists (~537 MT/week, ~20 containers). Represents traders who are both potential users and potential competitors.
Data Model Highlights
Six core entities on the Entity Layer:
- Mill: Manufacturing facility (supply side), with country, region, paper_types, GSM range, trust_score, ingestion_email
- Product: Atomic paper specification (paper_type, GSM, width, caliper, fiber_type, mechanical properties)
- SurplusItem: Specific lot available for sale. Status state machine:
pre_production -> available -> exclusive -> reserved -> sold(with branches toexpiredandwithdrawn) - VisibilityRule: Geographic access control (allow/deny at region/country/city scope with price adjustments)
- Buyer: Purchasing company (demand side), with company_type, newsletter_frequency, credit_status
- BuyerSpec: Detailed buyer requirements per paper type (GSM range, width range, grades, machine constraints, max price)
Supporting entities: MatchResult, ContainerProposal (with ContainerProposalItem), IngestionBatch, Newsletter, Transaction.
Quality grades: A (prime, 5-15% discount), B (near-prime, 20-35%), C (off-grade, 40-60%). Paper types: kraftliner, testliner, fluting, duplex, triplex, sack_kraft, white_top_testliner, coated_board, mg_kraft, greaseproof, tissue. GSM range: 13-500; width range: 100-5000mm.
Security Model
Three roles with RBAC: ADMIN (Morichal ops, full access), MILL_USER (manage own mill's surplus and visibility), BUYER_USER (view matches, manage specs). Data isolation enforced via Django QuerySet mixins (MillScopedMixin, BuyerScopedMixin, VisibilityFilteredMixin). Authentication via JWT (15-min access, 7-day refresh). API rate limiting: 100 req/min general, 10 req/min for auth endpoints.
MVP Phasing
MVP (Month 1-2): 5 mills + 5 clients. Core matching loop, Excel ingestion with admin review, newsletters, geographic visibility, basic exclusivity. No self-service portals, no container assembly, no payments.
V1 (Month 3-4): Buyer/mill portals (Angular), automated container assembly, pre-production announcements, auto-commit ingestion for trusted mills, transaction recording.
V2 (Month 5+): Escrow payments, credit integration, star ratings, AI-assisted Excel parsing, document generation, multi-language, Americas expansion, public API.
Geographic Strategy
Phase 1: Europe (intra-EU) -- same regulatory framework, truck shipping possible, lower minimums. Phase 2: Europe to Americas -- container shipping, more complex customs. Phase 3: Global -- China, Indonesia, US, Middle East, Africa.
Key Success Metrics
MVP targets: 5 active mills, 5 active buyers, >60% match rate, >80% match accuracy, >50% newsletter open rate, ingestion speed <30 minutes, at least 1 completed transaction. V1 targets: 15+ mills, 20+ buyers, >40% container proposal acceptance, monthly GMV >EUR100,000.
Open Questions
Key unresolved items include: legal entity incorporation location, commission model (fixed vs percentage), payment flow (Morichal intermediary vs escrow), email provider for ingestion, and whether to allow traders (like Mara) to list on behalf of mills.
Sources
- raw/articles/PRD -- full Product Requirements Document (v1.0.0, 2026-02-25)
Related
- wiki/concepts/spec-based-matching -- core matching philosophy
- wiki/concepts/matching-algorithm -- scoring functions detail
- wiki/concepts/container-assembly -- small lot problem solution
- wiki/concepts/excel-ingestion-pipeline -- zero-friction mill adoption mechanism
- wiki/concepts/geographic-visibility-system -- distribution control
- wiki/concepts/newsletter-generation -- primary buyer interface