What does a Magento 2 implementation look like? The process from choosing an agency to maintenance

A Magento 2 implementation starts well before the platform is installed on a server. First you have to settle what is actually being built: who will buy, what the catalogue looks like, where prices and stock levels live, which systems the store has to exchange data with and which processes the company wants to move into e‑commerce.

Author: Aurora CreationPublished: 27 min read
A Magento project's life cycle
  1. 01PreparationNeeds, choosing an agency and pre-implementation analysis.
  2. 02BuildArchitecture, frontend, development, integrations and migration.
  3. 03LaunchTesting, business acceptance, go-live and stabilisation.
  4. 04Maintenance and developmentTechnical care, an SLA and further changes.

Only then come architecture, frontend, Magento configuration, development, integrations, data migration and testing. After launch there is one more stage that first conversations about a project often skip: maintaining the running store.

In practice the process most often looks like this:

  1. defining needs and choosing a Magento agency,
  2. pre-implementation analysis,
  3. agreeing scope and architecture,
  4. UX/UI and frontend,
  5. Magento configuration and development,
  6. integrations,
  7. data migration,
  8. testing,
  9. business acceptance,
  10. preparing the launch,
  11. launch and stabilisation,
  12. maintenance and further development.

Not every project goes through these points in exactly this order. Some work can run in parallel. With extensive B2B, several markets or many integrations, some stages will also be far bigger than in a simple D2C store.

If you are still assessing the platform itself, it is worth reading first what Magento 2 is and what it is for.

What does “Magento 2 implementation” actually mean?

Once Magento is installed, you have an e‑commerce platform, not a finished sales system for a particular company.

Magento provides the foundation for the product catalogue, customers, prices, promotions, the cart, orders and CMS content. But you still have to decide how those mechanisms should work in a given business.

Take a manufacturer that sells retail and serves distributors at the same time. The retail price may differ from the B2B partner's price. Product availability may come from the ERP or WMS. Descriptions may come from the PIM. Once an order is placed, its data has to reach the ERP, and Magento should later receive the fulfilment status.

The store is then one of several systems:

Systems a Magento store works with, and what each is responsible for
SystemWhat it may be responsible for
Magento 2online sales, cart, checkout, customer accounts
ERPprices, orders, documents, operational data
PIMdescriptions, attributes, media, translations
WMSwarehouse and shipping fulfilment
CRMcustomer relationships and the sales team's work
payment systemspayment processing
logistics systemscarriers, labels, pickup points

Magento 2

What it may be responsible for

online sales, cart, checkout, customer accounts

ERP

What it may be responsible for

prices, orders, documents, operational data

PIM

What it may be responsible for

descriptions, attributes, media, translations

WMS

What it may be responsible for

warehouse and shipping fulfilment

CRM

What it may be responsible for

customer relationships and the sales team's work

payment systems

What it may be responsible for

payment processing

logistics systems

What it may be responsible for

carriers, labels, pickup points

That is exactly why the scope of an implementation should not be drawn up merely as a list of screens and features.

For manufacturers there are also D2C sales, B2B, distributors, product catalogues and internal systems to consider. We cover them in more depth in Magento 2 for manufacturers.

Before you choose a Magento agency, get your own starting point in order

First conversations with vendors are far more concrete if the company can answer at least the basic questions:

  • who will buy in the store,
  • whether sales will cover B2C, B2B, D2C or several models at once,
  • how many markets the platform has to serve,
  • which systems the company already uses,
  • where products, prices and stock levels live,
  • what has to be carried over from the old store,
  • which processes are unusual,
  • which features are needed at the first launch.

This is not about writing your own technical specification before meeting an agency. That is what the analysis is for. The company should, however, know what problem it wants to solve.

“We want Magento” tells a vendor far less than:

“We sell D2C in Poland, within a year we want to enter Germany, we have 40,000 SKUs, the ERP is the source of prices and stock, we keep product data in a PIM and we want to launch a separate path for distributors.”

The second description is enough to start talking about architecture.

How do you choose a Magento agency?

With Magento, being able to build online stores is not enough. The more tightly the system is integrated with the company, the more experience with the platform itself, with integrations, migrations and later maintenance matters.

When comparing agencies, we would check a few things above all.

Has it delivered similar projects?

Similar does not have to mean the same industry.

If the hardest part of the planned implementation is the ERP integration and B2B sales, experience with those processes is worth more than ten simple stores with a similar design.

How does it describe the scope?

“ERP integration” is far too little.

A good proposal should let you establish whether it covers:

  • products,
  • prices,
  • stock,
  • customers,
  • orders,
  • statuses,
  • documents,
  • how errors are handled.

The same goes for migration, the frontend, B2B and every larger feature.

Who tests the solution?

The project should make it clear where QA happens, who is responsible for technical testing and when the client's team joins the process.

What happens after launch?

This question is worth asking before the implementation begins, not a week before go-live.

If checkout stops working on a Sunday morning, the company should already know who gets the alert, who is responsible for Magento, who for the infrastructure, and during which hours the team is available.

So the range of services a Magento 2 agency can cover is best judged more broadly than through development alone.

Pre-implementation analysis: where the real project scope is set

In a simple store some decisions can be made quickly. In a larger project, trying to start development without prior analysis usually means the most important questions come back later, when changes are already more expensive.

Among other things, the analysis has to answer:

  • who uses the platform,
  • how sales work,
  • which processes stay outside Magento,
  • where the data sources are,
  • which integrations are needed,
  • what is to be migrated,
  • what must be in the first version,
  • what can wait for a later stage.

In more complex projects, a separate e‑commerce pre-implementation analysis lets these decisions be closed before the main work begins.

A feature list on its own says little

Suppose the requirements include:

Magento integration with the ERP.

Technically, we still know almost nothing.

Does the ERP send prices to Magento? How often? All prices, or only the changed ones? Where is stock held? What happens after an order is placed? Does the ERP send a status back? What does Magento do if the ERP doesn't respond for half an hour?

Only the answers to questions like these turn the label “ERP integration” into a scope that can be designed and priced.

You also have to settle which system owns which data

This is one of the topics that is very easy to overlook.

The company has an ERP, a PIM and Magento. Each of these systems stores information about products. That does not mean each of them should be free to change everything.

An example split might look like this:

An example split of data between source systems and the direction it flows
DataSource systemDirection
product namePIMPIM → Magento
descriptionPIMPIM → Magento
priceERPERP → Magento
stockERP / WMSERP / WMS → Magento
orderMagentoMagento → ERP
fulfilment statusERPERP → Magento

product name

Source system

PIM

Direction

PIM → Magento

description

Source system

PIM

Direction

PIM → Magento

price

Source system

ERP

Direction

ERP → Magento

stock

Source system

ERP / WMS

Direction

ERP / WMS → Magento

order

Source system

Magento

Direction

Magento → ERP

fulfilment status

Source system

ERP

Direction

ERP → Magento

Without settling who owns the data, sooner or later someone will ask why the ERP shows one value, the PIM another, and the customer in the store sees a third.

This should be closed before integration work begins.

Magento architecture: decisions that are hard to undo later

Once processes and data sources are described, the architecture can be designed.

This is where you settle, among other things:

  • the Website, Store and Store View structure,
  • markets and languages,
  • catalogues,
  • currencies,
  • price sources,
  • how stock is synchronised,
  • integrations,
  • the frontend,
  • search,
  • environments,
  • infrastructure.

One Magento can serve several sales models

A manufacturer, for example, can have a retail store and an area for trade partners within one architecture.

Products can be shared, but a B2B customer will see different prices, different terms and a different purchasing process.

Such projects do, however, need an answer to what really should be shared. The fact that Magento can combine both models does not yet mean every process should be combined.

We describe an example architecture for this kind of solution under B2C and B2B implementations on Magento 2.

Magento Open Source or Adobe Commerce?

This is also a design decision.

Magento Open Source carries no licence fee for the software itself. Adobe Commerce is a commercial product that extends the platform with additional capabilities.

The choice should not come down to the rule “bigger company = Adobe Commerce”. First you need to check the specific requirements and work out the full cost of the solution.

In some projects Magento Open Source with the right extensions and dedicated development will be enough. In others, the requirements justify Adobe Commerce.

UX/UI and frontend: only here does the client start to see the store

The visual layer matters a great deal, but in a Magento implementation it only comes after many decisions about how the store is meant to work.

The design usually covers, among other things:

  • navigation,
  • search,
  • categories,
  • filters,
  • the product page,
  • the cart,
  • checkout,
  • the customer account,
  • CMS content,
  • mobile views.

The frontend can be built in different ways. In new projects one of the available options is Hyvä, an alternative frontend layer for Magento 2.

Not every project needs every page drawn from a blank sheet. If the purchasing process is standard, using a ready component system can shorten the project and leave more of the budget for what is specific to the company.

That is how AURORA ONE, a Magento 2 implementation with a Hyvä frontend in a defined scope, works, among others.

For a project with a non-standard purchase path, an extensive configurator or particular UX requirements, the scope will look different.

Environments, the repository and how changes are deployed

Magento code should not be developed directly on the live store.

The project needs a process that lets you create a change, check it before production, and only then release it to customers.

In practice there are development, test or staging environments and production. The exact setup depends on the project.

The code should be versioned in a repository. That way you know which version is on a given environment, who made a change and exactly what went to production.

Adobe's documentation also describes the path from development through Staging to Production (opens in a new tab) and recommends testing a deployment fully before production.

Magento configuration, ready-made modules or custom development?

Not every need has to be programmed.

For each requirement, it is worth checking four options first:

  1. Magento supports it out of the box,
  2. configuration is enough,
  3. a sensible extension exists,
  4. custom development is needed.

Both extremes are expensive.

Writing a feature from scratch that already exists in Magento rarely makes sense. Installing yet another module for every minor requirement can also create a problem.

Every additional extension becomes part of the system, which later has to be updated, tested and checked whenever the Magento version changes.

Integrations: where the “happy path” stops being enough

An integration does not only work when data has passed correctly from system A to system B.

You have to know what happens when something unexpected occurs along the way.

Imagine this case:

  1. Magento sends an order to the ERP.
  2. The ERP saves the order.
  3. The ERP's response is lost on the way.
  4. Magento does not know the operation succeeded.
  5. It tries to send the order again.

If the integration cannot recognise that this message has already been handled, a duplicate may appear in the ERP.

So before an integration can be called resilient, you need to check, among other things:

  • retries,
  • idempotency,
  • monitoring,
  • timeouts,
  • invalid data,
  • partial processing,
  • how an operation is retried.

Likewise, you have to decide which operations run synchronously and which can go through a queue. A slow ERP should not automatically mean the customer waits a dozen seconds for every page of the store.

Details like these often have more influence on a project's stability than the number of integrations itself.

Migrating to Magento 2: not everything from the old store needs to move

If Magento replaces an existing platform, migration becomes part of the project.

What may need to move:

  • products,
  • variants,
  • attributes,
  • categories,
  • customers,
  • addresses,
  • order history,
  • CMS content,
  • the blog,
  • SEO data,
  • URLs.

The first question, however, should be:

Which of this data is still needed?

An old system often holds years of changes, outdated records, duplicated categories, faulty attributes, or workarounds created only because the previous platform had certain limitations.

Migration is a good moment to tidy some of that up.

We describe the whole process of moving data, integrations and URLs in more detail on the page about migrating a store to Magento 2.

SEO has to be in the migration plan before launch

If an old product is visible in Google, its URL should not simply disappear on the day Magento goes live.

A migration project should cover, among other things:

  • existing URLs,
  • new URLs,
  • 301 redirects,
  • canonicals,
  • the sitemap,
  • robots.txt,
  • meta data,
  • indexing.

The trouble starts when SEO only comes up a few days before the domain is switched over.

Testing Magento before launch

At this stage, for the first time, you have to look at the store as a whole rather than as a set of finished tasks.

Opening the home page, a product and checkout is not enough.

You have to walk through real scenarios.

A guest customer places an order. A logged-in customer uses a discount code. A payment is declined. A product goes out of stock. The ERP briefly stops responding. A B2B customer has their own price list. An order has to ship in two parcels.

The areas to test include:

Areas to test in a Magento store before launch
AreaWhat to check
Catalogue and searchDo products, variants, prices, filters and availability behave correctly?
Customer accountDo registration, login, password reset and editing details work?
Cart and checkoutDoes every combination of delivery, payment, tax and promotion lead to a correct order?
IntegrationsDoes data reach external systems and come back to Magento?
EmailsDo transactional messages have the right content and go out at the right moment?
MigrationIs the data complete and correctly linked?
SEODo the old URLs lead where they should?
PerformanceDoes the platform behave correctly under the expected load?

Catalogue and search

What to check

Do products, variants, prices, filters and availability behave correctly?

Customer account

What to check

Do registration, login, password reset and editing details work?

Cart and checkout

What to check

Does every combination of delivery, payment, tax and promotion lead to a correct order?

Integrations

What to check

Does data reach external systems and come back to Magento?

Emails

What to check

Do transactional messages have the right content and go out at the right moment?

Migration

What to check

Is the data complete and correctly linked?

SEO

What to check

Do the old URLs lead where they should?

Performance

What to check

Does the platform behave correctly under the expected load?

Adobe has separate prelaunch checklists (opens in a new tab), covering production configuration, testing and launch preparation, among other things.

Agency QA does not replace the client's UAT

A tester can check whether a discount was applied according to the specification.

But they will not always know that, under the company's internal policy, a particular group of distributors must never be able to combine that discount with a seasonal promotion.

That is why UAT, User Acceptance Testing, is needed before launch.

The client's team then checks the system from the perspective of day-to-day work and real business processes.

It works best when the people doing it are the ones who will actually use the platform later: e‑commerce, sales, warehouse, customer service or marketing.

A Magento launch needs a script

With an existing store, going live is closer to a migration operation than to publishing a new website.

You have to agree the moment when:

  • changes in the old store are frozen,
  • the final data migration runs,
  • production integrations are switched on,
  • DNS is changed,
  • test orders are placed,
  • payments are checked,
  • monitoring starts.

You also need a plan for the situation in which one of the critical elements does not work.

Who decides whether the launch continues? When do we roll back? Who contacts the payment provider? Who checks the ERP?

Adobe's documentation treats the launch phase (opens in a new tab) as a separate stage covering production deployment, security configuration, service verification and performance monitoring.

Magento hosting is part of the picture too

The store has to run on infrastructure chosen for its characteristics.

What matters includes:

  • traffic,
  • catalogue size,
  • the number of store versions,
  • how heavy the imports are,
  • the search engine,
  • queues,
  • integrations,
  • availability requirements.

Not every store needs an elaborate cloud architecture. At the same time, hosting picked at random on price alone can become the bottleneck of the whole project.

We describe an example approach to VPS, dedicated servers and AWS on the Magento 2 hosting page.

Launch does not end the work on the platform

The first days in production reveal things a test environment cannot always reproduce.

Real customers arrive, with real traffic, the full catalogue, real orders and every external system running at once.

During this period, you watch especially closely:

  • application errors,
  • checkout,
  • payments,
  • integrations,
  • queues,
  • indexes,
  • performance,
  • server resources.

After launch, some problems will be ordinary bugs to fix. Some will turn out to be a new business need that was not visible before.

And this is where the implementation stage ends and the store's everyday life begins.

What should Magento 2 maintenance cover?

A running Magento needs technical care.

Depending on the agreed scope, maintenance may include:

  • monitoring,
  • responding to outages,
  • Magento updates,
  • security patches,
  • module updates,
  • error analysis,
  • checking integrations,
  • technical administration,
  • responding to legal changes that require changes to the store.

The term “Magento support” on its own says little.

The company should know what is monitored, when the team is available and what the procedure is in the event of a critical outage.

At Aurora Creation this area is set apart as AURORA CARE: Magento 2 maintenance, monitoring and an SLA.

SLA: what exactly are we agreeing?

An SLA describes how incidents are responded to.

Most often it sets out, among other things:

  • hours of availability,
  • incident classes,
  • response time,
  • escalation rules,
  • the reporting channel.

A D2C store that sells around the clock needs a different level of protection from a B2B portal that trade partners use mainly on working days.

So an SLA should follow from the business consequences of an outage, not from a wish to have the highest package possible.

Magento maintenance and development are two different kinds of work

The line is fairly simple.

If a checkout that has worked so far starts throwing an error, that is a maintenance problem.

If the company wants to add a new way of placing orders, a feature for its sales reps or a product configurator, that is development.

Development includes, for example:

  • a new integration,
  • another market,
  • rebuilding the product page,
  • a new B2B process,
  • automating operations,
  • extending the customer account.

At Aurora Creation, planned development of existing stores runs under AURORA EVOLUTION, while day-to-day maintenance remains a separate scope.

The split is practical on the client's side too. An order outage has a different priority from marketing's idea for a new product page section.

Who is responsible for what during an implementation?

An agency cannot decide on its own what trade terms a distributor should get. The client, in turn, should not be forced to design the integration architecture.

The split of responsibilities might look like this, for example:

An example split of responsibilities between agency and client in a Magento implementation
AreaAgencyClient
business requirementshelps put them in orderprovides the knowledge
Magento architectureprepares the solutionapproves
UX/UIdesignsgives feedback
developmentdeliversnot applicable
ERP integrationdelivers the Magento sideprovides access and the ERP vendor's cooperation
dataprepares the importsupplies and verifies the data
QAruns technical testingsupports
UATsupportsruns business acceptance
launchruns the technical workapproves go-live
maintenanceas per the contractsets priorities

business requirements

Agency

helps put them in order

Client

provides the knowledge

Magento architecture

Agency

prepares the solution

Client

approves

UX/UI

Agency

designs

Client

gives feedback

development

Agency

delivers

Client

not applicable

ERP integration

Agency

delivers the Magento side

Client

provides access and the ERP vendor's cooperation

data

Agency

prepares the import

Client

supplies and verifies the data

QA

Agency

runs technical testing

Client

supports

UAT

Agency

supports

Client

runs business acceptance

launch

Agency

runs the technical work

Client

approves go-live

maintenance

Agency

as per the contract

Client

sets priorities

Most problems tend to arise where responsibility was left “by default”.

How long does a Magento 2 implementation take?

There is no single timeline for a Magento implementation.

A project with a ready scope and few dependencies can go live relatively quickly. A B2B platform connected to an ERP, PIM and WMS, with a large catalogue migration and several markets, is a different undertaking altogether.

The timeline depends above all on:

  • custom features,
  • the number of integrations,
  • API readiness,
  • data quality,
  • the scope of migration,
  • the number of markets,
  • the UX/UI process,
  • testing,
  • the time the client needs for decisions.

That is why the question “how long does Magento take?” does not help much.

A far better one is:

How long will this particular scope take, and which dependencies does the deadline hinge on?

How much does a Magento 2 implementation cost?

The question of price works the same way.

The cost of a project may include:

  • analysis,
  • UX/UI design,
  • frontend,
  • configuration,
  • development,
  • modules,
  • integrations,
  • migration,
  • testing,
  • infrastructure,
  • maintenance.

Two proposals can differ by tens of percent and both still be reasonable, if they cover a different scope.

That is exactly why, when comparing proposals, you have to go one level below the total at the bottom of the document.

How do you compare Magento agencies' proposals?

Imagine two proposals.

The first contains a single line:

ERP integration: PLN 15,000.

In the second, the scope is broken down into products, prices, stock, orders, trade partners, statuses, the queue, retries and monitoring.

We do not yet have grounds to say which proposal is more expensive.

First you have to check whether both really cover the same thing.

For every larger element of the project, it should be possible to answer three questions:

  • What exactly will be done?
  • What is out of scope?
  • How will we know the task is finished?

That is a much better way to compare proposals than lining up hourly rates.

What should you do when a Magento implementation is under way but the project has stalled?

Changing agency mid-project does not automatically mean everything has to be written again from the start.

First you have to check what actually exists.

In a takeover we look at, among other things:

  • the code,
  • the repository,
  • the configuration,
  • the environments,
  • modules,
  • integrations,
  • infrastructure,
  • data,
  • documentation,
  • open tasks.

Only after a review like this can you decide which elements to keep, which to fix and whether anything has to be redone.

Aurora Creation runs such projects as a separate scope: completing a Magento 2 store someone else started.

Example: SklepBaterie.pl

SklepBaterie.pl is a good example.

Aurora Creation took over a Magento 2 project started by a previous vendor. The first task was not to add more features but to establish the actual state of the code, configuration, environments and unfinished work.

Only after that could the priorities leading to the store's launch be put in order.

The project also covered a large catalogue migration, an ERP integration, B2C and B2B sales, SEO and a Hyvä frontend. We describe the whole course of it in the SklepBaterie.pl implementation case study.

An example like this shows well why assessing an existing project should come before the decision: “we carry on” or “we start again”.

What does Magento's full life cycle look like after implementation?

A well-prepared project does not end with the client receiving a store and its login details.

The company should know:

  • where the code lives,
  • what the architecture looks like,
  • which systems are the source of data,
  • how changes are deployed,
  • where production runs,
  • who is responsible for the infrastructure,
  • who monitors the store,
  • who responds to outages,
  • how updates are carried out,
  • how development requests are raised.

That is why, at Aurora Creation, these needs are kept apart.

New projects can be delivered as AURORA ONE or as custom Magento implementations, among other options. A running store can move under AURORA CARE, and new development work goes to AURORA EVOLUTION.

Implementation, maintenance and development concern the same platform, but they solve different problems.

The most common mistakes in a Magento 2 implementation

A scope built from feature names

“B2B”, “ERP”, “multi-store” or “configurator” sound concrete only until the moment they have to be priced.

Each of them has to be described as a process.

Starting development before the data sources are settled

If nobody knows whether the price is managed by the ERP or by Magento, the integration developer will sooner or later have to stop work and ask that question.

Testing only the happy path

One order that made it from Magento to the ERP confirms only one case.

It says nothing about what happens with timeouts, retries or invalid data.

SEO migration left until the end

URLs are part of the data migration and the store's structure. Not an extra done the evening before launch.

No UAT

The technical team knows the system. The client's staff know the business rules. Both kinds of knowledge are needed.

Going live without agreed support

The first conversation about an emergency number should not happen after the first serious outage.

What does a well-run Magento 2 implementation look like?

Summary

After a good implementation, it is not just the frontend that works.

The whole process works: the product reaches the store, the customer sees the right price, can place an order, the payment is handled, the data reaches the right systems, and the team knows what to do when any element stops working.

The company is also in control of what has been built. It knows what each system is responsible for, has access to the code and environments, and knows who is responsible for ongoing care.

And that is the moment you can call the implementation finished.

Not the day Magento was installed.

FAQ: Magento 2 implementation

It most often starts with gathering requirements and analysing processes. Then come the architecture, UX/UI, Magento configuration, development and integrations. The next stages are data migration, testing, UAT, preparing production, launch and stabilising the store. After go-live, technical maintenance and a plan for further development are still needed.

It depends on the scope. Integrations, data migration, the number of markets, custom features, B2B and how quickly decisions and sign-offs are made have the biggest influence. A reliable deadline cannot be given without knowing the specific project.

The cost covers more than Magento configuration. The budget may include analysis, UX/UI, frontend, integrations, migration, modules, development, testing, hosting and later maintenance. That is why proposals should be compared at the level of scope, not just the final price.

It is best to check experience with projects that are technologically and procedurally similar, how the agency describes scope, its integration skills, QA, code management practices and its maintenance model after launch. For a more complex store, the whole team and delivery process matter, not just the number of Magento developers.

Yes. The new vendor should, however, first assess the existing code, configuration, environments, integrations and the state of delivery. Only then can you decide what is fit to be used further.

It is not necessary. It does make knowledge transfer easier, though, because the same team knows the architecture and the design decisions. If another company takes over maintenance, it needs documentation, the repository, access and an orderly handover process for the platform.

Yes, if the platform is to stay secure and stable. Magento, its modules, infrastructure and integrations change over time. Monitoring, updates, outage response and a clearly defined scope of responsibility are needed.

Maintenance concerns the stability of a running store: monitoring, errors, security and updates. Development means adding or rebuilding features, integrations and business processes.

Planning a Magento 2 implementation?

Before a quote is drawn up, it is worth settling the processes, data sources, integrations and scope of the store's first version, as well as who will look after it after launch.

Cookie settings

Each category can be switched on separately. We keep your choice in this browser and ask again after a year, or when what we use cookies for changes.

Necessary

Always on

These keep the site running: bot protection, content delivery and the contact chat. The site does not answer without them, so they cannot be switched off.

These remember your settings, a chosen language for instance. We use no such file today — the category exists so that we need not ask you again once one appears.

These show us which pages are read and where visitors stop — including as a recording of the visit, with form fields masked. Collected in aggregate, to improve the site.

These let us measure how our advertising performs and show it to people who have been here before.