Table of contents
Quick summary
- Up to 500 product and content pages
- From IDR 12,000,000 per year, hosting, SSL, and server included
- Stock is deducted when payment is created, not when the parcel ships
- The paid flag comes from the provider callback, not the thank you page
- Unlimited revisions for a year, domain bought separately in your name
What sits behind the buy button
Running your own online store is usually pictured as a catalogue with buy buttons. The real work is keeping five numbers in agreement: stock shown, price charged, shipping billed, amount paid, and quantity recorded. Compute one of them in the wrong place and the shop still looks fine, right up to the first broken order.
So the work on a shopping cart website starts with product data, not page design. A product needs a name, SKU, weight, dimensions, price, and stock, and every variant needs all six of its own. Clean data scales to 500 product and content pages without slowing down, while messy data keeps producing orders somebody repairs by hand.
Stock and variants, where it leaks most
The most expensive mistake is treating variants as a text choice. Size and colour go in one dropdown, stock stays one number for the whole product, and the shop sells a sold out size all week without anyone noticing. Every variant combination needs its own SKU, price, weight, and stock.
The second problem is harder to see: two buyers ordering the last unit seconds apart. If stock is deducted only when an admin marks the parcel shipped, both payments succeed and one has to be refunded. We deduct at payment creation, with a hold that releases itself when the payment expires.
- Order the last unit of one product from two browsers, and confirm the second is refused before payment
- Set one variant to zero and confirm the others are still buyable
- Let a payment expire and confirm the stock returns on its own
Paid status is decided by the server, not the browser
A buyer closing the tab after paying is normal behaviour. If the order is only marked paid by the thank you page, the money lands while the order hangs, and your team ends up matching bank entries by hand.
The paid flag has to come from a server to server callback, and that callback can arrive twice, arrive late, or arrive for an order already cancelled. So each one is processed once per order number, with its signature verified and its amount checked against the order total. Skip the amount check and an IDR 1,500,000 order can be settled by an IDR 15,000 payment.
The test for this gets skipped regularly: pay for one real low value order, then close the browser before the redirect. Five minutes later the order should read as paid, with stock deducted, the notification delivered, and the invoice issued.
Shipping that does not eat the margin
Flat shipping is the fastest way to lose money on delivery. Couriers bill on whichever is greater, actual weight or volumetric weight, which is length by width by height divided by the courier's divisor. A baby goods store selling pillows and small mattresses shows it best: light items, big boxes, and an invoice several times what the scale suggested.
Destinations resolve to district level, not city level, because rates and coverage differ between districts and an address outside coverage surfaces only when the parcel is rejected. The figure is computed on the server at checkout from each variant's weight and size, then shown before the buyer presses pay. Free shipping is fine as long as the threshold comes from margin per zone, not from a round number that sounds appealing.
Five hundred product pages, and what volume breaks
The package holds up to 500 product and content pages, and that volume creates problems a ten page site never meets. Colour filters, price sorting, and page numbers easily produce dozens of URLs for the same content, and Google splits the value across all of them. We fix one canonical address per product and keep filter combinations out of the crawl.
Sold out products need the same care. Deleting the page throws away ranking that was hard to earn, even though the item may return next month, so we keep it, mark it out of stock, and link to the nearest replacement. Every photo is compressed and resized on upload, because a five hundred product catalogue carries thousands of images and category pages have to stay light on mobile networks.
Handover, and the link to warehouse operations
An ecommerce build is handed over only after one real transaction runs end to end in front of you: order, pay, settle, stock deducted, notification sent, invoice issued, and one refund tested. We walk that checklist on a call rather than send it as a report, because an owner needs to see where order numbers land and what to do when one hangs.
Once the store is trading, price changes, new products, and content pages are handled by our team for a year at no extra cost through the WhatsApp group. Work beyond the website, such as multi warehouse stock or a shop till, is built as application modules at IDR 5,000,000 per module per year including the server, with five modules bundled at IDR 20,000,000. Our office is in Gunung Putri, Bogor, and product data work at a client warehouse can be done on site.
Which package fits which way of selling
| What you need | Package | From | Page limit |
|---|---|---|---|
| One offer for paid traffic | Landing Page | IDR 2,000,000 per year | 1 page |
| Catalogue on display, orders by chat | Company Profile Website | IDR 3,000,000 per year | Up to 50 pages |
| Large catalogue that has to be found in search | Website SEO | IDR 5,000,000 per year | Up to 150 pages |
| Cart, payment, automatic shipping rates | E-Commerce | IDR 12,000,000 per year | Up to 500 product and content pages |
| Store plus warehouse records or a till | E-Commerce plus application modules | IDR 5,000,000 per module per year | Five modules at IDR 20,000,000 |
Frequently asked questions
What does ecommerce website development cost?
Ecommerce website development starts at IDR 12,000,000 per year for up to 500 product and content pages, including hosting, SSL, the server, a WhatsApp group, and unlimited revisions for a year. The domain is bought separately and stays in your name.
How long does online store development take?
Build time for an online store depends on how ready the product data is, not on the page count. We commit to a date after reviewing the product list, variants, weights, and dimensions, which is the part most often incomplete.
What happens when two buyers order the last unit at once?
Stock is deducted when the payment is created, not when the parcel ships, so the second buyer is refused before any money moves. The hold releases itself when the payment expires, so an abandoned cart never locks up sellable goods.
Is the domain included in the package?
The domain is bought separately and registered in your company's name, not ours, while hosting, SSL, and the server are included in the package price. The split is deliberate: you keep the one asset that is hardest to recover if you ever change vendors.
Can store stock connect to a warehouse or a till?
Connecting to warehouse records or a shop till is built as application modules at IDR 5,000,000 per module per year including the server, with five modules bundled at IDR 20,000,000 per year.
Will the store show up on Google right away?
Product pages are built to be crawled and indexed from day one, with one canonical address per product and structured product data. Ranking on the first page for competitive terms is recurring work and belongs to the Website SEO package from IDR 5,000,000 per year.





