Custom ERP for DesignPack, Built on an n8n Backend

n8n · erp · automation · estonia · ai

The problem

DesignPack is an Estonian B2B custom-packaging company. One inquiry used to touch four places: the email inbox, a pricing spreadsheet, supplier quote PDFs, and Directo.

The sequence per inquiry: read the inbound email, open a spreadsheet to price it, email suppliers, copy line items out of their PDF replies back into the sheet, write the offer, then enter the order in Directo, then the invoice. The same numbers were typed three or four times, in three or four different tools, and each hop was manual.

What was built

An internal ERP covering inquiry, supplier quoting, offer, order, production and invoicing, with n8n running the automation underneath it.

  • Inbound email is classified and turned into an inquiry record instead of being read and re-typed.
  • Supplier quotes are parsed out of email bodies and PDF attachments into structured line items, each with a confidence score. Anything below the threshold goes to a review queue instead of being written silently.
  • Invoicing runs through Merit Aktiva, and Wise transactions are matched against open invoices, so issuing an invoice and marking it paid are system events rather than two more typing jobs.

How the n8n layer is maintained

Workflows are not edited on the live instance.

  • Each workflow exists as a matched production and staging pair.
  • Both are exported to the git repository as JSON, so a change shows up as a diff in review.
  • Promotion between environments runs through scripts.
  • A schema-parity check compares the two databases and reports drift before it hits production.

Stack

  • Orchestration: n8n (self-hosted, prod/staging parity under version control)
  • Application: Next.js, Supabase (Postgres)
  • AI: Anthropic Claude, for email classification and quote extraction with confidence scoring
  • Integrations: Merit Aktiva (accounting), Wise (bank reconciliation), freight and logistics
  • Deployment: Docker on Railway

Credentials

Our Apollo.io node is published on npm as n8n-nodes-apollo (MIT, maintainer arturl95, 14 resources, source public). We hold n8n Verified Creator status.


Want something like this built?

Tell us what the workflow needs to do and we will tell you whether it is a fit, what it would take, and what it would cost.

Start a conversation