Ordering platform, online shop and ERP for a restoration workshop
Public website, shop, internal ERP and 8 integrations in one workflow
Project information
Category
Web platform Online shop ERP systemIndustry
Shoe and bag restorationTechnologies
Laravel 12 Vue 3, Inertia MySQLIntegrations
Woot, Oblio, FiscalNet BaseLinker, Meta, SMSOAtelier Transylvania repairs, reconditions and cleans shoes and bags, with courier pickup and delivery across Romania. We built two applications that work together: the public website, where customers order a restoration or buy care products, and the internal ERP, where the workshop receives orders, tracks them through production and issues shipping labels, invoices and fiscal receipts. Around them run eight integrations with external services, from courier and e-invoicing to the cash register.
Eight external services connected to the site and the ERP
Woot Courier
CourierPickup and return labels generated straight from the order, delivery through FAN Courier and DPD or to FANbox lockers, Bucharest addresses completed with their sector automatically, parcel weight and size on every shipment and a public tracking page.
Oblio
Invoicing and e-FacturaInvoices issued from the order and sent automatically to SPV, the Romanian e-invoicing system, with the county in the format ANAF expects, shipping on its own line, plus credit note and reissue for a corrected invoice.
FiscalNet
Cash registerThe fiscal receipt for an order paid at the counter is printed from the ERP: the order joins a queue, an agent on the workshop computer hands it to FiscalNet, and the receipt number comes back to the order.
BaseLinker
Catalog and ordersThe BaseLinker product feed fills the shop with brands, images and variants, stock and prices update every 15 minutes, and shop orders go back to BaseLinker together with their shipping label.
Meta
Pixel and Conversions APIViewContent, AddToCart, InitiateCheckout, Purchase and Lead events are sent from both the browser and the server, only after cookie consent.
Stripe
Online paymentsCard payment on the site, with a webhook that confirms the order and reports the purchase to Meta.
SMSO
SMS notificationsAutomatic messages along the order, with templates editable in the ERP and a history of the messages sent to each customer.
From the order page the workshop messages the customer on WhatsApp in one click, and a floating button on the site opens the chat.
ateliertransylvania.com
The website covers the whole customer journey, from choosing a service to tracking the parcel: a service catalog with prices and real examples, online ordering in 4 steps, a packing guide with video, a care products shop and tracking for every order.
Online ordering in 4 steps
The customer picks the item, marks the areas that need work on a drawing, uploads photos (compressed in the browser) and sends the order. The draft saves automatically and shipping is calculated from the order value, free above the threshold the workshop sets.
Service catalog
67 active services in 4 categories, with instant filtering and dedicated pages showing price, estimated turnaround and real examples from the workshop.
Before/after portfolio
121 before/after comparisons with real results. Drag-handle slider, fullscreen gallery and automatic image optimization: HEIC to JPEG, EXIF rotation fix and WebP conversion.

A separate ordering flow for ONOCAN bags
ONOCAN bags follow their own path in the online order: instead of marking repair areas, the customer chooses the bag size, and the services and prices shown depend on that choice.
- Size selector: small or medium / large
- ONOCAN categories with their own descriptions and prices
- Kept apart from the general bag flow, with a logo and header adapted for mobile


Care products from the BaseLinker feed
The shop is not managed separately: products come from the workshop's BaseLinker catalog, through the ERP, with brand, images and description. A model with several sizes or colours shows as a single product, with a variant selector and colour swatches.
- New products imported automatically, with the brand detected from the name
- Stock and prices updated every 15 minutes
- Filters by category, brand and price, search and sorting
- Shop orders sent to BaseLinker with the Woot shipping label attached

erp.ateliertransylvania.com
The ERP is where the workshop works every day. Counter orders and website orders land in the same list, move through production and go out to the customer with a shipping label, an invoice and, when needed, a fiscal receipt, without anyone typing the data twice.
Intake and orders
An order starts from the customer's phone number, with pairs, services, photos and payment (cash, card or mixed). Each pair gets its own label on the Brother printer.
Production on a Kanban board
The workshop page shows orders in columns, from intake to handover, so everyone sees what comes next.
Shipping labels from the order
Pickup and return through Woot, addresses editable inside the order, redoing a label with the old one cancelled, and a downloadable label.
Invoices and e-Factura
The Oblio invoice is issued from the order and reaches SPV, with credit note and reissue when it needs a correction.
Multiple locations
Each location has its own orders, while the administrator sees everything in one place, with sales and customer reports.
Roles and permissions
Access per resource and per action (view, create, edit, delete) for every role in the team.



More in the ERP
Revenue reports
By day, location and payment method, built from the Oblio invoices.
Loyal customers
Customers with more than 10 orders and their preferred services, right on the dashboard.
Birthday discount
A discount applied automatically around the customer's birthday, with the rate set in the ERP.
Discount coupons
Discount codes created and managed from the ERP.
Customer feedback
Ratings customers leave after their order, gathered on a single page.
Optimized photos
Order photos are compressed on the server: the archive went from 3.7 GB to about 200 MB.
See the project live
The project is live: open it and see how it works.






