Custom ERP and integrations

You have an ERP. Why is part of the business still run in spreadsheets?

Orders are in one program, stock in another. Production is tracked separately, and reports need input from several people. We develop custom ERP systems and integrations that match the way your company works.

The problem

Where the program ends, the manual work begins.

An off-the-shelf system covers the core operations. What is specific to your business stays outside it: an unusual order, a production stage, different terms for a customer or a report that is missing.

The team finds a way. It adds a spreadsheet, sends a message, enters the information again. As the workload grows, it gets harder to tell what is current and what is coming.

Do you recognise any of these situations?

Stock in the store and in the warehouse does not match.

One order is entered into several programs.

Production is planned outside the ERP system.

For an up-to-date report you have to collect information from the departments.

An important part of the work depends on a spreadsheet maintained by one person.

An ERP that fits your work. Connections between your systems.

First we look at the processes and tools you use. We establish what works well, what is missing and where the exchange of information breaks. Then we define the right solution: an integration with the current system, additional functionality or a custom ERP.

Custom ERP

Orders, production, materials, stock, deliveries and invoicing in a system built around your processes. We develop the modules and rules the specific project needs.

Integrations with an existing ERP

We connect the ERP with an online store, CRM, warehouse software, carriers and other tools. We define which data is passed on, when it is updated and which system is its source.

Management reports

We prepare the views you need for orders, stock, production and other key figures. We agree where the data comes from and how it is calculated.

Checks and traceability

We define access rights, checks on entry and the handling of discrepancies. Important actions can be traced within the agreed scope.

Flows

What we sync

For each flow, we define the direction, the frequency and which system is the single source of truth for the data. The table shows the most common setup. The exact one is agreed after the audit.

Stock levels

Warehouse or ERP Store
When
On every change or at a short interval
Source
Warehouse

Prices and promotions

ERP Store
When
On change or on a schedule
Source
ERP

Products and attributes

ERP Store
When
On creation and change
Source
ERP

Orders

Store ERP and warehouse
When
On creation, via webhook
Source
Store

Customers

Store CRM
When
On sign-up and change
Source
By an agreed rule

Invoices

Accounting Customer and store
When
On issue
Source
Accounting

Delivery statuses

Courier or warehouse Store
When
On status change
Source
Courier

Cash on delivery

Courier Accounting
When
When the amount is received
Source
Courier

“Real time” means the other system sends an event at the moment of the change. When it only supports periodic exports, the exchange runs on a schedule, and we say so upfront.

Systems

Which systems, and how

We connect ERP systems (including custom-built software), CRM, warehouse and fulfillment systems, online stores, accounting software, couriers and payment providers. We work through each system's documented interfaces. The choice depends on what the other side supports, not on our preferences.

01ERP

  • ERP systems
  • Custom software

02Sales

  • Shopify
  • CRM

03Logistics

  • Warehouse and fulfillment
  • Couriers

04Finance

  • Accounting software
  • Payment providers

REST and GraphQL API

the main method when the system offers it.

Webhooks

a notification at the moment of the event: a new order, a changed status, a returned product.

File exchange

CSV or XML over SFTP on a schedule, when the system has no API.

Middleware service

a separate layer that translates the fields and holds the queue and the log. That way one system can be replaced without rewriting the connection to the other.

The Bulgarian specifics. Cash on delivery changes the flow. The order is completed on delivery, and the money arrives from the courier later, so the integration carries these events too, not just order creation. Shopify does not issue Bulgarian invoices by default. This is handled through the accounting software or the shipping app. Since the euro was adopted, prices and documents are in EUR. If the ERP system keeps historical records in leva (BGN), the data map defines which field is read in which currency.

Reliability

An integration you can monitor

The project defines duplicate prevention, outage handling, retries, logs and error alerts. It also defines who resolves conflicting records.

Idempotency

Every operation carries a unique key. A notification received twice does not create a second order or a second invoice.

Queue and retries

If the ERP system does not respond, the operation waits in a queue and is resent once the connection is restored. No data is lost during an outage.

A log of every operation

What was sent, when, from which system and with what response.

Error alerts

The person responsible learns about the problem from an alert, not from a customer.

Manual confirmation on conflict

When the two systems disagree and the rule gives no clear answer, a person decides.

Periodic reconciliation

Stock levels and orders are compared across systems on a schedule to catch any missed event.

An integration does not fix bad data at the source. If the stock level in the warehouse is wrong, the store will show it just as wrong. That is why the data audit is the first step.

Process

Understand the processes first. Then build the system.

01

We look at the real work

Who takes the order, who processes it and what information is needed at each step?

02

We define the scope

We describe the functions, integrations, limits and how the finished work will be verified.

03

We develop in stages

We show working parts and settle the details with the people who will use them.

04

We prepare the rollout

We test real cases and agree data transfer, training and support.

An example from our work · Demonstration project

ERP for manufacturing and distribution

A demonstration project with modules for production, stock, orders and financial operations. It shows how related activities can be organised in one system.

Explore the project →

Security

Security and access

Least privilege

Every access has the minimum permissions needed for the specific flow. A connection that reads orders cannot change prices.

The keys are in your name

Tokens and keys are issued to your accounts and stored encrypted, outside the code.

Encrypted connection

Data travels only over an encrypted connection.

Only the personal data needed

Only the personal data needed to fulfill the order is transferred, in line with GDPR.

Your data stays with you

The data stays in your systems. The log keeps records of the operations and is cleared after an agreed period.

Questions

Questions before we start

Do we have to replace our current ERP?

Not necessarily. First we check whether the need can be met with an integration or additional functionality.

Can you connect our system?

That depends on the available APIs, documentation, licences and access. We review them before defining the scope.

What does development cost?

The price depends on the processes, modules, integrations and the data work required. We propose a specific scope and budget once the task is clear.

Is this only for Shopify?

No. The project depends on your company's systems and available interfaces. Shopify is one platform we work with.

How long does an ERP integration take?

It depends on the number of systems and flows, on whether the other system has an API, and on the state of the data. A one-way stock connection is a different project from a two-way connection for orders, invoices and customers. After the audit, you get a written plan with the scope and timeline for each flow.

What if our ERP system has no API?

Many systems can export and import files on a schedule, for example CSV or XML over SFTP. Another option is read-only access to the database, or a middleware service that translates the data. If the system only allows manual export, we say so upfront, because that kind of connection cannot be reliably automated.

Can updates happen in real time?

When the systems support suitable events and interfaces. Otherwise, we agree a schedule.

What happens if the ERP system or the store goes down?

Operations that did not go through stay in a queue and are resent once the connection is restored. Every operation has a unique key, so resending does not create a duplicate order or invoice. The person responsible gets an alert, and the periodic reconciliation catches any events that were missed.

Who owns the integration and the code?

We recommend that the apps and access keys be registered to your accounts, not ours. That way, access to your data does not depend on us. Rights to the code and documentation, and how they are handed over, are agreed in writing before the start.

Does the integration work with cash on delivery and couriers?

Yes. We work with stores where a cash-on-delivery provider shows live courier rates in its own window, and we have connected Shopify to a fulfillment warehouse that pulls orders automatically. The scope also covers the events after the order: waybill, delivery status and the amount received from the courier.

Do we need Shopify Plus for an ERP integration?

Not necessarily. The Admin API and webhooks are available on all Shopify plans. Plus offers higher API rate limits, built-in B2B functionality and more options for checkout customization. Whether you need them depends on your operational volume and on whether the integration has to change the checkout.

Where does your current system fall short?

Tell us what you use, what you do outside the program and which data you transfer by hand. We will discuss whether you need an integration, an additional function or a custom ERP.