KI / B2B SaaS

Quotery - KI-Angebotserstellung und Fulfillment fur Distributoren

Web
Website besuchen →

Überblick

Quotery ist ein mandantenfahiges B2B-SaaS, das eingehende Bestellanfragen — PDFs, Excel-Tabellen, CSV-Positionslisten — in wenigen Minuten in bepreiste, abgeglichene und auditfahige Angebote verwandelt. Entwickelt fur schnelle Distributoren, Handwerksbetriebe und Servicewerkstatten, kombiniert es eine OpenAI-Orchestrierung mit drei Aufrufen und einen deterministischen codebasierten Produkt-Matcher, sodass exakte Treffer nie LLM-Tokens verbrauchen. Vom Angebotsentwurf bis zum gebuchten Lieferschein liegt der gesamte Quote-to-Cash-Prozess auf einer Plattform.

Die Herausforderung

B2B-Vertriebsteams verbringen Stunden damit, Bestellanfragen von Kunden in Angebotssoftware abzutippen, Freitext-Produktbeschreibungen gegen Kataloge abzugleichen, die mehrere Codekonventionen verwenden (Lieferant, intern, Import, Export), und dieselben Daten erneut in Fulfillment- und Inventar-Tools einzugeben. Standard-ERPs sind schwergewichtig und langsam zu konfigurieren; improvisierte Tabellenkalkulationen verlieren Nachvollziehbarkeit in dem Moment, in dem eine Bestandsanpassung passiert.

Die Lösung

Wir haben Quotery als mandantenbezogenes Django 5 + DRF-Backend mit einer React-19-SPA und einer auf Render bereitgestellten Marketing-Website gebaut. Jedes Geschaftsmodell erbt von einer Basisklasse mit UUID-Schlussel und Soft-Delete, jede Abfrage wird automatisch nach Mandant gefiltert, und jede Mutation in der Service-Schicht invalidiert eine prazise Menge von Redis-Cache-Gruppen (dashboard, product-usage, quotes-map) mit einem Schlusselmuster qf:v1:<gruppe>:<scope>:<hash>, das bei Redis-Ausfall sanft fehlschlagt. Der KI-Angebotsimport fuhrt drei sequenzielle OpenAI-Aufrufe innerhalb einer atomaren Transaktion aus: Strukturextraktion aus PDF (pypdf), XLSX (openpyxl), CSV oder Klartext; deterministischer Abgleich gegen vier Produktcode-Felder plus ein LLM-Pick-or-Reject in Batches uber nicht abgeglichene Zeilen mit Halluzinationsschutz; und eine 1- bis 3-Satze-Zusammenfassung, die auf die Locale eingeht. Angebote durchlaufen eine formale Zustandsmaschine (draft -> sent -> closed -> partially_delivered -> delivered), die ein append-only Bestandsjournal uber mehrere Standorte speist, wobei Uberreservierung erlaubt ist, damit der Vertrieb zusagen kann, bevor ein Wareneingang gebucht wird. Lieferscheine, Rucknahmen und Wareneingange teilen sich einen gemeinsamen Entwurf-zu-gebucht-Fluss. PDFs werden uber WeasyPrint gerendert, die Authentifizierung erfolgt uber Google OAuth via django-allauth mit sitzungsbasiertem JWT in HttpOnly-Cookies, RBAC nutzt einen individuellen Berechtigungskatalog, und jede Mutation landet in einem unveranderlichen Audit-Log. Ein eingebetteter Assistent beantwortet Fragen zu Angeboten, Kunden und Bestand genau dort, wo der Benutzer gefragt hat.

Technologien, die wir verwenden

Python 3.12 Django 5 Django REST Framework PostgreSQL 17 Redis 7 React 19 TypeScript Vite 7 Tailwind CSS Framer Motion OpenAI SDK (gpt-4.1-mini, gpt-image-1) WeasyPrint (PDF) django-allauth + SimpleJWT django-unfold admin Docker Compose Gunicorn Render.com

Highlights

70%
Gesparte Zeit bei der Angebotserfassung
99.2%
Genauigkeit der Positionszuordnung
3
UI-Sprachen sofort verfugbar (en-US, pt-BR, es-US)
3-call
KI-Orchestrierung pro Import (extrahieren, zuordnen, zusammenfassen)

Ready to scale your engineering team?

Tell us about your project and we'll get back to you within 24 hours.

Start a conversation