Put your store on the customer's home screen with a custom ecommerce app
Orders come in but the last unit is not in the warehouse; the customer returns from the 3D Secure screen to an empty cart; shipment tracking gets buried in an email. A mobile app pulls those three breaking points into one flow: real stock, payment completed inside the app, and order status delivered as a notification on the customer's own screen. The goal is not another storefront, but an order that runs end to end without breaking.
How many separate apps does this need?
-
01
Customer shopping app (iOS + Android)
Catalogue, search and filters, variant selection, cart, in-app 3D Secure payment, order tracking, return requests and campaign notifications all in a single flow.
-
02
Admin panel (web)
Product and variant management, stock thresholds, pricing and campaign rules, order status, return approvals, shipping labels and push campaign scheduling all run from the panel.
-
03
Warehouse and order picking app (Android)
Barcode-scanned picking, package verification, missing item reporting and courier handover lists, used to catch an incorrect shipment before the box is sealed.
What the app includes
- Back-in-stock alerts for sold-out variants
- Image and stock switch on size-colour selection
- Brand-specific size chart with measurement comparison
- One-tap reorder using saved card and address
- Partial return or exchange per order line
- Separate tax office and tax number fields for company invoices
- Map-pinned delivery address with directions note
- Price-drop alert on favourited products
- Cash-on-delivery service fee shown as its own cart line
- Verified-buyer reviews with customer photo upload
- In-store barcode scan to check size availability
- App-only coupons and QR codes redeemable in store
State of the sector
In retail you no longer compete only with other stores, but with the marketplace apps already sitting on your customer's phone. Selling on a marketplace brings visibility, but it also means commissions, price pressure and, most importantly, that the customer data is not yours: you cannot tell who bought what or when they will buy again. A regional brand without its own app pays for advertising every time it wants to reach a loyal customer. An app is the one channel that moves repeat purchases from paid ads to notifications, which is why it pays back faster for businesses selling regularly consumed products.
Metrics that matter here
- Cart-to-checkout completion rate — In-app payment with saved cards and addresses directly reduces form effort at checkout and the abandonment that comes with it.
- Repeat purchase rate (90 days) — Notification permission, order history and one-tap reordering determine how often a second purchase happens.
- Return and cancellation rate — Accurate variant images, size charts and real stock data reduce returns caused by wrong items and out-of-stock cancellations.
- Share of users granting notification permission — If the permission rate is low, campaign and back-in-stock notifications reach no one; the whole return on the app depends on this number.
Common mistakes in this sector
- Wrapping the website in a webview and calling it an app An app that just frames the mobile site opens slowly, does not work offline and can be rejected in store review. Catalogue, cart and checkout should be built as native screens; only mandatory steps such as 3D Secure should open in a secure browser component.
- Forcing registration at checkout Requiring an account for a first order kills carts. Guest checkout should be possible, with account creation offered via phone verification after payment is complete. That way you capture both the order and the sign-up.
- Updating stock with an overnight batch sync An item sold during the day stays buyable in the app for hours, and the cancelled order costs you the customer. Stock changes should be pushed in real time, and at minimum verified once more server-side at payment confirmation.
- Sending campaign notifications without consent Commercial notifications require a consent record in İYS, and opt-outs must be written back to the system. Sending without consent risks both regulatory penalties and mass notification opt-outs; order status notifications should be kept separate.
Regulation and compliance
In ecommerce, obligations start before the payment screen. You need ETBİS registration with the Turkish Ministry of Trade, a distance selling agreement and a preliminary information form presented for approval before the order, a clearly stated 14-day right of withdrawal, and a working returns process; these become actual screens in the app's checkout flow. Sending commercial notifications and SMS requires a consent record in İYS (Turkey's commercial message consent registry) and opt-out requests must be written back to it. Customer addresses, order history and contact details are personal data under KVKK (Turkey's data protection law, aligned with GDPR): a privacy notice, retention periods and account deletion requests must be handled in the app. After the sale, e-Arşiv invoices (part of Turkey's mandatory e-invoicing system) are issued in line with GİB (Turkish Revenue Administration) rules.
The real challenges in this sector
-
Selling the same stock across three channels
A product sells in the app, on the website and on marketplaces at once. With one-way sync the last unit gets sold twice and an order has to be cancelled. The fix: stock lives in a single source of truth, a reservation is opened at payment confirmation rather than at add-to-cart, and it is released automatically when it expires. Instead of a vague “only 2 left”, the product page shows the real, server-verified quantity.
-
Carts breaking at the 3D Secure step
If the bank verification screen throws the customer out of the app, they come back to an empty cart. Payment opens in an in-app secure browser component, and the order is created with a “pending” record before the card is charged. If the bank callback never arrives, the server completes the status with a query. That removes the case where a customer is charged but sees no order.
-
Variants, campaigns and coupons colliding
When a size-colour combination, a second-item discount, a free-shipping threshold and a coupon all land in the same cart, totals calculated on the device will not match the panel. Pricing and discount logic runs on the server only; the app recalculates the cart on every change and shows a line-by-line breakdown. Discount rules are defined in the panel with date ranges, so no app release is needed.
-
Returns and cancellations drifting outside the app
If returns are handled over WhatsApp, the shipping code, the approval and the refund record all end up scattered. In the app a return request is opened from the order line, a reason is selected, a contracted-courier return code is generated, and courier movements are written to the order record. Once approved in the panel, the refund amount is sent to the payment provider as a refund request and the customer follows the status on their own screen.
-
Long catalogues stalling in the list view
In a list of thousands of products, loading full-resolution images directly makes scrolling stutter and the page never opens on mobile data. Images are served in separate sizes for list, detail and zoom, pagination is cursor-based, and filter results are prepared on the server. Search is set up with synonyms and typo tolerance, so “tshirt” and “t-shirt” reach the same results.
Required integrations
- 3D Secure payments and refund calls via iyzico, PayTR or Craftgate (Turkish payment providers) or a bank virtual POS
- Courier integration with Yurtiçi, Aras, MNG, Sürat and PTT (Turkish courier companies) for shipment creation, barcodes and tracking status
- Automatic invoicing after each order through an e-Arşiv provider compliant with GİB (Turkish Revenue Administration)
- İYS (Turkey's commercial message consent registry) for storing marketing permissions and syncing opt-outs
- Connection to your existing platform or ERP: Ticimax, İdeaSoft, WooCommerce, Shopify, or Logo/Mikro/Netsis stock and pricing services
- A single stock pool connected to marketplace product and order flows (Trendyol, Hepsiburada, n11)
Who this page is for
-
Regional boutique or small chain already selling from its own site
Products and stock already sit in a storefront platform, so the need is not a second admin but an app that reads the existing service. Phase 1 catalogue, checkout and tracking is enough; click-and-collect and exchanges can wait.
-
New brand selling regularly consumed goods (coffee, cosmetics, food)
Repeat purchase matters more than catalogue depth. One-tap reorder with a saved card, replenishment reminders and back-in-stock alerts come first; with few variants, the first release can stay narrow.
-
Seller grown on marketplaces, now building an own channel
Order volume and return rates are already high, so a single stock pool and a proper return flow are needed from the start. Part of Phase 2 moves forward, while the campaign engine and multi-language wait.
A phased plan that splits the budget
-
1
Phase 1 — A store app that already sells 8-11 hafta
Catalogue, search and filters, variant selection, cart, in-app 3D Secure payment, one shipping carrier with tracking, order-status notifications and automatic e-Arşiv invoicing (Turkey's electronic invoice for consumers). This scope ships on its own: customers can order from day one, because the order path is closed end to end even before returns or campaign rules exist.
-
2
Phase 2 — Returns, campaigns and repeat purchase 5-7 hafta
Return and exchange requests per order line, prepaid carrier return codes, coupons and free-shipping thresholds defined in the admin panel, campaign push under İYS consent (Turkey's commercial message consent registry), back-in-stock alerts, favourites and reorder. It follows Phase 1 because real orders and real return reasons decide how the rule engine should be shaped.
-
3
Phase 3 — Warehouse, multichannel and scale 6-9 hafta
Barcode picking app for the warehouse, second and third carriers, a single stock pool covering marketplace orders, ERP price and stock feed, multi-language and multi-currency. It comes last because below a certain order volume a picking app and multi-carrier routing add overhead rather than value.
Typical scope and timeline
A typical first release covers: iOS and Android customer apps, a web admin panel, product-stock-order connections to your existing platform or ERP, virtual POS with 3D Secure payments, one courier integration, e-Arşiv invoice triggering, a return request flow, notification infrastructure and İYS consent records. The warehouse picking app, the marketplace stock pool and multi-language support are added in a second phase.
Estimated timeline: 12-18 weeks
Off-the-shelf or custom build?
| Topic | Off-the-shelf | Custom build |
|---|---|---|
| Time to launch and initial cost | A packaged store-app add-on can go live in days with standard catalogue and checkout; for a low-volume shop that is a reasonable start. | Custom development is measured in weeks and needs investment up front; split into phases, Phase 1 sells while the rest is funded from revenue. |
| Connecting to existing ERP and store platform | An app from the same vendor as your storefront reads products and stock cleanly, but ERP links (Logo, Mikro, Netsis and similar Turkish systems) are limited to a supported list. | The integration layer is written against the fields your own ERP exposes, so price lists, campaign rules and customer-specific discounts can reach the app. |
| Sector-specific workflow | Standard cart, checkout and return flows are enough for most retail catalogues; there is no need to reinvent them. | Made-to-measure orders, pre-orders, instalment B2B sales, click-and-collect or size exchanges strain a packaged product; in custom work they become their own screens. |
| Data ownership and portability | The monthly subscription also covers maintenance and store updates, but customer, order and push-consent data live in the provider's system and are hard to take with you. | Database and source code stay with you and payment or carrier providers can be swapped; in exchange, maintenance, store-policy compliance and hosting are your responsibility. |
Sector glossary
- Cart abandonment rate
- The share of shoppers who fill a cart but never pay. Most checkout design arguments in e-commerce are settled by this number; late-revealed shipping cost and forced sign-up are the two usual culprits.
- Stock reservation
- Locking an item for a limited window while payment is being confirmed. When the window expires the unit is released; without it the same last piece is sold twice and one order gets cancelled.
- Chargeback
- A card payment reversed after the buyer disputes it with their bank. The delivery record, order history and invoice form the evidence file, which is why an auditable order trail matters.
- Variant and SKU
- The size, colour or weight breakdown of one product, each with its own stock-keeping code. Stock, price and barcode live at SKU level, so what looks like one product in the panel is really a set of SKUs.
- Fulfillment
- Everything between a paid order and a parcel handed to the carrier: picking, packing, invoicing, dispatch. The “preparing” status in the app stands for this stage, and most support questions come from it running long.
Frequently asked questions
Let us talk about your project
A free 30-minute call to scope it out, then an itemised quote within 48 hours.
Get a Free QuoteThis page explains the problems an app must solve in this sector. We share references and comparable projects during the call.