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.
- 01PreparationNeeds, choosing an agency and pre-implementation analysis.
- 02BuildArchitecture, frontend, development, integrations and migration.
- 03LaunchTesting, business acceptance, go-live and stabilisation.
- 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:
- defining needs and choosing a Magento agency,
- pre-implementation analysis,
- agreeing scope and architecture,
- UX/UI and frontend,
- Magento configuration and development,
- integrations,
- data migration,
- testing,
- business acceptance,
- preparing the launch,
- launch and stabilisation,
- 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:
| System | What it may be responsible for |
|---|---|
| Magento 2 | online sales, cart, checkout, customer accounts |
| ERP | prices, orders, documents, operational data |
| PIM | descriptions, attributes, media, translations |
| WMS | warehouse and shipping fulfilment |
| CRM | customer relationships and the sales team's work |
| payment systems | payment processing |
| logistics systems | carriers, 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:
| Data | Source system | Direction |
|---|---|---|
| product name | PIM | PIM → Magento |
| description | PIM | PIM → Magento |
| price | ERP | ERP → Magento |
| stock | ERP / WMS | ERP / WMS → Magento |
| order | Magento | Magento → ERP |
| fulfilment status | ERP | ERP → 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:
- Magento supports it out of the box,
- configuration is enough,
- a sensible extension exists,
- 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:
- Magento sends an order to the ERP.
- The ERP saves the order.
- The ERP's response is lost on the way.
- Magento does not know the operation succeeded.
- 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:
| Area | What to check |
|---|---|
| Catalogue and search | Do products, variants, prices, filters and availability behave correctly? |
| Customer account | Do registration, login, password reset and editing details work? |
| Cart and checkout | Does every combination of delivery, payment, tax and promotion lead to a correct order? |
| Integrations | Does data reach external systems and come back to Magento? |
| Emails | Do transactional messages have the right content and go out at the right moment? |
| Migration | Is the data complete and correctly linked? |
| SEO | Do the old URLs lead where they should? |
| Performance | Does 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:
| Area | Agency | Client |
|---|---|---|
| business requirements | helps put them in order | provides the knowledge |
| Magento architecture | prepares the solution | approves |
| UX/UI | designs | gives feedback |
| development | delivers | not applicable |
| ERP integration | delivers the Magento side | provides access and the ERP vendor's cooperation |
| data | prepares the import | supplies and verifies the data |
| QA | runs technical testing | supports |
| UAT | supports | runs business acceptance |
| launch | runs the technical work | approves go-live |
| maintenance | as per the contract | sets 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.
Related pages
- Magento 2 – what it is and what it is for
- Magento 2 for manufacturers: how to use the platform for D2C, B2B and growing your own e‑commerce
- Magento 2 vs other open-source e‑commerce platforms: what really sets it apart?
- Magento 2 at Aurora Creation
- Pre-implementation analysis
- Migration to Magento 2
- Completing a Magento 2 store
- AURORA CARE: Magento 2 maintenance
- AURORA EVOLUTION: store development
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.
