<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[The Gantry]]></title><description><![CDATA[Practical help for Singapore SME owners whose operations run on spreadsheets, WhatsApp and memory. Pick a path above: choose a system, automate the admin, or claim the grant. 30 free tools, no signup, and a free 20-minute review when you want one.]]></description><link>https://www.gantry.work</link><image><url>https://substackcdn.com/image/fetch/$s_!Ybvp!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F834eb15c-01b0-42cb-ae0e-fb9215f6bd34_512x512.png</url><title>The Gantry</title><link>https://www.gantry.work</link></image><generator>Substack</generator><lastBuildDate>Tue, 27 Oct 2026 13:20:01 GMT</lastBuildDate><atom:link href="https://www.gantry.work/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Sayed Rashid]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[sayedr@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[sayedr@substack.com]]></itunes:email><itunes:name><![CDATA[Sayed Rashid]]></itunes:name></itunes:owner><itunes:author><![CDATA[Sayed Rashid]]></itunes:author><googleplay:owner><![CDATA[sayedr@substack.com]]></googleplay:owner><googleplay:email><![CDATA[sayedr@substack.com]]></googleplay:email><googleplay:author><![CDATA[Sayed Rashid]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[Odoo in Singapore (2026): S$ Pricing, GST Localisation, InvoiceNow, Partners and the EDGE Grant]]></title><description><![CDATA[What Odoo actually costs in Singapore dollars, what the Singapore localisation covers, how it connects to InvoiceNow, how to find a partner who has done this before, and how the new grant applies. From someone who implements it here.]]></description><link>https://www.gantry.work/p/odoo-singapore-pricing-localisation-partners-grants</link><guid isPermaLink="false">https://www.gantry.work/p/odoo-singapore-pricing-localisation-partners-grants</guid><dc:creator><![CDATA[Sayed Rashid]]></dc:creator><pubDate>Tue, 27 Oct 2026 02:00:49 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/bb1eabf6-8ed8-4fb0-993d-f07898b815af_1200x852.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!vtBv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb1eabf6-8ed8-4fb0-993d-f07898b815af_1200x852.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!vtBv!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb1eabf6-8ed8-4fb0-993d-f07898b815af_1200x852.png 424w, https://substackcdn.com/image/fetch/$s_!vtBv!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb1eabf6-8ed8-4fb0-993d-f07898b815af_1200x852.png 848w, https://substackcdn.com/image/fetch/$s_!vtBv!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb1eabf6-8ed8-4fb0-993d-f07898b815af_1200x852.png 1272w, https://substackcdn.com/image/fetch/$s_!vtBv!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb1eabf6-8ed8-4fb0-993d-f07898b815af_1200x852.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!vtBv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb1eabf6-8ed8-4fb0-993d-f07898b815af_1200x852.png" width="1200" height="852" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bb1eabf6-8ed8-4fb0-993d-f07898b815af_1200x852.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:852,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:148627,&quot;alt&quot;:&quot;Infographic: Odoo in Singapore, pricing, localisation, InvoiceNow, partners, grants&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Infographic: Odoo in Singapore, pricing, localisation, InvoiceNow, partners, grants" title="Infographic: Odoo in Singapore, pricing, localisation, InvoiceNow, partners, grants" srcset="https://substackcdn.com/image/fetch/$s_!vtBv!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb1eabf6-8ed8-4fb0-993d-f07898b815af_1200x852.png 424w, https://substackcdn.com/image/fetch/$s_!vtBv!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb1eabf6-8ed8-4fb0-993d-f07898b815af_1200x852.png 848w, https://substackcdn.com/image/fetch/$s_!vtBv!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb1eabf6-8ed8-4fb0-993d-f07898b815af_1200x852.png 1272w, https://substackcdn.com/image/fetch/$s_!vtBv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb1eabf6-8ed8-4fb0-993d-f07898b815af_1200x852.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Odoo has become the most common single-database ERP among Singapore firms of 10 to 100 people, and the questions I get about it here are different from the ones on the global pricing page. What does it cost in Singapore dollars? Does it do GST properly? Can it send InvoiceNow? Which partners are real? Does the grant apply? This is the Singapore-specific page I wish existed, written by someone who implements it here and is not selling licences.</p><h2>The whole picture in under a minute</h2><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;92eac6e9-e1d7-4891-8cfc-67c1d508f806&quot;,&quot;duration&quot;:null}"></div><p>The short version: the licence is the small line and the implementation is the big one, and the Singapore checks on GST, InvoiceNow and the EDGE Grant all happen before you sign or go live. The detail is below.</p><h2>Pricing in Singapore dollars</h2><p>Odoo publishes one price list worldwide, in US dollars, and shows a discounted first-year rate for new subscriptions. As I write, the Standard plan, all apps on Odoo's own cloud, lists at about US$16.90 per user per month on annual billing, with a first-year rate of about US$13.50. The Custom plan, which adds Odoo Studio, multi-company, external API access and the option of Odoo.sh or self-hosting, lists at about US$25.50, first year about US$20.40. Confirm current numbers at odoo.com/pricing before budgeting, because they change and the first-year discount applies only to the users ordered initially.</p><p>In Singapore dollars, at 2026 exchange rates, that puts a 10-user Standard subscription at roughly S$2,700 to S$3,400 a year, and Custom at roughly S$4,000 to S$4,800. Only internal users who create records need a licence; customers and suppliers on the portal are free, so most 20-person firms license 6 to 10 people.</p><p>The licence is the small part. Implementation for a typical 10 to 30 person Singapore firm going live with four modules runs S$12,000 to S$30,000, and I broke down the line items in <a href="https://www.gantry.work/p/what-odoo-actually-costs-in-2026">what Odoo actually costs</a> and, for the whole market, in <a href="https://www.gantry.work/p/erp-implementation-cost-singapore-real-numbers">ERP implementation cost in Singapore</a>.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!oJlJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73d13caf-5c84-45b1-9cf4-91f27e9d8ad9_2560x1440.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!oJlJ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73d13caf-5c84-45b1-9cf4-91f27e9d8ad9_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!oJlJ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73d13caf-5c84-45b1-9cf4-91f27e9d8ad9_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!oJlJ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73d13caf-5c84-45b1-9cf4-91f27e9d8ad9_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!oJlJ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73d13caf-5c84-45b1-9cf4-91f27e9d8ad9_2560x1440.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!oJlJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73d13caf-5c84-45b1-9cf4-91f27e9d8ad9_2560x1440.png" width="2560" height="1440" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/73d13caf-5c84-45b1-9cf4-91f27e9d8ad9_2560x1440.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1440,&quot;width&quot;:2560,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:135476,&quot;alt&quot;:&quot;Bar chart of year-one Odoo costs in Singapore dollars: Standard licence for 10 users S$2.7k&#8211;3.4k a year, Custom licence for 10 users S$4.0k&#8211;4.8k a year, implementation for a 10&#8211;30 person firm with four modules S$12k&#8211;30k&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Bar chart of year-one Odoo costs in Singapore dollars: Standard licence for 10 users S$2.7k&#8211;3.4k a year, Custom licence for 10 users S$4.0k&#8211;4.8k a year, implementation for a 10&#8211;30 person firm with four modules S$12k&#8211;30k" title="Bar chart of year-one Odoo costs in Singapore dollars: Standard licence for 10 users S$2.7k&#8211;3.4k a year, Custom licence for 10 users S$4.0k&#8211;4.8k a year, implementation for a 10&#8211;30 person firm with four modules S$12k&#8211;30k" srcset="https://substackcdn.com/image/fetch/$s_!oJlJ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73d13caf-5c84-45b1-9cf4-91f27e9d8ad9_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!oJlJ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73d13caf-5c84-45b1-9cf4-91f27e9d8ad9_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!oJlJ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73d13caf-5c84-45b1-9cf4-91f27e9d8ad9_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!oJlJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F73d13caf-5c84-45b1-9cf4-91f27e9d8ad9_2560x1440.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Licence versus implementation for a 10-user Singapore firm. The licence is the small part.</figcaption></figure></div><p>One plan question decides the hosting: Standard is Odoo Online only, with no custom code; Custom is required for Odoo.sh and on-premise. The <a href="https://www.gantry.work/p/odoo-online-vs-odoo-sh-vs-on-premise-hosting">hosting comparison</a> covers when each is right. Community edition is free and self-hosted, without the accounting localisation; <a href="https://www.gantry.work/p/odoo-community-vs-enterprise-the">Community vs Enterprise</a> explains that trade.</p><h2>The Singapore localisation</h2><p>Odoo Enterprise ships a Singapore accounting package: a Singapore chart of accounts, GST tax codes covering standard-rated, zero-rated, exempt and out-of-scope supplies, and the GST F5 return figures produced from the ledger. What to check with your accountant before go-live: that the chart is mapped to how they report, that import GST is handled the way you actually pay it, and that any reverse-charge or Major Exporter Scheme treatment your business uses is configured rather than assumed. Payroll for Singapore, with CPF and IRAS submissions, is a separate consideration; many firms keep a local payroll product connected to the ledger, at least in year one.</p><h2>InvoiceNow</h2><p>Every GST-registered business in Singapore joins the InvoiceNow network on a phased schedule that runs to 2031, with the smallest businesses first; your own date depends on your 2025 total supplies, and <a href="https://www.gantry.work/p/invoicenow-when-your-business-must">the InvoiceNow post</a> shows how to find it. Odoo's accounting app sends and receives on the Peppol network, which is what InvoiceNow runs on, through Odoo's accredited access point. Confirm that the connection is enabled for your Singapore entity, that your UEN is registered on the network, and that the InvoiceNow transmission to IRAS is configured, because that last step is the one the mandate is about. If you are keeping accounting in Xero and running only operations in Odoo, the e-invoice is generated from a synced copy of the document, which works but is one more thing to check; the trade-offs are in <a href="https://www.gantry.work/p/odoo-xero-integration-or-replace">integrate or replace</a>.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!w_Si!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2416bb31-b74f-4895-91cb-ae54b1a224fe_2560x1440.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!w_Si!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2416bb31-b74f-4895-91cb-ae54b1a224fe_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!w_Si!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2416bb31-b74f-4895-91cb-ae54b1a224fe_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!w_Si!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2416bb31-b74f-4895-91cb-ae54b1a224fe_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!w_Si!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2416bb31-b74f-4895-91cb-ae54b1a224fe_2560x1440.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!w_Si!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2416bb31-b74f-4895-91cb-ae54b1a224fe_2560x1440.png" width="2560" height="1440" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2416bb31-b74f-4895-91cb-ae54b1a224fe_2560x1440.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1440,&quot;width&quot;:2560,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:153856,&quot;alt&quot;:&quot;Checklist of six checks before go-live: chart of accounts mapped to how you report, import GST handled the way you pay it, reverse charge or Major Exporter Scheme configured, Peppol enabled for your Singapore entity, UEN registered on the network, InvoiceNow transmission to IRAS configured&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Checklist of six checks before go-live: chart of accounts mapped to how you report, import GST handled the way you pay it, reverse charge or Major Exporter Scheme configured, Peppol enabled for your Singapore entity, UEN registered on the network, InvoiceNow transmission to IRAS configured" title="Checklist of six checks before go-live: chart of accounts mapped to how you report, import GST handled the way you pay it, reverse charge or Major Exporter Scheme configured, Peppol enabled for your Singapore entity, UEN registered on the network, InvoiceNow transmission to IRAS configured" srcset="https://substackcdn.com/image/fetch/$s_!w_Si!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2416bb31-b74f-4895-91cb-ae54b1a224fe_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!w_Si!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2416bb31-b74f-4895-91cb-ae54b1a224fe_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!w_Si!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2416bb31-b74f-4895-91cb-ae54b1a224fe_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!w_Si!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2416bb31-b74f-4895-91cb-ae54b1a224fe_2560x1440.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Six Singapore checks to make with your accountant and partner before go-live.</figcaption></figure></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.gantry.work/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">One practical automation each week: a free tool, a tested setup and what it really costs. Free, no spam.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2>Finding a partner in Singapore</h2><p>There are a handful of established Odoo partners in Singapore and a long tail of resellers, freelancers and regional firms who serve the market. The official partner directory on odoo.com lists them by tier, and tier is a useful first filter, but it measures licence sales more than implementation quality. What matters at your size is whether the partner has taken a company like yours live, whether the person who presents is the person who configures, and how they handle your two awkward exceptions in a demo run on your own records. The questions are in <a href="https://www.gantry.work/p/how-to-choose-an-odoo-implementation">how to choose an implementation partner</a> and the demo brief is in <a href="https://www.gantry.work/p/odoo-demo-how-to-run-one-properly">how to run a demo that tells you something</a>. Run the same brief past two partners a week apart.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!T0ap!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9bfe4afa-62ff-44bc-9991-4bc0ec1c3d98_2560x1440.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!T0ap!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9bfe4afa-62ff-44bc-9991-4bc0ec1c3d98_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!T0ap!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9bfe4afa-62ff-44bc-9991-4bc0ec1c3d98_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!T0ap!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9bfe4afa-62ff-44bc-9991-4bc0ec1c3d98_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!T0ap!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9bfe4afa-62ff-44bc-9991-4bc0ec1c3d98_2560x1440.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!T0ap!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9bfe4afa-62ff-44bc-9991-4bc0ec1c3d98_2560x1440.png" width="2560" height="1440" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9bfe4afa-62ff-44bc-9991-4bc0ec1c3d98_2560x1440.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1440,&quot;width&quot;:2560,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:130853,&quot;alt&quot;:&quot;Five-step flow for choosing an Odoo partner in Singapore: filter by tier, ask for a similar go-live, meet the person who configures, demo on your own records with two awkward exceptions, repeat with a second partner a week later&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Five-step flow for choosing an Odoo partner in Singapore: filter by tier, ask for a similar go-live, meet the person who configures, demo on your own records with two awkward exceptions, repeat with a second partner a week later" title="Five-step flow for choosing an Odoo partner in Singapore: filter by tier, ask for a similar go-live, meet the person who configures, demo on your own records with two awkward exceptions, repeat with a second partner a week later" srcset="https://substackcdn.com/image/fetch/$s_!T0ap!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9bfe4afa-62ff-44bc-9991-4bc0ec1c3d98_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!T0ap!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9bfe4afa-62ff-44bc-9991-4bc0ec1c3d98_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!T0ap!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9bfe4afa-62ff-44bc-9991-4bc0ec1c3d98_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!T0ap!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9bfe4afa-62ff-44bc-9991-4bc0ec1c3d98_2560x1440.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Tier is where you start. The demo on your own records is where you decide.</figcaption></figure></div><p>A note on regional partners: several strong Odoo firms serve Singapore from Malaysia, Vietnam or India at lower day rates. That can work well for configuration and development. It works less well for the accounting localisation and the go-live week, where someone who knows IRAS and can be in your office matters. Many firms use both.</p><h2>From our projects: when the partner choice goes wrong</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!8ZMq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2631f50b-3b7c-4f17-ab36-360a73859d0a_2560x1440.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!8ZMq!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2631f50b-3b7c-4f17-ab36-360a73859d0a_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!8ZMq!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2631f50b-3b7c-4f17-ab36-360a73859d0a_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!8ZMq!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2631f50b-3b7c-4f17-ab36-360a73859d0a_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!8ZMq!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2631f50b-3b7c-4f17-ab36-360a73859d0a_2560x1440.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!8ZMq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2631f50b-3b7c-4f17-ab36-360a73859d0a_2560x1440.png" width="2560" height="1440" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2631f50b-3b7c-4f17-ab36-360a73859d0a_2560x1440.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1440,&quot;width&quot;:2560,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:176441,&quot;alt&quot;:&quot;Case card: a private-label apparel group in Singapore, Cambodia and Hong Kong whose previous Odoo project with another partner stalled for three years; upgraded from Odoo 14 to 17 with APIs into accounting; three countries now on one system&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Case card: a private-label apparel group in Singapore, Cambodia and Hong Kong whose previous Odoo project with another partner stalled for three years; upgraded from Odoo 14 to 17 with APIs into accounting; three countries now on one system" title="Case card: a private-label apparel group in Singapore, Cambodia and Hong Kong whose previous Odoo project with another partner stalled for three years; upgraded from Odoo 14 to 17 with APIs into accounting; three countries now on one system" srcset="https://substackcdn.com/image/fetch/$s_!8ZMq!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2631f50b-3b7c-4f17-ab36-360a73859d0a_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!8ZMq!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2631f50b-3b7c-4f17-ab36-360a73859d0a_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!8ZMq!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2631f50b-3b7c-4f17-ab36-360a73859d0a_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!8ZMq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2631f50b-3b7c-4f17-ab36-360a73859d0a_2560x1440.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">One of our project rescues, anonymised.</figcaption></figure></div><p>We were brought in by a private-label apparel group operating in Singapore, Cambodia and Hong Kong after a previous Odoo project with another local partner had <strong>stalled for three years</strong>. We assessed what was there, recommended an upgrade from Odoo 14 to 17, built custom APIs from their in-house software into Odoo accounting, and rebuilt the accounts, opening balances and reporting. The three countries now run on one system with accounting integrated and automated. It is the strongest argument I know for testing a partner on your own records before you sign.</p><h2>The EDGE Grant</h2><p>From 30 September 2026, Singapore's PSG, EDG and MRA grants were consolidated into the EDGE Grant, with support of up to 50 percent for SMEs (30 percent for larger firms) for most activities, including ERP and other integrated enterprise systems, within a S$100,000 annual cap per company and a S$30,000 sub-cap for digital solutions and enterprise systems, on a reimbursement basis. The 70 percent rate applies only to internationalisation and sustainability activities. Odoo projects were commonly funded under the old PSG pre-approved list; under EDGE you apply by activity, an ERP must cover at least three core functions, and pre-approved vendors still matter because Enterprise Singapore processes their applications in about a week rather than ten, so ask your partner how they structure a quote for it and whether they have completed an application under the new scheme. The details and the mistakes to avoid are in <a href="https://www.gantry.work/p/edge-grant-erp-singapore-what-changed">the EDGE grant and ERP</a>. Apply before you sign. Estimate it for your own quotation with the free <a href="https://tools.gantry.work/edge-grant-calculator.html?utm_source=gantry&amp;utm_medium=article&amp;utm_campaign=odoo-singapore">EDGE grant calculator</a>.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!G_QZ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe850952e-bbf0-46e2-8e34-2d152acaa490_2560x1440.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!G_QZ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe850952e-bbf0-46e2-8e34-2d152acaa490_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!G_QZ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe850952e-bbf0-46e2-8e34-2d152acaa490_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!G_QZ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe850952e-bbf0-46e2-8e34-2d152acaa490_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!G_QZ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe850952e-bbf0-46e2-8e34-2d152acaa490_2560x1440.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!G_QZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe850952e-bbf0-46e2-8e34-2d152acaa490_2560x1440.png" width="2560" height="1440" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e850952e-bbf0-46e2-8e34-2d152acaa490_2560x1440.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1440,&quot;width&quot;:2560,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:113922,&quot;alt&quot;:&quot;EDGE Grant in three numbers: up to 50% support for SMEs on ERP projects (30% for larger firms), a S$30k sub-cap for digital solutions and enterprise systems, and at least 3 core functions an ERP must cover&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="EDGE Grant in three numbers: up to 50% support for SMEs on ERP projects (30% for larger firms), a S$30k sub-cap for digital solutions and enterprise systems, and at least 3 core functions an ERP must cover" title="EDGE Grant in three numbers: up to 50% support for SMEs on ERP projects (30% for larger firms), a S$30k sub-cap for digital solutions and enterprise systems, and at least 3 core functions an ERP must cover" srcset="https://substackcdn.com/image/fetch/$s_!G_QZ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe850952e-bbf0-46e2-8e34-2d152acaa490_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!G_QZ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe850952e-bbf0-46e2-8e34-2d152acaa490_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!G_QZ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe850952e-bbf0-46e2-8e34-2d152acaa490_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!G_QZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe850952e-bbf0-46e2-8e34-2d152acaa490_2560x1440.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">The EDGE Grant from 30 September 2026, as it applies to an ERP project.</figcaption></figure></div><h2>Who Odoo is right for here, and who it is not</h2><p>Right for: trading and distribution firms with stock, importers who need landed cost, small manufacturers, multi-outlet retail and F&amp;B, contractors and services firms with costed projects, and any 10 to 100 person company that has outgrown an accounting package plus apps. The single per-user price with every module included is the reason it wins on cost at this size.</p><p>Not right for: a five-person consultancy with no stock, which should stay on its accounting package; a group with many entities and a listing on the horizon, which should look at the mid-market suites; and anyone who wants a system nobody has to own, because Odoo rewards an internal owner and punishes their absence. The wider map is in <a href="https://www.gantry.work/p/odoo-alternatives-2026-honest-comparison">Odoo alternatives</a> and the honest weaknesses in <a href="https://www.gantry.work/p/an-implementers-honest-review-of">my implementer's review</a>.</p><h2>The short version</h2><p>Budget S$15,000 to S$40,000 for year one at 10 to 30 people, most of it implementation. Confirm the Singapore localisation with your accountant and the InvoiceNow connection with the partner before go-live. Pick the partner on a demo run on your records, not on tier. Apply for EDGE before you sign. Go live on three or four modules and add one a quarter.</p><p>What is the one Singapore-specific requirement you would want to see working before you trusted the system?</p><p><em>If you are at the "is this even the right kind of system" stage, the <a href="https://tools.gantry.work/">ERP Readiness Scorecard</a> will tell you in eight questions.</em></p><p><strong>Want a second pair of eyes on your setup?</strong> Bring the process that keeps going wrong to a free <a href="https://tools.gantry.work/review.html?utm_source=gantry&amp;utm_medium=odoo-singapore-pricing-localisation-partners-grants&amp;utm_campaign=article-cta&amp;utm_content=cta-end">20-minute systems review</a>. I'll tell you honestly what to fix first, or whether you need anything new yet.</p><p><em>I'm Sayed. I work closely with business owners to automate their operations and build workflows that actually make sense. I write The Gantry about ERP and automation for SMEs.</em></p><p><strong>Working on something similar?</strong> Connect with me on LinkedIn and tell me what you are working on. I read and reply to every message, and the questions people send become the next guides.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.linkedin.com/in/sayedomni&quot;,&quot;text&quot;:&quot;Connect with Sayed on LinkedIn&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.linkedin.com/in/sayedomni"><span>Connect with Sayed on LinkedIn</span></a></p><p><em>How I test everything and how this site makes money: <a href="https://www.gantry.work/p/how-the-gantry-works">How The Gantry works</a>.</em></p><p>To see whether the numbers work for your own business, the free ERP ROI Calculator turns your team size, hours lost and setup cost into a payback period and 15-year value.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://tools.gantry.work/erp-roi.html?utm_source=gantry&amp;utm_medium=demo&amp;utm_campaign=odoo-singapore-pricing-localisation-partners-grants&amp;utm_content=uxa" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!FagK!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94688eb4-a75c-48b9-8da3-20791b614b95_760x578.gif 424w, https://substackcdn.com/image/fetch/$s_!FagK!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94688eb4-a75c-48b9-8da3-20791b614b95_760x578.gif 848w, https://substackcdn.com/image/fetch/$s_!FagK!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94688eb4-a75c-48b9-8da3-20791b614b95_760x578.gif 1272w, https://substackcdn.com/image/fetch/$s_!FagK!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94688eb4-a75c-48b9-8da3-20791b614b95_760x578.gif 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!FagK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94688eb4-a75c-48b9-8da3-20791b614b95_760x578.gif" width="760" height="578" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/94688eb4-a75c-48b9-8da3-20791b614b95_760x578.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:578,&quot;width&quot;:760,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:787197,&quot;alt&quot;:&quot;Demo: The free ERP ROI calculator at work&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/gif&quot;,&quot;href&quot;:&quot;https://tools.gantry.work/erp-roi.html?utm_source=gantry&amp;utm_medium=demo&amp;utm_campaign=odoo-singapore-pricing-localisation-partners-grants&amp;utm_content=uxa&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Demo: The free ERP ROI calculator at work" title="Demo: The free ERP ROI calculator at work" srcset="https://substackcdn.com/image/fetch/$s_!FagK!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94688eb4-a75c-48b9-8da3-20791b614b95_760x578.gif 424w, https://substackcdn.com/image/fetch/$s_!FagK!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94688eb4-a75c-48b9-8da3-20791b614b95_760x578.gif 848w, https://substackcdn.com/image/fetch/$s_!FagK!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94688eb4-a75c-48b9-8da3-20791b614b95_760x578.gif 1272w, https://substackcdn.com/image/fetch/$s_!FagK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94688eb4-a75c-48b9-8da3-20791b614b95_760x578.gif 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><em>The free ERP ROI calculator at work: your team, hours and setup cost in, payback and 15-year value out. Click the animation to try it.</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://tools.gantry.work/erp-roi.html?utm_source=gantry&amp;utm_medium=demo&amp;utm_campaign=odoo-singapore-pricing-localisation-partners-grants&amp;utm_content=uxa&quot;,&quot;text&quot;:&quot;Calculate your payback&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://tools.gantry.work/erp-roi.html?utm_source=gantry&amp;utm_medium=demo&amp;utm_campaign=odoo-singapore-pricing-localisation-partners-grants&amp;utm_content=uxa"><span>Calculate your payback</span></a></p>]]></content:encoded></item><item><title><![CDATA[How to Make an Invoice: Step by Step, With a Free Invoice Generator]]></title><description><![CDATA[Every field an invoice needs, how to number it, payment terms that get you paid, Singapore tax invoice and simplified tax invoice rules, and a worked example with the GST arithmetic checked.]]></description><link>https://www.gantry.work/p/how-to-make-an-invoice</link><guid isPermaLink="false">https://www.gantry.work/p/how-to-make-an-invoice</guid><dc:creator><![CDATA[Sayed Rashid]]></dc:creator><pubDate>Fri, 23 Oct 2026 02:00:56 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/c856cf59-f92e-4301-878a-f3ae9dc2caf7_2400x1676.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>Some links on this page are affiliate links. If you sign up through them, The Gantry may earn a commission at no extra cost to you. I only recommend tools I would use on a client project.</em> <em><a href="https://www.gantry.work/p/how-the-gantry-works">How I test tools and how this site makes money.</a></em></p><p><strong>How to make an invoice that gets paid: title it "Invoice" (or "Tax Invoice" if you charge GST), give it a unique number and a date, add your details and your customer's, list what you supplied with quantities and prices, show the subtotal, GST and total, and state the due date and how to pay.</strong> The free <a href="https://tools.gantry.work/invoice-generator.html?utm_source=gantry&amp;utm_medium=article&amp;utm_campaign=how-to-make-an-invoice">Invoice Generator</a> lays all of that out for you, handles GST and gives you a PDF.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://tools.gantry.work/invoice-generator.html?utm_source=gantry&amp;utm_medium=demo&amp;utm_campaign=how-to-make-an-invoice&amp;utm_content=uxa" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Zugg!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd402d727-4e19-4b26-82be-8065a5bbd8d8_760x519.gif 424w, https://substackcdn.com/image/fetch/$s_!Zugg!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd402d727-4e19-4b26-82be-8065a5bbd8d8_760x519.gif 848w, https://substackcdn.com/image/fetch/$s_!Zugg!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd402d727-4e19-4b26-82be-8065a5bbd8d8_760x519.gif 1272w, https://substackcdn.com/image/fetch/$s_!Zugg!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd402d727-4e19-4b26-82be-8065a5bbd8d8_760x519.gif 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!Zugg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd402d727-4e19-4b26-82be-8065a5bbd8d8_760x519.gif" width="760" height="519" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d402d727-4e19-4b26-82be-8065a5bbd8d8_760x519.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:519,&quot;width&quot;:760,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:836502,&quot;alt&quot;:&quot;Demo: The free document makers at work&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/gif&quot;,&quot;href&quot;:&quot;https://tools.gantry.work/invoice-generator.html?utm_source=gantry&amp;utm_medium=demo&amp;utm_campaign=how-to-make-an-invoice&amp;utm_content=uxa&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Demo: The free document makers at work" title="Demo: The free document makers at work" srcset="https://substackcdn.com/image/fetch/$s_!Zugg!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd402d727-4e19-4b26-82be-8065a5bbd8d8_760x519.gif 424w, https://substackcdn.com/image/fetch/$s_!Zugg!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd402d727-4e19-4b26-82be-8065a5bbd8d8_760x519.gif 848w, https://substackcdn.com/image/fetch/$s_!Zugg!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd402d727-4e19-4b26-82be-8065a5bbd8d8_760x519.gif 1272w, https://substackcdn.com/image/fetch/$s_!Zugg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd402d727-4e19-4b26-82be-8065a5bbd8d8_760x519.gif 1456w" sizes="auto, 100vw" loading="lazy" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><em>The free document makers at work: a quote with GST turned into a tax invoice in one click. Click the animation to try it.</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://tools.gantry.work/invoice-generator.html?utm_source=gantry&amp;utm_medium=demo&amp;utm_campaign=how-to-make-an-invoice&amp;utm_content=uxa&quot;,&quot;text&quot;:&quot;Make a free invoice&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://tools.gantry.work/invoice-generator.html?utm_source=gantry&amp;utm_medium=demo&amp;utm_campaign=how-to-make-an-invoice&amp;utm_content=uxa"><span>Make a free invoice</span></a></p><p><em>Part of The Gantry's automation guides. Updated October 2026.</em></p><h2>The whole picture in 45 seconds</h2><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;ece577f0-6127-4d6c-9820-fc82f99f0318&quot;,&quot;duration&quot;:null}"></div><p>The short version: number it, put the customer's PO on it, add GST correctly, print a real due date, and chase on a schedule. Every field, the GST arithmetic and the follow-up timings are below.</p><h2>How to make an invoice, step by step</h2><ol><li><p><strong>Start from a template or a generator, not a blank page,</strong> so every invoice looks the same and the customer's accounts team knows where to look.</p></li><li><p><strong>Title it correctly.</strong> "Invoice" if you are not GST-registered. "Tax Invoice" if you are GST-registered and charging GST.</p></li><li><p><strong>Give it the next number in your sequence</strong> and the date you issue it.</p></li><li><p><strong>Add your details:</strong> business name, address, UEN, and your GST registration number if you have one.</p></li><li><p><strong>Add the customer's details:</strong> their legal name, billing address, who pays, and their purchase order (PO) number if they gave you one.</p></li><li><p><strong>List each item or service</strong> with a description, quantity, unit price and line amount.</p></li><li><p><strong>Add it up:</strong> subtotal, any discount, GST, and the total due.</p></li><li><p><strong>State the terms:</strong> a due date and how to pay (PayNow UEN, bank account or a payment link).</p></li><li><p><strong>Save it as a PDF and send it</strong> to the person or inbox that actually releases payments.</p></li></ol><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!jV3d!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F223b9f7d-e232-4b92-ab98-ac8dc3c48c50_2560x1440.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!jV3d!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F223b9f7d-e232-4b92-ab98-ac8dc3c48c50_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!jV3d!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F223b9f7d-e232-4b92-ab98-ac8dc3c48c50_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!jV3d!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F223b9f7d-e232-4b92-ab98-ac8dc3c48c50_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!jV3d!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F223b9f7d-e232-4b92-ab98-ac8dc3c48c50_2560x1440.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!jV3d!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F223b9f7d-e232-4b92-ab98-ac8dc3c48c50_2560x1440.png" width="2560" height="1440" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/223b9f7d-e232-4b92-ab98-ac8dc3c48c50_2560x1440.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1440,&quot;width&quot;:2560,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:132166,&quot;alt&quot;:&quot;Five-step flow for making an invoice: title and number, both parties' details including the customer's PO number, line items, totals and GST, then terms and sending the PDF to whoever releases payment&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Five-step flow for making an invoice: title and number, both parties' details including the customer's PO number, line items, totals and GST, then terms and sending the PDF to whoever releases payment" title="Five-step flow for making an invoice: title and number, both parties' details including the customer's PO number, line items, totals and GST, then terms and sending the PDF to whoever releases payment" srcset="https://substackcdn.com/image/fetch/$s_!jV3d!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F223b9f7d-e232-4b92-ab98-ac8dc3c48c50_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!jV3d!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F223b9f7d-e232-4b92-ab98-ac8dc3c48c50_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!jV3d!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F223b9f7d-e232-4b92-ab98-ac8dc3c48c50_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!jV3d!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F223b9f7d-e232-4b92-ab98-ac8dc3c48c50_2560x1440.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Five moves from blank page to sent invoice.</figcaption></figure></div><h2>What to include in an invoice</h2><ul><li><p><strong>Title:</strong> "Invoice", or "Tax Invoice" when you charge GST.</p></li><li><p><strong>Invoice number:</strong> unique and sequential. Never reuse one.</p></li><li><p><strong>Invoice date and due date:</strong> write the due date as a date, not just "30 days".</p></li><li><p><strong>Your business details:</strong> legal name, address, UEN, email and phone. ACRA requires a Singapore company to show its name and registration number on its invoices.</p></li><li><p><strong>Customer details:</strong> the company's legal name (not just your contact's name), billing address and an attention line.</p></li><li><p><strong>Customer PO number:</strong> larger customers match every invoice to a PO and a delivery order before paying. A missing PO number is the most common reason an invoice sits unpaid.</p></li><li><p><strong>Line items:</strong> a description a stranger in their accounts team would understand, quantity, unit price and amount.</p></li><li><p><strong>Totals:</strong> subtotal, discount, GST rate and amount, total payable.</p></li><li><p><strong>Payment details:</strong> PayNow UEN, bank name and account number, or a payment link.</p></li><li><p><strong>References:</strong> your delivery order or project number, if there is one.</p></li></ul><h3>Invoice numbering</h3><p>Use one running sequence per document type: INV-0001, INV-0002, and so on, or INV-2026-0001 if you like the year in it. Quotations, receipts and delivery orders get their own sequences. If an invoice is wrong after you have sent it, do not delete it or reuse the number; issue a credit note against it and a new invoice. A gap or a duplicate number is hard to explain later.</p><h3>Payment terms</h3><ul><li><p><strong>Due on receipt:</strong> one-off jobs and new customers you do not know yet.</p></li><li><p><strong>7 or 14 days:</strong> small jobs and services.</p></li><li><p><strong>30 days from the invoice date:</strong> the usual term for trade customers in Singapore.</p></li><li><p><strong>Deposit and balance:</strong> projects, with the deposit invoiced on confirmation.</p></li></ul><p>Whatever you choose, print the actual date. "Due 1 November 2026" ends any argument about when the clock started.</p><h2>Tax invoice requirements in Singapore</h2><p>If you are GST-registered and your customer is GST-registered, you must issue a tax invoice, generally within 30 days from the time of supply. Your customer needs it to claim the GST back. IRAS lists what it must contain:</p><ul><li><p>The words "Tax Invoice"</p></li><li><p>Your name and address</p></li><li><p>Your GST registration number</p></li><li><p>The invoice date and an invoice number</p></li><li><p>The customer's name and address</p></li><li><p>A description of the goods or services</p></li><li><p>The GST rate</p></li><li><p>The total excluding GST, the total GST, and the total including GST</p></li></ul><p>A few rules that catch people out:</p><ul><li><p><strong>Foreign currency:</strong> if you invoice in US dollars or another currency, the total excluding GST, the GST and the total including GST must also be shown in Singapore dollars, using an exchange rate IRAS accepts.</p></li><li><p><strong>Working out GST:</strong> you can apply 9% to each line and add them up, or apply 9% to the subtotal. The results can differ by a cent; both are acceptable if you use one method consistently. Round the total GST to the nearest cent.</p></li><li><p><strong>When you don't need one:</strong> a tax invoice is not required for zero-rated or exempt supplies, or for customers who are not GST-registered. For those customers a receipt can be enough.</p></li><li><p><strong>If you are not GST-registered:</strong> only GST-registered businesses can charge GST. Do not add GST and do not call the document a tax invoice.</p></li></ul><h3>Simplified tax invoice</h3><p>If the total payable including GST is S$1,000 or less, you may issue a simplified tax invoice instead. It needs only your name, address and GST registration number; the date; an invoice number; a description; the total including GST; and a statement such as "Price payable includes GST".</p><p><strong>Example:</strong> a S$480.00 repair job plus 9% GST is S$523.20, under the S$1,000 limit. The GST inside it is S$523.20 &#215; 9/109 = S$43.20.</p><p>IRAS is also bringing GST-registered businesses onto InvoiceNow, the national e-invoicing network, in phases: voluntary registrants first (from November 2025 and April 2026), then existing registrants by annual turnover from 1 April 2028 to 1 April 2031. <a href="https://www.gantry.work/p/invoicenow-when-your-business-must">Here is who has to switch, and when</a>.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.gantry.work/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">One practical automation each week: a free tool, a tested setup and what it really costs. Free, no spam.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2>A worked example, with the GST arithmetic</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!rhs0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc856cf59-f92e-4301-878a-f3ae9dc2caf7_2400x1676.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!rhs0!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc856cf59-f92e-4301-878a-f3ae9dc2caf7_2400x1676.png 424w, https://substackcdn.com/image/fetch/$s_!rhs0!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc856cf59-f92e-4301-878a-f3ae9dc2caf7_2400x1676.png 848w, https://substackcdn.com/image/fetch/$s_!rhs0!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc856cf59-f92e-4301-878a-f3ae9dc2caf7_2400x1676.png 1272w, https://substackcdn.com/image/fetch/$s_!rhs0!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc856cf59-f92e-4301-878a-f3ae9dc2caf7_2400x1676.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!rhs0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc856cf59-f92e-4301-878a-f3ae9dc2caf7_2400x1676.png" width="2400" height="1676" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c856cf59-f92e-4301-878a-f3ae9dc2caf7_2400x1676.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1676,&quot;width&quot;:2400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:380439,&quot;alt&quot;:&quot;Worked example: a Singapore tax invoice for six office chairs and delivery, S$1,230.00 plus 9% GST of S$110.70, total S$1,340.70, with each required field labelled&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Worked example: a Singapore tax invoice for six office chairs and delivery, S$1,230.00 plus 9% GST of S$110.70, total S$1,340.70, with each required field labelled" title="Worked example: a Singapore tax invoice for six office chairs and delivery, S$1,230.00 plus 9% GST of S$110.70, total S$1,340.70, with each required field labelled" srcset="https://substackcdn.com/image/fetch/$s_!rhs0!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc856cf59-f92e-4301-878a-f3ae9dc2caf7_2400x1676.png 424w, https://substackcdn.com/image/fetch/$s_!rhs0!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc856cf59-f92e-4301-878a-f3ae9dc2caf7_2400x1676.png 848w, https://substackcdn.com/image/fetch/$s_!rhs0!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc856cf59-f92e-4301-878a-f3ae9dc2caf7_2400x1676.png 1272w, https://substackcdn.com/image/fetch/$s_!rhs0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc856cf59-f92e-4301-878a-f3ae9dc2caf7_2400x1676.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>A typical 15-person office furniture distributor, GST-registered, invoices a GST-registered customer on 2 October 2026:</p><ul><li><p>6 office chairs, model C-200, at S$185.00: 6 &#215; 185.00 = S$1,110.00</p></li><li><p>Delivery and assembly, 1 at S$120.00: S$120.00</p></li><li><p>Subtotal excluding GST: 1,110.00 + 120.00 = S$1,230.00</p></li><li><p>GST at 9%: 1,230.00 &#215; 0.09 = S$110.70</p></li><li><p>Total including GST: 1,230.00 + 110.70 = S$1,340.70</p></li></ul><p>Line by line gives the same GST here: 9% of 1,110.00 is 99.90 and 9% of 120.00 is 10.80, which also add up to 110.70. The terms are 30 days from the invoice date, so the due date printed is 1 November 2026. The invoice is numbered INV-0412, the customer's PO-4512 goes in the header, and because GST is charged and the customer is registered, the title is "Tax Invoice".</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Vanj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd62d8121-dfa8-4417-a679-fb7bbb378d03_2560x1440.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Vanj!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd62d8121-dfa8-4417-a679-fb7bbb378d03_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!Vanj!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd62d8121-dfa8-4417-a679-fb7bbb378d03_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!Vanj!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd62d8121-dfa8-4417-a679-fb7bbb378d03_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!Vanj!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd62d8121-dfa8-4417-a679-fb7bbb378d03_2560x1440.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!Vanj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd62d8121-dfa8-4417-a679-fb7bbb378d03_2560x1440.png" width="2560" height="1440" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d62d8121-dfa8-4417-a679-fb7bbb378d03_2560x1440.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1440,&quot;width&quot;:2560,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:138679,&quot;alt&quot;:&quot;Worked tax invoice: 6 office chairs at S$185.00 is S$1,110.00, plus delivery and assembly S$120.00, subtotal S$1,230.00, GST at 9% S$110.70, total including GST S$1,340.70&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Worked tax invoice: 6 office chairs at S$185.00 is S$1,110.00, plus delivery and assembly S$120.00, subtotal S$1,230.00, GST at 9% S$110.70, total including GST S$1,340.70" title="Worked tax invoice: 6 office chairs at S$185.00 is S$1,110.00, plus delivery and assembly S$120.00, subtotal S$1,230.00, GST at 9% S$110.70, total including GST S$1,340.70" srcset="https://substackcdn.com/image/fetch/$s_!Vanj!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd62d8121-dfa8-4417-a679-fb7bbb378d03_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!Vanj!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd62d8121-dfa8-4417-a679-fb7bbb378d03_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!Vanj!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd62d8121-dfa8-4417-a679-fb7bbb378d03_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!Vanj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd62d8121-dfa8-4417-a679-fb7bbb378d03_2560x1440.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">The office chairs example, due 1 November 2026 on 30-day terms.</figcaption></figure></div><h2>Do it in a minute with the free Invoice Generator</h2><p>The free <a href="https://tools.gantry.work/invoice-generator.html?utm_source=gantry&amp;utm_medium=article&amp;utm_campaign=how-to-make-an-invoice">Invoice Generator</a> does the layout and the arithmetic: Working out GST by hand? The free <a href="https://tools.gantry.work/gst-calculator.html?utm_source=gantry&amp;utm_medium=article&amp;utm_campaign=how-to-make-an-invoice&amp;utm_content=calcs6">GST Calculator</a> adds 9% GST or takes it out of a GST-inclusive total, and the <a href="https://tools.gantry.work/invoice-due-date-calculator.html?utm_source=gantry&amp;utm_medium=article&amp;utm_campaign=how-to-make-an-invoice&amp;utm_content=calcs6">Invoice Due Date Calculator</a> gives the due date on any terms, including net 30 end of month.</p><ul><li><p><strong>Your business details and logo</strong> are entered once and saved in your browser, then used on every invoice, quotation, receipt and delivery order.</p></li><li><p><strong>The number</strong> follows on from your last invoice, and the due date defaults to 30 days after the invoice date.</p></li><li><p><strong>GST:</strong> choose "Add GST to prices" or "Prices include GST" and set the rate (9% by default). The title switches to Tax Invoice and the GST lines appear. It warns you if you have not entered a GST registration number.</p></li><li><p><strong>Output:</strong> "Download PDF or print" saves a PDF; "Copy as text" gives a short version for email or WhatsApp.</p></li><li><p><strong>Hand-offs:</strong> "Turn into receipt" and "Turn into delivery order" carry the customer and items across without retyping.</p></li></ul><p>Click "Fill with example" and choose "Add GST to prices", and you get the chairs invoice above, total S$1,340.70. Nothing is uploaded. Two things it leaves to you: for a simplified tax invoice, add "Price payable includes GST" in the notes, and for a foreign-currency tax invoice, add the Singapore dollar totals in the notes.</p><h2>Sending the invoice and following up</h2><p>Send the invoice on the day you deliver or finish the work; every day you wait is added to when you get paid. Email it to the accounts payable address, with the invoice number, amount and due date in the subject line, for example "Invoice INV-0412 from Example Trading, S$1,340.70, due 1 November". Attach the signed delivery order if the customer matches against one.</p><p>Then follow up on a schedule rather than when you remember: a courtesy note three days before the due date, a reminder on the day, a friendly reminder at 7 days overdue, a firm one at 14 to 30 days and a final notice at around 45. The wording for each stage is in <a href="https://www.gantry.work/p/payment-reminder-email-templates">payment reminder email templates</a>. If several customers are late at once, the free <a href="https://tools.gantry.work/invoice-chaser.html?utm_source=gantry&amp;utm_medium=article&amp;utm_campaign=how-to-make-an-invoice">Overdue Invoice Reminder Writer</a> writes the right reminder for each one from your accounting export.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!QCcf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ac5033a-b9d5-4ad4-bf03-894d0d2cea7b_2560x1440.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!QCcf!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ac5033a-b9d5-4ad4-bf03-894d0d2cea7b_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!QCcf!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ac5033a-b9d5-4ad4-bf03-894d0d2cea7b_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!QCcf!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ac5033a-b9d5-4ad4-bf03-894d0d2cea7b_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!QCcf!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ac5033a-b9d5-4ad4-bf03-894d0d2cea7b_2560x1440.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!QCcf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ac5033a-b9d5-4ad4-bf03-894d0d2cea7b_2560x1440.png" width="2560" height="1440" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0ac5033a-b9d5-4ad4-bf03-894d0d2cea7b_2560x1440.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1440,&quot;width&quot;:2560,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:107842,&quot;alt&quot;:&quot;Follow-up schedule: a courtesy note 3 days before the due date, a reminder on the due date, a friendly reminder at 7 days overdue, a firm reminder at 14 to 30 days, and a final notice at around 45 days&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Follow-up schedule: a courtesy note 3 days before the due date, a reminder on the due date, a friendly reminder at 7 days overdue, a firm reminder at 14 to 30 days, and a final notice at around 45 days" title="Follow-up schedule: a courtesy note 3 days before the due date, a reminder on the due date, a friendly reminder at 7 days overdue, a firm reminder at 14 to 30 days, and a final notice at around 45 days" srcset="https://substackcdn.com/image/fetch/$s_!QCcf!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ac5033a-b9d5-4ad4-bf03-894d0d2cea7b_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!QCcf!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ac5033a-b9d5-4ad4-bf03-894d0d2cea7b_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!QCcf!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ac5033a-b9d5-4ad4-bf03-894d0d2cea7b_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!QCcf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ac5033a-b9d5-4ad4-bf03-894d0d2cea7b_2560x1440.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Chase on a schedule, not when you remember.</figcaption></figure></div><h2>Make it automatic</h2><p>A generator is right for occasional invoices. Once you invoice every week, invoices belong in your accounting software, where they post to receivables and your aged debtors report stays true. From there, a free <a href="https://tools.gantry.work/go/?u=https%3A%2F%2Fwww.make.com%2Fen%2Fregister%3Fpc%3Dgntrywk">Make</a> scenario can create the invoice in Xero from an order row in Google Sheets, email it to the customer, and send reminders at 7, 14 and 30 days overdue until it is paid. The reminder half is set up step by step in <a href="https://www.gantry.work/p/xero-invoice-reminders-automation">chase overdue Xero invoices automatically</a>.</p><p><em>Stuck on a step? <a href="https://tools.gantry.work/automation-help/?from=how-to-make-an-invoice">Tell me where you're stuck</a> and you'll get the fix, or a free 20-minute review if it's worth one.</em></p><h2>Frequently asked questions</h2><p><strong>Is there a free invoice template?</strong> Yes. The Gantry's <a href="https://tools.gantry.work/invoice-generator.html?utm_source=gantry&amp;utm_medium=article&amp;utm_campaign=how-to-make-an-invoice">Invoice Generator</a> is a free invoice template you fill in online, with GST, your logo and PDF download, and no signup.</p><p><strong>What is the difference between an invoice and a tax invoice?</strong> A tax invoice is the invoice a GST-registered business issues when it charges GST. It must say "Tax Invoice" and show the GST registration number, the GST rate and the GST amount.</p><p><strong>When do I have to issue a tax invoice in Singapore?</strong> When you are GST-registered and your customer is GST-registered, generally within 30 days from the time of supply. For totals up to S$1,000 including GST, a simplified tax invoice is allowed.</p><p><strong>Can I issue an invoice if I am not GST-registered?</strong> Yes. Call it an invoice, not a tax invoice, and do not add GST. Everything else on this page still applies.</p><p><strong>How long do I have to keep copies of my invoices?</strong> IRAS requires GST-registered businesses to keep records, including the tax invoices they issue and receive, for at least 5 years.</p><h2>Related guides</h2><p><a href="https://www.gantry.work/p/payment-reminder-email-templates">Payment reminder email templates</a> &#183; <a href="https://www.gantry.work/p/order-to-cash-process">Order-to-cash process</a> &#183; <a href="https://www.gantry.work/p/invoicenow-when-your-business-must">InvoiceNow: when your business must comply</a> &#183; <a href="https://www.gantry.work/p/xero-invoice-reminders-automation">Chase overdue Xero invoices automatically</a></p><p><em>Still invoicing from Word while three people retype the same order? I do a free <a href="https://tools.gantry.work/review.html?utm_source=gantry&amp;utm_medium=article&amp;utm_campaign=how-to-make-an-invoice">20-minute systems review</a>. No pitch, just your questions answered.</em></p><p><em>I'm Sayed. I work closely with business owners to automate their operations and build workflows that actually make sense. I write The Gantry about ERP and automation for SMEs.</em></p><p><strong>Working on something similar?</strong> Connect with me on LinkedIn and tell me what you are working on. I read and reply to every message, and the questions people send become the next guides.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.linkedin.com/in/sayedomni&quot;,&quot;text&quot;:&quot;Connect with Sayed on LinkedIn&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.linkedin.com/in/sayedomni"><span>Connect with Sayed on LinkedIn</span></a></p><p><em>How I test everything and how this site makes money: <a href="https://www.gantry.work/p/how-the-gantry-works">How The Gantry works</a>.</em></p>]]></content:encoded></item><item><title><![CDATA[Progress Claim Template for Singapore Contractors: What to Include, SOP Act Deadlines and Retention]]></title><description><![CDATA[A field-by-field progress claim format, a worked claim on a S$186,000 fit-out, the Security of Payment Act timeline, and when retention money should be released.]]></description><link>https://www.gantry.work/p/progress-claim-template-singapore</link><guid isPermaLink="false">https://www.gantry.work/p/progress-claim-template-singapore</guid><dc:creator><![CDATA[Sayed Rashid]]></dc:creator><pubDate>Thu, 22 Oct 2026 07:02:04 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/b463ec54-e64f-409c-afe3-77ba6875a327_1456x816.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><strong>A progress claim in Singapore is a contractor's claim for the value of work done to date, less retention and less what has already been claimed. Under the Building and Construction Industry Security of Payment Act (the SOP Act), it is called a payment claim.</strong> A usable progress claim template shows the contract and claim reference, the cut-off date, each work item with its contract value and percentage complete, approved variations, retention, previous claims, the amount claimed this period, and GST if you are registered.</p><p>Below is the field-by-field format, a worked claim with real numbers, the SOP Act deadlines that apply when your contract is silent, and how retention release usually works. This is practical guidance, not legal advice: your contract and the Act always come first.</p><h2>Progress claim, payment claim, progress billing: same thing?</h2><p>Mostly, yes.</p><ul><li><p><strong>Progress claim</strong> is what the industry calls it on site and in the QS office.</p></li><li><p><strong>Payment claim</strong> is the statutory term in the SOP Act. When a progress claim is served under the Act, it is a payment claim, and the Act's timelines apply.</p></li><li><p><strong>Progress billing</strong> is the accounting and US term for the same idea: billing in stages as the work progresses, rather than once at the end.</p></li><li><p><strong>Milestone billing</strong> is a variant where you bill fixed amounts when defined stages are reached ("first fix complete"), rather than by measured percentage.</p></li></ul><p>The SOP Act covers written contracts for construction work, and for the supply of goods or services for construction projects in Singapore. It does not cover residential works that need no plan approval under the Building Control Act, so an HDB renovation with no structural works is outside it.</p><h2>What a progress claim template should include</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!1N08!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f2f99a8-9f1d-4a38-ae10-cdbcf9900a39_1400x929.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!1N08!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f2f99a8-9f1d-4a38-ae10-cdbcf9900a39_1400x929.png 424w, https://substackcdn.com/image/fetch/$s_!1N08!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f2f99a8-9f1d-4a38-ae10-cdbcf9900a39_1400x929.png 848w, https://substackcdn.com/image/fetch/$s_!1N08!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f2f99a8-9f1d-4a38-ae10-cdbcf9900a39_1400x929.png 1272w, https://substackcdn.com/image/fetch/$s_!1N08!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f2f99a8-9f1d-4a38-ae10-cdbcf9900a39_1400x929.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!1N08!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f2f99a8-9f1d-4a38-ae10-cdbcf9900a39_1400x929.png" width="1400" height="929" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0f2f99a8-9f1d-4a38-ae10-cdbcf9900a39_1400x929.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:929,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:165675,&quot;alt&quot;:&quot;Anatomy of a progress claim: the fields a Singapore payment claim should show and what to write in each&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Anatomy of a progress claim: the fields a Singapore payment claim should show and what to write in each" title="Anatomy of a progress claim: the fields a Singapore payment claim should show and what to write in each" srcset="https://substackcdn.com/image/fetch/$s_!1N08!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f2f99a8-9f1d-4a38-ae10-cdbcf9900a39_1400x929.png 424w, https://substackcdn.com/image/fetch/$s_!1N08!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f2f99a8-9f1d-4a38-ae10-cdbcf9900a39_1400x929.png 848w, https://substackcdn.com/image/fetch/$s_!1N08!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f2f99a8-9f1d-4a38-ae10-cdbcf9900a39_1400x929.png 1272w, https://substackcdn.com/image/fetch/$s_!1N08!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f2f99a8-9f1d-4a38-ae10-cdbcf9900a39_1400x929.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Use one claim document per contract per period, and always claim <strong>cumulatively</strong>: show the total value of work done to date, then deduct what has already been claimed. Cumulative claims are easier to check and harder to dispute than "this month's work" lists.</p><p>The fields:</p><ol><li><p><strong>Claimant and respondent.</strong> Your company name, UEN and address; the party you are claiming from.</p></li><li><p><strong>Contract and project reference.</strong> Contract number, project name and site address.</p></li><li><p><strong>Claim number and cut-off date.</strong> "Progress Claim No. 2, work done up to 31 October 2026."</p></li><li><p><strong>Schedule of work done.</strong> Each item or stage from the contract breakdown, with contract value, percentage complete to date, and value of work done to date.</p></li><li><p><strong>Variations.</strong> Approved variation orders listed separately, with their own values to date. Keep unapproved variations off the claim, or list them clearly as pending, so they don't hold up the rest.</p></li><li><p><strong>Materials on site</strong> (if your contract allows it).</p></li><li><p><strong>Gross value to date.</strong> Work done plus variations plus materials.</p></li><li><p><strong>Less retention.</strong> At the rate and cap your contract sets.</p></li><li><p><strong>Less previous claims certified or paid.</strong></p></li><li><p><strong>Amount claimed this period</strong>, before and after GST if you are GST-registered.</p></li><li><p><strong>Supporting documents.</strong> Measurement sheets, site photos, delivery orders, signed site records.</p></li></ol><p>BCA publishes sample payment claim and payment response forms on its Security of Payment pages. They are a good base for a template; add your own work breakdown and retention lines.</p><h2>A worked progress claim</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!-OTM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41ca67f8-54fd-4d23-94a1-8348a048152c_1400x804.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!-OTM!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41ca67f8-54fd-4d23-94a1-8348a048152c_1400x804.png 424w, https://substackcdn.com/image/fetch/$s_!-OTM!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41ca67f8-54fd-4d23-94a1-8348a048152c_1400x804.png 848w, https://substackcdn.com/image/fetch/$s_!-OTM!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41ca67f8-54fd-4d23-94a1-8348a048152c_1400x804.png 1272w, https://substackcdn.com/image/fetch/$s_!-OTM!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41ca67f8-54fd-4d23-94a1-8348a048152c_1400x804.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!-OTM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41ca67f8-54fd-4d23-94a1-8348a048152c_1400x804.png" width="1400" height="804" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/41ca67f8-54fd-4d23-94a1-8348a048152c_1400x804.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:804,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:118129,&quot;alt&quot;:&quot;Worked progress claim on a S$186,000 contract: cumulative work done, retention, previous claims, amount due and GST&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Worked progress claim on a S$186,000 contract: cumulative work done, retention, previous claims, amount due and GST" title="Worked progress claim on a S$186,000 contract: cumulative work done, retention, previous claims, amount due and GST" srcset="https://substackcdn.com/image/fetch/$s_!-OTM!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41ca67f8-54fd-4d23-94a1-8348a048152c_1400x804.png 424w, https://substackcdn.com/image/fetch/$s_!-OTM!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41ca67f8-54fd-4d23-94a1-8348a048152c_1400x804.png 848w, https://substackcdn.com/image/fetch/$s_!-OTM!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41ca67f8-54fd-4d23-94a1-8348a048152c_1400x804.png 1272w, https://substackcdn.com/image/fetch/$s_!-OTM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41ca67f8-54fd-4d23-94a1-8348a048152c_1400x804.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Take a fictional M&amp;E contractor with a S$186,000 ACMV and electrical fit-out for a clinic. The contract is billed in four stages: mobilisation 10%, first fix 30%, second fix 30%, testing and handover 30%. Assume the contract sets retention at 5% of the value of work done.</p><p>Claim No. 1 (mobilisation) was S$18,600, less 5% retention of S$930, so S$17,670 was certified and paid.</p><p>Claim No. 2, after first fix:</p><ul><li><p>Work done to date: mobilisation 10% + first fix 30% = 40% of S$186,000 = <strong>S$74,400</strong></p></li><li><p>Less retention at 5%: <strong>S$3,720</strong></p></li><li><p>Net value to date: <strong>S$70,680</strong></p></li><li><p>Less previous claims certified: <strong>S$17,670</strong></p></li><li><p>Amount claimed this period: <strong>S$53,010</strong></p></li><li><p>GST at 9%: <strong>S$4,770.90</strong></p></li><li><p>Total with GST: <strong>S$57,780.90</strong></p></li></ul><p>Notice that retention is calculated on the cumulative value, and the previous claim is deducted net of its own retention. That keeps the retention balance correct at every claim: here S$3,720 is now held.</p><h2>The gap a progress claim is meant to close</h2><p>Here is the same contract in the contractor's system. The order line shows the contract quantity as one unit at S$186,000. "Delivered" is 0.40 because the first two stages are marked reached on site. "Invoiced" is 0.10 because only mobilisation has been billed.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!yyDy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fedf6f2d3-3c68-4b08-bd26-766db6a8b8b7_1150x720.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!yyDy!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fedf6f2d3-3c68-4b08-bd26-766db6a8b8b7_1150x720.png 424w, https://substackcdn.com/image/fetch/$s_!yyDy!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fedf6f2d3-3c68-4b08-bd26-766db6a8b8b7_1150x720.png 848w, https://substackcdn.com/image/fetch/$s_!yyDy!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fedf6f2d3-3c68-4b08-bd26-766db6a8b8b7_1150x720.png 1272w, https://substackcdn.com/image/fetch/$s_!yyDy!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fedf6f2d3-3c68-4b08-bd26-766db6a8b8b7_1150x720.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!yyDy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fedf6f2d3-3c68-4b08-bd26-766db6a8b8b7_1150x720.png" width="1150" height="720" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/edf6f2d3-3c68-4b08-bd26-766db6a8b8b7_1150x720.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:720,&quot;width&quot;:1150,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:100482,&quot;alt&quot;:&quot;Real screen: a S$186,000 fit-out contract where 40% of the work is delivered but only 10% invoiced&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Real screen: a S$186,000 fit-out contract where 40% of the work is delivered but only 10% invoiced" title="Real screen: a S$186,000 fit-out contract where 40% of the work is delivered but only 10% invoiced" srcset="https://substackcdn.com/image/fetch/$s_!yyDy!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fedf6f2d3-3c68-4b08-bd26-766db6a8b8b7_1150x720.png 424w, https://substackcdn.com/image/fetch/$s_!yyDy!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fedf6f2d3-3c68-4b08-bd26-766db6a8b8b7_1150x720.png 848w, https://substackcdn.com/image/fetch/$s_!yyDy!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fedf6f2d3-3c68-4b08-bd26-766db6a8b8b7_1150x720.png 1272w, https://substackcdn.com/image/fetch/$s_!yyDy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fedf6f2d3-3c68-4b08-bd26-766db6a8b8b7_1150x720.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>That 30-point gap is S$55,800 of finished work that has not been claimed, while materials and wages for it have already been paid. In a lot of small firms the gap is not a dispute. It is admin: the site team knows first fix is done, but nobody tells the person who prepares claims until the end of the month, or the month after.</p><p>The fix is to make "stage reached" and "claim ready" the same event. When the project manager marks the milestone reached, the claim amount is calculated and waiting to be sent. I covered how construction firms set this up in <a href="https://www.gantry.work/p/erp-for-construction-firms-progress">ERP for construction firms: progress claims, retention and margin</a>.</p><h2>SOP Act deadlines when your contract is silent</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!URNN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa90b5fae-a56d-40e5-917c-2722e9761557_1500x567.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!URNN!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa90b5fae-a56d-40e5-917c-2722e9761557_1500x567.png 424w, https://substackcdn.com/image/fetch/$s_!URNN!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa90b5fae-a56d-40e5-917c-2722e9761557_1500x567.png 848w, https://substackcdn.com/image/fetch/$s_!URNN!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa90b5fae-a56d-40e5-917c-2722e9761557_1500x567.png 1272w, https://substackcdn.com/image/fetch/$s_!URNN!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa90b5fae-a56d-40e5-917c-2722e9761557_1500x567.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!URNN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa90b5fae-a56d-40e5-917c-2722e9761557_1500x567.png" width="1500" height="567" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a90b5fae-a56d-40e5-917c-2722e9761557_1500x567.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:567,&quot;width&quot;:1500,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:128011,&quot;alt&quot;:&quot;SOP Act timeline when the contract is silent: payment claim, payment response in 14 days, dispute settlement, adjudication, payment 14 days after tax invoice&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="SOP Act timeline when the contract is silent: payment claim, payment response in 14 days, dispute settlement, adjudication, payment 14 days after tax invoice" title="SOP Act timeline when the contract is silent: payment claim, payment response in 14 days, dispute settlement, adjudication, payment 14 days after tax invoice" srcset="https://substackcdn.com/image/fetch/$s_!URNN!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa90b5fae-a56d-40e5-917c-2722e9761557_1500x567.png 424w, https://substackcdn.com/image/fetch/$s_!URNN!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa90b5fae-a56d-40e5-917c-2722e9761557_1500x567.png 848w, https://substackcdn.com/image/fetch/$s_!URNN!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa90b5fae-a56d-40e5-917c-2722e9761557_1500x567.png 1272w, https://substackcdn.com/image/fetch/$s_!URNN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa90b5fae-a56d-40e5-917c-2722e9761557_1500x567.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>If your contract sets dates, follow the contract, within the limits of the Act. If it doesn't, BCA's quick guide sets out the statutory defaults for construction contracts:</p><ul><li><p><strong>Serving the payment claim:</strong> by the last day of the month, if the contract doesn't specify a date or period.</p></li><li><p><strong>Payment response:</strong> the respondent must issue it within <strong>14 days</strong> of the claim being served. A contract can allow up to <strong>21 days</strong>, not more. The response states the amount they propose to pay and the reasons for withholding anything.</p></li><li><p><strong>Dispute settlement period:</strong> if the response disputes the amount, or no response is issued, there is a dispute settlement period (days 15 to 21 under the default timeline) for the parties to resolve it.</p></li><li><p><strong>Adjudication:</strong> if it is not resolved, the claimant can serve a notice of intention and apply for adjudication within the next 7 days. Applications go to the Singapore Mediation Centre.</p></li><li><p><strong>Payment:</strong> once you accept the response by issuing your tax invoice, payment is due within <strong>14 days</strong> of the tax invoice if the contract is silent, and never more than <strong>35 days</strong> under any contract.</p></li></ul><p>Statutory "days" here exclude public holidays. Adjudication is designed to be fast and cheap: BCA lists an application fee of S$600, and the adjudicator's fee is capped at S$2,400 for claims below S$24,000 and at 10% of the claimed amount above that (both before GST).</p><p>A practical note on GST: under the SOP Act flow, the tax invoice usually follows the payment response, for the agreed amount. IRAS generally expects a tax invoice within 30 days of the time of supply, and payment received also triggers the time of supply, so keep the claim, the response and the tax invoice linked in your records. The free <a href="https://tools.gantry.work/gst-calculator.html">GST calculator</a> is handy for checking claim totals.</p><h2>When should retention money be released?</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!x8sI!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd33a764c-51e0-4616-b5a3-9906a257fe5a_1400x634.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!x8sI!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd33a764c-51e0-4616-b5a3-9906a257fe5a_1400x634.png 424w, https://substackcdn.com/image/fetch/$s_!x8sI!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd33a764c-51e0-4616-b5a3-9906a257fe5a_1400x634.png 848w, https://substackcdn.com/image/fetch/$s_!x8sI!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd33a764c-51e0-4616-b5a3-9906a257fe5a_1400x634.png 1272w, https://substackcdn.com/image/fetch/$s_!x8sI!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd33a764c-51e0-4616-b5a3-9906a257fe5a_1400x634.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!x8sI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd33a764c-51e0-4616-b5a3-9906a257fe5a_1400x634.png" width="1400" height="634" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d33a764c-51e0-4616-b5a3-9906a257fe5a_1400x634.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:634,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:129767,&quot;alt&quot;:&quot;Retention money vs performance bond, and the usual two-stage release of retention&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Retention money vs performance bond, and the usual two-stage release of retention" title="Retention money vs performance bond, and the usual two-stage release of retention" srcset="https://substackcdn.com/image/fetch/$s_!x8sI!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd33a764c-51e0-4616-b5a3-9906a257fe5a_1400x634.png 424w, https://substackcdn.com/image/fetch/$s_!x8sI!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd33a764c-51e0-4616-b5a3-9906a257fe5a_1400x634.png 848w, https://substackcdn.com/image/fetch/$s_!x8sI!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd33a764c-51e0-4616-b5a3-9906a257fe5a_1400x634.png 1272w, https://substackcdn.com/image/fetch/$s_!x8sI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd33a764c-51e0-4616-b5a3-9906a257fe5a_1400x634.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Retention is part of each claim that the employer or main contractor holds back as security against defects. The rate, cap and release terms come from your contract, so read those clauses before you price the job. The common pattern in Singapore contracts is a two-stage release:</p><ul><li><p><strong>The first half</strong> is released when the works are certified complete (the completion or practical completion certificate).</p></li><li><p><strong>The second half</strong> is released at the end of the defects liability period, often 12 months after completion, once defects are rectified and the maintenance or final certificate is issued.</p></li></ul><p>Retention is easy to forget because it sits outside the normal claim cycle for a year or more. Track it per project, with the release dates, and diarise the release claim. On a S$186,000 job at 5%, that is S$9,300 that otherwise stays in someone else's bank account.</p><h2>Retention money vs performance bond</h2><p>They protect the same party in different ways.</p><ul><li><p><strong>Retention money</strong> is cash held back from each claim. It hits the contractor's cash flow every month until it is released.</p></li><li><p><strong>A performance bond</strong> is a guarantee from a bank or insurer, usually a percentage of the contract sum, given at the start of the job. The employer can call on it if the contractor fails to perform. The contractor pays a fee for the bond but keeps its cash.</p></li></ul><p>Some contracts require both. Others allow a bond in place of retention, which is worth asking for if your cash flow is tight.</p><h2>Getting progress claims out on time</h2><p>Three habits make the biggest difference:</p><ol><li><p><strong>Claim on the same date every month,</strong> even when the amount is small. Late claims push every SOP Act date later.</p></li><li><p><strong>Keep variations moving.</strong> Get site instructions confirmed in writing and priced quickly, so approved variations can go on the next claim.</p></li><li><p><strong>Link site progress to billing.</strong> Whether you use a spreadsheet or a system, the person who prepares claims should see stage completion the day it happens, not at month-end.</p></li></ol><p>If chasing slow payers is part of your month too, the <a href="https://www.gantry.work/p/payment-reminder-email-templates">payment reminder templates</a> cover the polite, firm and final versions.</p><p>How long does it take your team today to raise a claim after a stage is done on site?</p><p><em>This article is general information, not legal advice. Check your contract and the current SOP Act and Regulations, and get advice on any dispute. The worked example uses a fictional company and assumed retention terms.</em></p><p><em>I'm Sayed. I help business owners automate their operations and set up the systems behind them: ERP, accounting, inventory, CRM and workflows. I write The Gantry about what actually works.</em></p>]]></content:encoded></item><item><title><![CDATA[Job Costing Software for Small Business and Contractors: Can Xero Do It, and When You Need More]]></title><description><![CDATA[What job costing software actually has to do, what Xero and QuickBooks can handle, and the point where a contractor needs a proper job-costing system. With a worked example from a 3-project M&E contractor.]]></description><link>https://www.gantry.work/p/job-costing-software-small-business-contractors</link><guid isPermaLink="false">https://www.gantry.work/p/job-costing-software-small-business-contractors</guid><dc:creator><![CDATA[Sayed Rashid]]></dc:creator><pubDate>Thu, 22 Oct 2026 03:09:21 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/ffea36e0-6802-46c0-af48-9e7c64efa5f7_1456x816.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><strong>The best job costing software for a small business or contractor is the one that does four things without extra typing: puts every cost on a job, records labour hours against the job, compares budget to actual while the job is still running, and bills the customer from the same job.</strong> Xero and QuickBooks can do a basic version of this with tracking categories or their Projects features. Once you run more than a handful of jobs at once, draw materials from stock, or bill in progress claims, you need software that was built for job costing.</p><p>This guide explains what to look for, what each type of tool handles well, and the point where each one breaks. I'll use a fictional M&amp;E contractor I set up in a demo system to show real screens and real numbers.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!k31t!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4106b016-d34d-4619-ae12-68eb00109085_1400x784.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!k31t!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4106b016-d34d-4619-ae12-68eb00109085_1400x784.png 424w, https://substackcdn.com/image/fetch/$s_!k31t!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4106b016-d34d-4619-ae12-68eb00109085_1400x784.png 848w, https://substackcdn.com/image/fetch/$s_!k31t!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4106b016-d34d-4619-ae12-68eb00109085_1400x784.png 1272w, https://substackcdn.com/image/fetch/$s_!k31t!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4106b016-d34d-4619-ae12-68eb00109085_1400x784.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!k31t!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4106b016-d34d-4619-ae12-68eb00109085_1400x784.png" width="1400" height="784" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4106b016-d34d-4619-ae12-68eb00109085_1400x784.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:784,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:139099,&quot;alt&quot;:&quot;The four things job costing software has to do: tag costs, capture hours, compare budget to actual while the job runs, and bill from the job&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="The four things job costing software has to do: tag costs, capture hours, compare budget to actual while the job runs, and bill from the job" title="The four things job costing software has to do: tag costs, capture hours, compare budget to actual while the job runs, and bill from the job" srcset="https://substackcdn.com/image/fetch/$s_!k31t!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4106b016-d34d-4619-ae12-68eb00109085_1400x784.png 424w, https://substackcdn.com/image/fetch/$s_!k31t!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4106b016-d34d-4619-ae12-68eb00109085_1400x784.png 848w, https://substackcdn.com/image/fetch/$s_!k31t!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4106b016-d34d-4619-ae12-68eb00109085_1400x784.png 1272w, https://substackcdn.com/image/fetch/$s_!k31t!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4106b016-d34d-4619-ae12-68eb00109085_1400x784.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>What job costing software actually has to do</h2><p>Job costing means knowing what each job really cost you, not just what the company spent this month. Your P&amp;L tells you whether the business made money. Job costing tells you <strong>which jobs</strong> made money, and which ones quietly ate the profit from the others.</p><p>To do that, software has to handle four things:</p><ol><li><p><strong>Every cost lands on a job.</strong> Supplier bills, materials issued from your store, subcontractors, equipment hire, even petrol and parking if they are material. If a cost is not tagged at the moment it is recorded, someone has to allocate it later, and later usually means never.</p></li><li><p><strong>Labour hours are recorded against the job.</strong> For most contractors and service firms, labour is the biggest cost and the most invisible one. A timesheet that only feeds payroll tells you nothing about which job used the hours.</p></li><li><p><strong>Budget vs actual, while the job is running.</strong> Finding out at handover that a job lost money is too late. You want to see "45% of the budget spent, 40% of the work done" in week six, when you can still do something about it.</p></li><li><p><strong>Billing comes from the job.</strong> Progress claims, milestones and variations should be raised from the same job record, so the system can show cost to date against billed to date.</p></li></ol><p>If a tool does the first two but not the last two, you have cost tracking, not job costing.</p><h2>Can you do job costing in Xero?</h2><p>Yes, up to a point. There are two ways.</p><p><strong>Tracking categories.</strong> Xero lets you run up to two active tracking categories, each with up to 100 active options. Many small contractors make one category "Job" and add each job as an option. Every bill and invoice line gets tagged, and you can run a P&amp;L filtered by job. It is free and it works for a few jobs a month.</p><p>Where it breaks:</p><ul><li><p>Labour is not in it. Payroll costs land as one lump unless someone splits them by job every month.</p></li><li><p>There is no budget per job. You can see what a job cost, but not whether that is over or under what you planned.</p></li><li><p>The 100-option limit means you have to archive old jobs to make room.</p></li><li><p>Materials bought in bulk and used across several jobs are hard to split fairly.</p></li></ul><p><strong>Xero Projects</strong> (available on some Xero plans, so check yours) adds time and cost tracking per project, with estimates and a profitability view. It is a real step up for service businesses that sell time. For contractors who buy materials, hold stock, and bill in stages, it is still thin: no stock, no purchase-order-to-job link, no progress-claim schedule.</p><p>QuickBooks Online has a similar Projects feature on its higher plans, with similar strengths and limits. If you are weighing the two, I compared them for Singapore firms in <a href="https://www.gantry.work/p/odoo-vs-xero-singapore">Odoo vs Xero in Singapore</a>.</p><h2>Job costing software options, compared</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!kYCE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec6cd846-65d1-406b-a4e2-faa38afc53b4_1400x851.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!kYCE!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec6cd846-65d1-406b-a4e2-faa38afc53b4_1400x851.png 424w, https://substackcdn.com/image/fetch/$s_!kYCE!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec6cd846-65d1-406b-a4e2-faa38afc53b4_1400x851.png 848w, https://substackcdn.com/image/fetch/$s_!kYCE!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec6cd846-65d1-406b-a4e2-faa38afc53b4_1400x851.png 1272w, https://substackcdn.com/image/fetch/$s_!kYCE!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec6cd846-65d1-406b-a4e2-faa38afc53b4_1400x851.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!kYCE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec6cd846-65d1-406b-a4e2-faa38afc53b4_1400x851.png" width="1400" height="851" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ec6cd846-65d1-406b-a4e2-faa38afc53b4_1400x851.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:851,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:151527,&quot;alt&quot;:&quot;Job costing options compared, from spreadsheets and Xero tracking categories to trade apps and ERP project modules&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Job costing options compared, from spreadsheets and Xero tracking categories to trade apps and ERP project modules" title="Job costing options compared, from spreadsheets and Xero tracking categories to trade apps and ERP project modules" srcset="https://substackcdn.com/image/fetch/$s_!kYCE!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec6cd846-65d1-406b-a4e2-faa38afc53b4_1400x851.png 424w, https://substackcdn.com/image/fetch/$s_!kYCE!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec6cd846-65d1-406b-a4e2-faa38afc53b4_1400x851.png 848w, https://substackcdn.com/image/fetch/$s_!kYCE!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec6cd846-65d1-406b-a4e2-faa38afc53b4_1400x851.png 1272w, https://substackcdn.com/image/fetch/$s_!kYCE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec6cd846-65d1-406b-a4e2-faa38afc53b4_1400x851.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Broadly, there are five levels:</p><ul><li><p><strong>Spreadsheet per job.</strong> Fine for one-off jobs. It falls apart as soon as two people update it, and it is always a week behind the accounts.</p></li><li><p><strong>Accounting software with tracking.</strong> Xero or QuickBooks with a "Job" category. Good for a handful of jobs and mostly subcontracted work.</p></li><li><p><strong>Accounting software with a Projects feature.</strong> Adds time and estimates. Good for consultancies, agencies and small service teams.</p></li><li><p><strong>A trade or construction job app</strong> that syncs to your accounting software. Tools like ServiceM8, Fergus or simPRO (for trades) and Buildertrend or Procore (for construction) do quoting, scheduling, timesheets and job costs, then push invoices to Xero. Many were built for Australia, New Zealand or the US, so check local tax, progress-claim and InvoiceNow support before you commit.</p></li><li><p><strong>An ERP with project, purchasing, inventory and accounting in one database</strong>, such as Odoo, Microsoft Dynamics 365 Business Central or SAP Business One. Every purchase order, stock issue, timesheet and invoice already belongs to a project, so job costing is a report rather than a monthly exercise.</p></li></ul><p>The honest trade-off: the more integrated the tool, the more setup it needs. A job app plus Xero can be live in a few weeks. An ERP takes longer, but it removes the sync between two systems, which is where most job-costing errors come from.</p><h2>What it looks like when it works</h2><p>Here is a fictional M&amp;E contractor with three live jobs, set up in a demo system: a clinic ACMV and electrical fit-out, a kopitiam kitchen exhaust, and an office LED retrofit. Each job has a cost budget. Every supplier bill and every timesheet hour is tagged to the job when it is entered.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!1Z6p!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91805131-153e-4d64-b3f4-d061e1dcc491_1060x540.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!1Z6p!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91805131-153e-4d64-b3f4-d061e1dcc491_1060x540.png 424w, https://substackcdn.com/image/fetch/$s_!1Z6p!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91805131-153e-4d64-b3f4-d061e1dcc491_1060x540.png 848w, https://substackcdn.com/image/fetch/$s_!1Z6p!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91805131-153e-4d64-b3f4-d061e1dcc491_1060x540.png 1272w, https://substackcdn.com/image/fetch/$s_!1Z6p!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91805131-153e-4d64-b3f4-d061e1dcc491_1060x540.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!1Z6p!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91805131-153e-4d64-b3f4-d061e1dcc491_1060x540.png" width="1060" height="540" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/91805131-153e-4d64-b3f4-d061e1dcc491_1060x540.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:540,&quot;width&quot;:1060,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:83730,&quot;alt&quot;:&quot;Real screen: project cost budgets for three jobs, showing budget, committed and achieved cost per project&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Real screen: project cost budgets for three jobs, showing budget, committed and achieved cost per project" title="Real screen: project cost budgets for three jobs, showing budget, committed and achieved cost per project" srcset="https://substackcdn.com/image/fetch/$s_!1Z6p!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91805131-153e-4d64-b3f4-d061e1dcc491_1060x540.png 424w, https://substackcdn.com/image/fetch/$s_!1Z6p!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91805131-153e-4d64-b3f4-d061e1dcc491_1060x540.png 848w, https://substackcdn.com/image/fetch/$s_!1Z6p!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91805131-153e-4d64-b3f4-d061e1dcc491_1060x540.png 1272w, https://substackcdn.com/image/fetch/$s_!1Z6p!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F91805131-153e-4d64-b3f4-d061e1dcc491_1060x540.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The budget screen shows the clinic job with a S$140,000 cost budget and S$62,906.40 of cost already committed. That number is not typed in by anyone. It is the sum of three supplier bills (aircon units, cables and boards, copper piping, S$54,400 in total) and 260 technician hours at each person's hourly cost (S$8,506.40).</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Fi48!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3dc787a1-aa9b-473c-9795-e2f5d6c83501_1400x866.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Fi48!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3dc787a1-aa9b-473c-9795-e2f5d6c83501_1400x866.png 424w, https://substackcdn.com/image/fetch/$s_!Fi48!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3dc787a1-aa9b-473c-9795-e2f5d6c83501_1400x866.png 848w, https://substackcdn.com/image/fetch/$s_!Fi48!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3dc787a1-aa9b-473c-9795-e2f5d6c83501_1400x866.png 1272w, https://substackcdn.com/image/fetch/$s_!Fi48!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3dc787a1-aa9b-473c-9795-e2f5d6c83501_1400x866.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!Fi48!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3dc787a1-aa9b-473c-9795-e2f5d6c83501_1400x866.png" width="1400" height="866" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3dc787a1-aa9b-473c-9795-e2f5d6c83501_1400x866.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:866,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:128796,&quot;alt&quot;:&quot;Worked example: a S$186,000 clinic fit-out where 45% of the cost budget is spent at 40% complete&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Worked example: a S$186,000 clinic fit-out where 45% of the cost budget is spent at 40% complete" title="Worked example: a S$186,000 clinic fit-out where 45% of the cost budget is spent at 40% complete" srcset="https://substackcdn.com/image/fetch/$s_!Fi48!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3dc787a1-aa9b-473c-9795-e2f5d6c83501_1400x866.png 424w, https://substackcdn.com/image/fetch/$s_!Fi48!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3dc787a1-aa9b-473c-9795-e2f5d6c83501_1400x866.png 848w, https://substackcdn.com/image/fetch/$s_!Fi48!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3dc787a1-aa9b-473c-9795-e2f5d6c83501_1400x866.png 1272w, https://substackcdn.com/image/fetch/$s_!Fi48!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3dc787a1-aa9b-473c-9795-e2f5d6c83501_1400x866.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Now put that next to progress. The first fix is done, so the job is 40% complete. But 45% of the cost budget is gone. That 5-point gap is the early warning you want: on a S$140,000 budget it projects to roughly S$17,000 of overrun if nothing changes. In week six you can still check whether it is a timing issue (materials bought ahead of use) or a real overrun (more labour than planned). At handover you can only write it off.</p><p>The other half of the picture is billing. The contract is S$186,000 and only the 10% mobilisation claim has been invoiced, so S$55,800 of completed work is sitting unbilled while wages and suppliers are paid. I wrote about that gap in <a href="https://www.gantry.work/p/erp-for-construction-firms-progress">Progress claims and retention in construction ERP</a>.</p><h2>Labour: the cost most small firms cannot see</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!4DGX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a82ef1d-a09b-4704-97fb-5cc01d3fcf48_1000x330.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!4DGX!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a82ef1d-a09b-4704-97fb-5cc01d3fcf48_1000x330.png 424w, https://substackcdn.com/image/fetch/$s_!4DGX!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a82ef1d-a09b-4704-97fb-5cc01d3fcf48_1000x330.png 848w, https://substackcdn.com/image/fetch/$s_!4DGX!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a82ef1d-a09b-4704-97fb-5cc01d3fcf48_1000x330.png 1272w, https://substackcdn.com/image/fetch/$s_!4DGX!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a82ef1d-a09b-4704-97fb-5cc01d3fcf48_1000x330.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!4DGX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a82ef1d-a09b-4704-97fb-5cc01d3fcf48_1000x330.png" width="1000" height="330" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4a82ef1d-a09b-4704-97fb-5cc01d3fcf48_1000x330.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:330,&quot;width&quot;:1000,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:50556,&quot;alt&quot;:&quot;Real screen: timesheet hours grouped by project for a small M&amp;E contractor&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Real screen: timesheet hours grouped by project for a small M&amp;E contractor" title="Real screen: timesheet hours grouped by project for a small M&amp;E contractor" srcset="https://substackcdn.com/image/fetch/$s_!4DGX!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a82ef1d-a09b-4704-97fb-5cc01d3fcf48_1000x330.png 424w, https://substackcdn.com/image/fetch/$s_!4DGX!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a82ef1d-a09b-4704-97fb-5cc01d3fcf48_1000x330.png 848w, https://substackcdn.com/image/fetch/$s_!4DGX!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a82ef1d-a09b-4704-97fb-5cc01d3fcf48_1000x330.png 1272w, https://substackcdn.com/image/fetch/$s_!4DGX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a82ef1d-a09b-4704-97fb-5cc01d3fcf48_1000x330.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Hours by project is the screen most owners have never seen for their own business. In the demo, the clinic job has used 260 hours, the office retrofit 69 and the kitchen exhaust 48. If your quotes assume 200 hours for a job like the clinic, this is where you find out.</p><p>The same thing happens in a workshop. In a fictional stainless-steel fabricator, a job of four work tables planned welding at 60 minutes a table. The team clocked time against each operation:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!A6zd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4dfdbeae-5e16-40aa-a710-9cbe112bc1f2_1100x700.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!A6zd!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4dfdbeae-5e16-40aa-a710-9cbe112bc1f2_1100x700.png 424w, https://substackcdn.com/image/fetch/$s_!A6zd!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4dfdbeae-5e16-40aa-a710-9cbe112bc1f2_1100x700.png 848w, https://substackcdn.com/image/fetch/$s_!A6zd!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4dfdbeae-5e16-40aa-a710-9cbe112bc1f2_1100x700.png 1272w, https://substackcdn.com/image/fetch/$s_!A6zd!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4dfdbeae-5e16-40aa-a710-9cbe112bc1f2_1100x700.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!A6zd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4dfdbeae-5e16-40aa-a710-9cbe112bc1f2_1100x700.png" width="1100" height="700" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4dfdbeae-5e16-40aa-a710-9cbe112bc1f2_1100x700.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:700,&quot;width&quot;:1100,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:116499,&quot;alt&quot;:&quot;Real screen: a job's work orders with expected and real durations; welding planned at 4 hours took 6 hours 20 minutes&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Real screen: a job's work orders with expected and real durations; welding planned at 4 hours took 6 hours 20 minutes" title="Real screen: a job's work orders with expected and real durations; welding planned at 4 hours took 6 hours 20 minutes" srcset="https://substackcdn.com/image/fetch/$s_!A6zd!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4dfdbeae-5e16-40aa-a710-9cbe112bc1f2_1100x700.png 424w, https://substackcdn.com/image/fetch/$s_!A6zd!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4dfdbeae-5e16-40aa-a710-9cbe112bc1f2_1100x700.png 848w, https://substackcdn.com/image/fetch/$s_!A6zd!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4dfdbeae-5e16-40aa-a710-9cbe112bc1f2_1100x700.png 1272w, https://substackcdn.com/image/fetch/$s_!A6zd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4dfdbeae-5e16-40aa-a710-9cbe112bc1f2_1100x700.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Welding took 6 hours 20 minutes against 4 hours planned. At the welding bay's S$70 an hour, that is about S$163 of labour nobody quoted for, on one job, in one operation. Without time recorded against the job and operation, that difference disappears into the monthly wage bill. If you need a quick way to total hours first, the free <a href="https://tools.gantry.work/timesheet-calculator.html">timesheet calculator</a> does the arithmetic.</p><h2>Job costing vs project accounting</h2><p>You will see both terms when you shop for software.</p><ul><li><p><strong>Job costing</strong> answers: what did this job cost, and did it make money? It is about collecting costs (materials, labour, overheads) against a job and comparing them to the quote.</p></li><li><p><strong>Project accounting</strong> is wider. It adds revenue recognition, billing schedules, work in progress, retention and the balance-sheet side of long jobs.</p></li></ul><p>A small trade business usually needs job costing. A contractor with jobs longer than a month, progress claims and retention needs project accounting too, because the gap between cost incurred and amount billed is real money on the balance sheet.</p><h2>How to choose job costing software</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!N65K!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F317e37ea-b282-4acc-b07a-1e50921d489b_1400x755.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!N65K!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F317e37ea-b282-4acc-b07a-1e50921d489b_1400x755.png 424w, https://substackcdn.com/image/fetch/$s_!N65K!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F317e37ea-b282-4acc-b07a-1e50921d489b_1400x755.png 848w, https://substackcdn.com/image/fetch/$s_!N65K!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F317e37ea-b282-4acc-b07a-1e50921d489b_1400x755.png 1272w, https://substackcdn.com/image/fetch/$s_!N65K!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F317e37ea-b282-4acc-b07a-1e50921d489b_1400x755.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!N65K!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F317e37ea-b282-4acc-b07a-1e50921d489b_1400x755.png" width="1400" height="755" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/317e37ea-b282-4acc-b07a-1e50921d489b_1400x755.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:755,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:152223,&quot;alt&quot;:&quot;Six questions to choose job costing software for a small business or contractor&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Six questions to choose job costing software for a small business or contractor" title="Six questions to choose job costing software for a small business or contractor" srcset="https://substackcdn.com/image/fetch/$s_!N65K!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F317e37ea-b282-4acc-b07a-1e50921d489b_1400x755.png 424w, https://substackcdn.com/image/fetch/$s_!N65K!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F317e37ea-b282-4acc-b07a-1e50921d489b_1400x755.png 848w, https://substackcdn.com/image/fetch/$s_!N65K!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F317e37ea-b282-4acc-b07a-1e50921d489b_1400x755.png 1272w, https://substackcdn.com/image/fetch/$s_!N65K!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F317e37ea-b282-4acc-b07a-1e50921d489b_1400x755.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Six questions sort most firms in one meeting:</p><ol><li><p><strong>How many jobs are open at once?</strong> Under five, accounting software with tracking can cope. Over twenty, you need a job system.</p></li><li><p><strong>How is labour recorded today?</strong> If hours are on paper or WhatsApp, the software must have a phone timesheet your team will actually use.</p></li><li><p><strong>Do materials come from stock?</strong> If you hold stock and issue it to jobs, you need inventory in the same system or the job cost will always be wrong.</p></li><li><p><strong>How do you bill?</strong> One invoice at the end is easy. Progress claims, milestones, retention and variations need a billing schedule per job.</p></li><li><p><strong>Who needs to see the numbers?</strong> Project managers need budget vs actual on their phones, not in a month-end report.</p></li><li><p><strong>What does it connect to?</strong> If the job tool and the accounting software are separate, ask what syncs, how often, and who fixes it when it fails.</p></li></ol><p>If you answer "more than twenty jobs", "materials from stock" and "progress claims", you have outgrown accounting software plus spreadsheets. That is usually the point where an integrated system pays for itself, and in Singapore the <a href="https://www.gantry.work/p/edge-grant-erp-singapore-what-changed">EDGE grant</a> can cover up to 50% of qualifying costs for eligible SMEs.</p><h2>The bottom line</h2><p>Start with the question, not the software: do you know, this week, which of your open jobs is losing money? If the answer is "not until the accountant closes the month", the tool you choose has to fix that first: costs and hours tagged to the job when they happen, and a budget to compare them with.</p><p>If you want a second opinion on where your job costs leak, I run a free <a href="https://tools.gantry.work/review.html">20-minute systems review</a>. No pitch, just the gaps and what I would fix first.</p><p>Which part of your job costing is still done by hand: materials, labour, or billing?</p><p><em>Screens and figures come from a demo system set up with fictional companies; the logic is the same in a real business. Check current plans and features with each vendor before you buy.</em></p><p><em>I'm Sayed. I help business owners automate their operations and set up the systems behind them: ERP, accounting, inventory, CRM and workflows. I write The Gantry about what actually works.</em></p>]]></content:encoded></item><item><title><![CDATA[S$45m to help factories use AI. Here's what to fix before you apply.]]></title><description><![CDATA[Enterprise Singapore's new Catalytic AI Solutions initiative will co-fund ready-made AI tools for manufacturing SMEs. The tools are the easy part.]]></description><link>https://www.gantry.work/p/catalytic-ai-solutions-singapore-manufacturing-sme</link><guid isPermaLink="false">https://www.gantry.work/p/catalytic-ai-solutions-singapore-manufacturing-sme</guid><dc:creator><![CDATA[Sayed Rashid]]></dc:creator><pubDate>Thu, 22 Oct 2026 01:39:36 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/7639a1c5-064f-453e-b689-036a8dc3f5e6_1456x816.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>On 21 October, Minister of State for Energy, Trade and Industry Gan Siow Huang announced that more than S$45 million will be set aside over the next three years to help small and medium-sized manufacturers adopt AI. The money sits under Enterprise Singapore's new <strong>Catalytic AI Solutions</strong> initiative, part of the national AI strategy and the advanced manufacturing AI mission announced at Budget 2026.</p><p>"We want AI to be accessible not just to large manufacturers, but also to our SMEs," she said at the Industrial Transformation Asia-Pacific (ITAP) event.</p><p>If you run a factory or workshop with 10 to 200 people, this is worth paying attention to. But not for the reason most people think.</p><h2>What was announced</h2><ul><li><p><strong>More than S$45 million over three years</strong>, aimed at SMEs in advanced manufacturing.</p></li><li><p><strong>Ready-to-deploy AI solutions, not custom builds.</strong> Enterprise Singapore will work with trade associations, chambers and qualified vendors to offer a suite of tools, including solutions developed by the AI Centre of Excellence for Manufacturing.</p></li><li><p><strong>Co-funding for eligible SMEs.</strong> Enterprise Singapore will co-fund adoption for companies that qualify.</p></li><li><p><strong>Logistics and wholesale trade are next.</strong> Similar initiatives are being developed for those sectors, with details to come.</p></li></ul><h2>What we don't know yet</h2><p>The co-funding percentage, the eligibility rules and the application process haven't been published. Enterprise Singapore said some firms have already confirmed their interest, so the vendor line-up is forming now.</p><p>If you're interested, watch Enterprise Singapore's announcements and your trade association. The Singapore Manufacturing Federation co-organised ITAP, where this was announced. And don't sign anything with a vendor until the rules are out: with most Singapore grants, committing before you apply makes the cost ineligible.</p><h2>The five areas, in plain English</h2><ol><li><p><strong>Product and component design.</strong> AI that suggests or checks designs faster. It needs your existing drawings, specs and the bills of materials behind them.</p></li><li><p><strong>Requests for quotation.</strong> Tools that read incoming RFQ documents and draft a quote. They need your past quotes, your bills of materials and your real cost per job. Without those, the tool can only read the email faster.</p></li><li><p><strong>Machine processes and quality inspection.</strong> Cameras or sensor data that spot defects or drift. They need defect and rework records, with reasons, and your process settings.</p></li><li><p><strong>Energy monitoring.</strong> Real-time energy use per machine or line. It needs metering, and production records to compare against.</p></li><li><p><strong>Production scheduling and predictive maintenance.</strong> Planning jobs around real capacity and flagging machines before they fail. It needs routings with real operation times, work-centre capacity and machine maintenance history.</p></li></ol><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!h-qx!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F918b5441-5c2a-4572-89e1-63323fdc16a6_1400x980.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!h-qx!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F918b5441-5c2a-4572-89e1-63323fdc16a6_1400x980.png 424w, https://substackcdn.com/image/fetch/$s_!h-qx!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F918b5441-5c2a-4572-89e1-63323fdc16a6_1400x980.png 848w, https://substackcdn.com/image/fetch/$s_!h-qx!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F918b5441-5c2a-4572-89e1-63323fdc16a6_1400x980.png 1272w, https://substackcdn.com/image/fetch/$s_!h-qx!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F918b5441-5c2a-4572-89e1-63323fdc16a6_1400x980.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!h-qx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F918b5441-5c2a-4572-89e1-63323fdc16a6_1400x980.png" width="1400" height="980" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/918b5441-5c2a-4572-89e1-63323fdc16a6_1400x980.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:980,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:172674,&quot;alt&quot;:&quot;The five solution areas in the initiative and the records each one needs&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="The five solution areas in the initiative and the records each one needs" title="The five solution areas in the initiative and the records each one needs" srcset="https://substackcdn.com/image/fetch/$s_!h-qx!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F918b5441-5c2a-4572-89e1-63323fdc16a6_1400x980.png 424w, https://substackcdn.com/image/fetch/$s_!h-qx!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F918b5441-5c2a-4572-89e1-63323fdc16a6_1400x980.png 848w, https://substackcdn.com/image/fetch/$s_!h-qx!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F918b5441-5c2a-4572-89e1-63323fdc16a6_1400x980.png 1272w, https://substackcdn.com/image/fetch/$s_!h-qx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F918b5441-5c2a-4572-89e1-63323fdc16a6_1400x980.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>The catch: AI runs on records most small factories don't keep</h2><p>Look at that list again. Every tool needs history: what you quoted, what it actually cost, how long each operation really took, what failed and why.</p><p>In most 10 to 100 person workshops I work with, that history lives in three places: a quoting spreadsheet, a whiteboard job board, and the heads of two or three senior people. That's the same pattern behind the <a href="https://www.gantry.work/p/singapore-sme-ai-pilot-stage-data-readiness">SME AI pilot problem</a>: plenty of interest, stuck at pilot stage, because the data isn't ready.</p><p>A quotation tool can only quote accurately if it can see that the last ten work tables actually cost S$520 each to make, not the S$450 someone remembers. A scheduling tool can only plan welding properly if it knows welding takes 95 minutes per table, not the 60 on the original quote.</p><h2>A 30-day readiness checklist</h2><ol><li><p><strong>Put your top 20 products' bills of materials into one system</strong>, with current material costs. If you're not sure what that should look like, start with <a href="https://www.gantry.work/p/bill-of-materials-bom-routing">bills of materials and routings</a>.</p></li><li><p><strong>Add routings</strong>: each operation, the work centre it runs on, and the time it should take.</p></li><li><p><strong>Start recording actual time per job and per operation.</strong> Even two weeks of real data changes the conversation.</p></li><li><p><strong>Log scrap and rework with a reason</strong>, against the job that caused it.</p></li><li><p><strong>Keep every quote, won or lost</strong>, linked to the job it became.</p></li></ol><p>Do those five things and you'll be ready for any of the tools in the initiative. You'll also know your true cost per unit, which is worth having whether or not you ever apply.</p><h2>How this fits with the EDGE grant</h2><p>Catalytic AI Solutions is separate from the EDGE grant, which since 30 September supports up to 50% of qualifying costs for eligible SMEs, within a S$30,000 cap for digital solutions and enterprise systems. Getting your bills of materials, routings and job records into an integrated system is the kind of project EDGE was designed for, and it's the foundation the AI tools sit on.</p><p>Whether the two can be combined hasn't been stated. Assume one cost, one grant, until Enterprise Singapore says otherwise. The <a href="https://www.gantry.work/p/edge-grant-erp-singapore-what-changed">EDGE grant guide</a> and the <a href="https://tools.gantry.work/edge-grant-calculator.html">EDGE grant calculator</a> cover the rules that are already published.</p><h2>The bottom line</h2><p>The S$45 million will make the AI tools cheaper. It won't make your data ready. The factories that benefit first will be the ones whose costs, routings and job times are already recorded somewhere a tool can read.</p><p>Is your factory's data ready for AI, or is it still in spreadsheets?</p><p><em>Sources: The Straits Times and The Business Times, 21 October 2026; TNGlobal, 21 October 2026. Co-funding levels and eligibility will be set by Enterprise Singapore.</em></p><p><em>I'm Sayed. I help business owners automate their operations and set up the systems behind them: ERP, accounting, inventory, CRM and workflows. I write The Gantry about what actually works.</em></p>]]></content:encoded></item><item><title><![CDATA[ERP Implementation Cost in Singapore: Real Numbers From Real Projects]]></title><description><![CDATA[Not a vendor range. The actual line items from small and mid-sized implementations in Singapore, what pushes a project from S$15,000 to S$80,000, the costs nobody quotes, and how grants change the maths.]]></description><link>https://www.gantry.work/p/erp-implementation-cost-singapore-real-numbers</link><guid isPermaLink="false">https://www.gantry.work/p/erp-implementation-cost-singapore-real-numbers</guid><dc:creator><![CDATA[Sayed Rashid]]></dc:creator><pubDate>Tue, 20 Oct 2026 02:00:44 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/d065898f-529e-4de0-a4a3-1c24c17034b7_1200x939.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!hFsw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd065898f-529e-4de0-a4a3-1c24c17034b7_1200x939.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!hFsw!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd065898f-529e-4de0-a4a3-1c24c17034b7_1200x939.png 424w, https://substackcdn.com/image/fetch/$s_!hFsw!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd065898f-529e-4de0-a4a3-1c24c17034b7_1200x939.png 848w, https://substackcdn.com/image/fetch/$s_!hFsw!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd065898f-529e-4de0-a4a3-1c24c17034b7_1200x939.png 1272w, https://substackcdn.com/image/fetch/$s_!hFsw!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd065898f-529e-4de0-a4a3-1c24c17034b7_1200x939.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!hFsw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd065898f-529e-4de0-a4a3-1c24c17034b7_1200x939.png" width="1200" height="939" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d065898f-529e-4de0-a4a3-1c24c17034b7_1200x939.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:939,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:147538,&quot;alt&quot;:&quot;Infographic: ERP implementation cost in Singapore by company size&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Infographic: ERP implementation cost in Singapore by company size" title="Infographic: ERP implementation cost in Singapore by company size" srcset="https://substackcdn.com/image/fetch/$s_!hFsw!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd065898f-529e-4de0-a4a3-1c24c17034b7_1200x939.png 424w, https://substackcdn.com/image/fetch/$s_!hFsw!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd065898f-529e-4de0-a4a3-1c24c17034b7_1200x939.png 848w, https://substackcdn.com/image/fetch/$s_!hFsw!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd065898f-529e-4de0-a4a3-1c24c17034b7_1200x939.png 1272w, https://substackcdn.com/image/fetch/$s_!hFsw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd065898f-529e-4de0-a4a3-1c24c17034b7_1200x939.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Ask three vendors what an ERP costs and you will get a pricing page, a "depends on scope", and a number that was designed to get a second meeting. None of those is what you need, which is a sense of what companies like yours actually spent, and why. This post is that. The figures are 2026 Singapore ranges from projects I have scoped, run, or been called in to fix, for companies of 5 to 100 people.</p><h2>The whole picture in 50 seconds</h2><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;64a7ab8b-7788-44d8-b8fa-e8b3f8afb377&quot;,&quot;duration&quot;:null}"></div><p>The short version: licences are the small line, implementation is the big one, and your own team&#8217;s time is the line nobody quotes. The detail, and the ranges, are below.</p><h2>The two numbers, and which one matters</h2><p>Every ERP budget has a licence line and an implementation line. Owners fixate on the first because it is on the website. The second is the one that decides the project.</p><p><strong>Licences</strong> in the small-business tier are per user per month, with every module included. In 2026 the common list prices are roughly US$15 to US$40 per user per month on the vendor's cloud, higher for the mid-market suites. Only people who create records need a licence; portal users, customers and suppliers do not. A 20-person firm where 8 people raise quotes, orders and bills pays for 8.</p><p><strong>Implementation</strong> is the work of configuring the system to your flows, cleaning and migrating your data, testing, training your team, and supporting the first weeks. In Singapore it is usually quoted as a fixed price for a defined scope, sometimes as day rates of S$800 to S$1,800 depending on the partner's size and the consultant's seniority.</p><p>For a small firm, implementation is typically one to three times the annual licence. That ratio is the number to remember.</p><h2>Ranges by company size and scope</h2><p><strong>5 to 10 people, two or three modules, clean data.</strong> Sales, invoicing and accounting, or projects and accounting. Licences S$2,000 to S$4,000 a year. Implementation S$6,000 to S$12,000. Year one S$8,000 to S$16,000.</p><p><strong>10 to 30 people, four modules, some data cleaning.</strong> Sales, purchasing, inventory and accounting, migrated from an accounting package and spreadsheets. Licences S$3,000 to S$8,000 a year. Implementation S$12,000 to S$30,000. Year one S$15,000 to S$40,000. This is the most common project I see and I detailed a worked example in <a href="https://www.gantry.work/p/what-odoo-actually-costs-in-2026">what Odoo actually costs</a>.</p><p><strong>30 to 100 people, five to eight modules, manufacturing or multi-entity.</strong> Add manufacturing, projects, POS or a second company. Licences S$8,000 to S$25,000 a year. Implementation S$30,000 to S$80,000. Year one S$40,000 to S$110,000. Above this you are in mid-market territory, where the suites price differently and implementations run to six figures.</p><p>Year two, in every band, drops to licences plus a support arrangement of S$3,000 to S$12,000, and the "month-two list" of small improvements.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!il9C!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ff052fa-8894-4f11-94ae-4e76c75d2f4b_2560x1440.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!il9C!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ff052fa-8894-4f11-94ae-4e76c75d2f4b_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!il9C!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ff052fa-8894-4f11-94ae-4e76c75d2f4b_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!il9C!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ff052fa-8894-4f11-94ae-4e76c75d2f4b_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!il9C!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ff052fa-8894-4f11-94ae-4e76c75d2f4b_2560x1440.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!il9C!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ff052fa-8894-4f11-94ae-4e76c75d2f4b_2560x1440.png" width="2560" height="1440" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8ff052fa-8894-4f11-94ae-4e76c75d2f4b_2560x1440.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1440,&quot;width&quot;:2560,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:130778,&quot;alt&quot;:&quot;Bar chart of year-one ERP cost in Singapore by company size: 5&#8211;10 people S$8k&#8211;16k, 10&#8211;30 people S$15k&#8211;40k, 30&#8211;100 people S$40k&#8211;110k&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Bar chart of year-one ERP cost in Singapore by company size: 5&#8211;10 people S$8k&#8211;16k, 10&#8211;30 people S$15k&#8211;40k, 30&#8211;100 people S$40k&#8211;110k" title="Bar chart of year-one ERP cost in Singapore by company size: 5&#8211;10 people S$8k&#8211;16k, 10&#8211;30 people S$15k&#8211;40k, 30&#8211;100 people S$40k&#8211;110k" srcset="https://substackcdn.com/image/fetch/$s_!il9C!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ff052fa-8894-4f11-94ae-4e76c75d2f4b_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!il9C!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ff052fa-8894-4f11-94ae-4e76c75d2f4b_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!il9C!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ff052fa-8894-4f11-94ae-4e76c75d2f4b_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!il9C!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ff052fa-8894-4f11-94ae-4e76c75d2f4b_2560x1440.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Year-one ranges by company size, from our own Singapore projects in 2026, before grants.</figcaption></figure></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.gantry.work/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">One practical automation each week: a free tool, a tested setup and what it really costs. Free, no spam.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2>The five factors that move the number</h2><ol><li><p><strong>How many flows go live at once.</strong> Each module multiplies configuration, testing and training. Four modules is not twice the work of two; it is closer to three times, because the flows interact.</p></li><li><p><strong>The state of your data.</strong> A clean customer list migrates in an afternoon. Five years of duplicated contacts, inconsistent product codes and three spreadsheets of stock is often the single largest line, and most of it is your team's time, not the vendor's. The <a href="https://www.gantry.work/p/erp-data-migration-checklist-best-practices">migration checklist</a> shows why.</p></li><li><p><strong>How standard your processes are.</strong> Every "we have always done it this way" that becomes custom development costs money now and again at every upgrade. Firms that adapt to the standard flow for sixty days before customising spend a third less.</p></li><li><p><strong>Integrations.</strong> A webshop, a courier, a bank feed, InvoiceNow, a marketplace. Each standard connector is a few hours; each custom one is days, plus maintenance when the other side changes.</p></li><li><p><strong>Who does the change management.</strong> If your team needs to be trained module by module and hand-held through month one, budget for it. It is the best money in the project. Untrained users are how implementations fail, and a failed implementation costs the whole budget again.</p></li></ol><h2>The line items nobody quotes</h2><ul><li><p><strong>Internal time.</strong> Your operations lead in every design session for eight weeks, your accountant signing off the chart of accounts, your warehouse doing a full count. Two to four person-weeks for a small firm. Unpaid in the quote, real in the business.</p></li><li><p><strong>Hardware.</strong> Barcode scanners, a POS terminal, a label printer. S$500 to S$5,000.</p></li><li><p><strong>Running the old system too long.</strong> Every month of parallel running costs the old subscription and doubles data entry. Set a kill date; the reasons are in <a href="https://www.gantry.work/p/erp-parallel-run-go-live-checklist">the parallel run post</a>.</p></li><li><p><strong>The month-two list.</strong> After go-live, users produce a list of "can we just" requests. Good ones are worth doing. Budget S$1,500 to S$6,000 for the year.</p></li><li><p><strong>Upgrades on custom code.</strong> If your partner writes custom modules, every annual version upgrade means porting them. A firm with a lot of customisation can spend S$5,000 to S$15,000 a year here. Standard configuration costs nothing to upgrade. I set this out in <a href="https://www.gantry.work/p/odoo-upgrade-customisation-cost">the Odoo upgrade nobody budgets for</a>.</p></li></ul><h2>How grants change the maths</h2><p>Singapore has funded a share of qualifying ERP and productivity projects for years, and the scheme is being restructured in the second half of 2026 into a single grant covering productivity, transformation and market expansion. The practical points for a budget: the funded share applies to qualifying costs of listed solutions and services, there is an annual cap per company, and the application is made before you sign. Ask any vendor whether their package and their implementation service are on the current supported list, and check the live terms on the government grants portal rather than a vendor's slide, because the details changed this year. I keep a separate, current post on <a href="https://www.gantry.work/p/edge-grant-erp-singapore-what-changed">funding an ERP under the new grant</a>.</p><h2>A worked example</h2><p>A 15-person Singapore trading company, 6 licensed users, Sales, Purchasing, Inventory and Accounting, migrating from Xero and spreadsheets, one webshop connector, no custom code:</p><ul><li><p>Licences, 6 users, annual: about S$2,000</p></li><li><p>Implementation, configuration and testing: S$14,000</p></li><li><p>Data cleaning and migration: S$3,000 vendor time, plus two weeks of the ops lead</p></li><li><p>Training and go-live support: S$3,500</p></li><li><p>Scanners and label printer: S$1,200</p></li><li><p>Month-two improvements: S$2,500</p></li></ul><p>Year one about S$26,000 before any grant. Year two about S$6,000. Against that, the firm was paying S$5,000 a year for Xero plus an inventory app, and its ops lead spent roughly a day a week retyping between them, which is S$12,000 to S$15,000 of salary a year on work the system now does. The payback is inside eighteen months on the retyping alone, before counting stock errors and late invoices.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!eZIo!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0587a6b1-6704-4cb6-bf29-5c0e139c409a_2560x1440.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!eZIo!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0587a6b1-6704-4cb6-bf29-5c0e139c409a_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!eZIo!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0587a6b1-6704-4cb6-bf29-5c0e139c409a_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!eZIo!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0587a6b1-6704-4cb6-bf29-5c0e139c409a_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!eZIo!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0587a6b1-6704-4cb6-bf29-5c0e139c409a_2560x1440.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!eZIo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0587a6b1-6704-4cb6-bf29-5c0e139c409a_2560x1440.png" width="2560" height="1440" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0587a6b1-6704-4cb6-bf29-5c0e139c409a_2560x1440.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1440,&quot;width&quot;:2560,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:184227,&quot;alt&quot;:&quot;Worked example: licences S$2,000, configuration S$14,000, migration S$3,000, training S$3,500, hardware S$1,200, month-two S$2,500, year one S$26,200&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Worked example: licences S$2,000, configuration S$14,000, migration S$3,000, training S$3,500, hardware S$1,200, month-two S$2,500, year one S$26,200" title="Worked example: licences S$2,000, configuration S$14,000, migration S$3,000, training S$3,500, hardware S$1,200, month-two S$2,500, year one S$26,200" srcset="https://substackcdn.com/image/fetch/$s_!eZIo!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0587a6b1-6704-4cb6-bf29-5c0e139c409a_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!eZIo!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0587a6b1-6704-4cb6-bf29-5c0e139c409a_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!eZIo!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0587a6b1-6704-4cb6-bf29-5c0e139c409a_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!eZIo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0587a6b1-6704-4cb6-bf29-5c0e139c409a_2560x1440.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">The worked example, line by line. Year one lands at about S$26,000 before any grant.</figcaption></figure></div><h2>From our projects: where the budget really went</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!7Rgd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4990c40b-12d8-446e-8f1f-61780ae900d2_2560x1440.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!7Rgd!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4990c40b-12d8-446e-8f1f-61780ae900d2_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!7Rgd!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4990c40b-12d8-446e-8f1f-61780ae900d2_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!7Rgd!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4990c40b-12d8-446e-8f1f-61780ae900d2_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!7Rgd!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4990c40b-12d8-446e-8f1f-61780ae900d2_2560x1440.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!7Rgd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4990c40b-12d8-446e-8f1f-61780ae900d2_2560x1440.png" width="2560" height="1440" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4990c40b-12d8-446e-8f1f-61780ae900d2_2560x1440.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1440,&quot;width&quot;:2560,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:184033,&quot;alt&quot;:&quot;Case card: Singapore ink and chemicals manufacturer, 16,000+ SKUs and 13,000 multi-level bills of materials, delivered within the agreed timeline&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Case card: Singapore ink and chemicals manufacturer, 16,000+ SKUs and 13,000 multi-level bills of materials, delivered within the agreed timeline" title="Case card: Singapore ink and chemicals manufacturer, 16,000+ SKUs and 13,000 multi-level bills of materials, delivered within the agreed timeline" srcset="https://substackcdn.com/image/fetch/$s_!7Rgd!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4990c40b-12d8-446e-8f1f-61780ae900d2_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!7Rgd!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4990c40b-12d8-446e-8f1f-61780ae900d2_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!7Rgd!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4990c40b-12d8-446e-8f1f-61780ae900d2_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!7Rgd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4990c40b-12d8-446e-8f1f-61780ae900d2_2560x1440.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">One of our manufacturing projects, anonymised.</figcaption></figure></div><p>Clean master data is the line that decides whether a quote holds. For a Singapore ink and chemicals manufacturer we implemented, with more than 1,000 customers across Asia, the catalogue ran to 16,000+ SKUs and 13,000 multi-level bills of materials. We spent the early weeks structuring products and customers before configuring a single workflow, then loaded the BOMs for manufacturing. The project was delivered within the agreed timeline, and that order of work is the reason.</p><p>The most expensive projects are the ones done twice. A private-label apparel group running Singapore, Cambodia and Hong Kong came to us after an Odoo project with another partner had stalled for three years. We upgraded them from Odoo 14 to 17, built APIs from their in-house software into Odoo accounting, and rebuilt their opening balances and reporting. A rescue is a new project with its own budget, which is why training and a partner who stays after go-live are the cheapest insurance in the quote.</p><h2>How to keep your number at the bottom of the range</h2><p>Phase the rollout: two modules, stabilise, then two more. Start standard and live with it for sixty days. Clean your data before the vendor starts the clock. Name one internal owner who decides quickly. And run the demo on your own records before you sign, so the scope in the quote is the scope you actually need; the brief is in <a href="https://www.gantry.work/p/odoo-demo-how-to-run-one-properly">how to run a demo that tells you something</a>.</p><p>What is your team's retyping costing you today, per month, in salary?</p><p><em>The <a href="https://tools.gantry.work/">ERP &amp; Automation ROI calculator</a> puts that number next to the ranges above in about three minutes.</em></p><p><strong>Want a second pair of eyes on your setup?</strong> Bring the process that keeps going wrong to a free <a href="https://tools.gantry.work/review.html?utm_source=gantry&amp;utm_medium=erp-implementation-cost-singapore-real-numbers&amp;utm_campaign=article-cta&amp;utm_content=cta-end">20-minute systems review</a>. I'll tell you honestly what to fix first, or whether you need anything new yet.</p><p><em>I'm Sayed. I work closely with business owners to automate their operations and build workflows that actually make sense. I write The Gantry about ERP and automation for SMEs.</em></p><p><strong>Working on something similar?</strong> Connect with me on LinkedIn and tell me what you are working on. I read and reply to every message, and the questions people send become the next guides.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.linkedin.com/in/sayedomni&quot;,&quot;text&quot;:&quot;Connect with Sayed on LinkedIn&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.linkedin.com/in/sayedomni"><span>Connect with Sayed on LinkedIn</span></a></p><p><em>How I test everything and how this site makes money: <a href="https://www.gantry.work/p/how-the-gantry-works">How The Gantry works</a>.</em></p><p>To see whether the numbers work for your own business, the free ERP ROI Calculator turns your team size, hours lost and setup cost into a payback period and 15-year value.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://tools.gantry.work/erp-roi.html?utm_source=gantry&amp;utm_medium=demo&amp;utm_campaign=erp-implementation-cost-singapore-real-numbers&amp;utm_content=uxa" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!FagK!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94688eb4-a75c-48b9-8da3-20791b614b95_760x578.gif 424w, https://substackcdn.com/image/fetch/$s_!FagK!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94688eb4-a75c-48b9-8da3-20791b614b95_760x578.gif 848w, https://substackcdn.com/image/fetch/$s_!FagK!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94688eb4-a75c-48b9-8da3-20791b614b95_760x578.gif 1272w, https://substackcdn.com/image/fetch/$s_!FagK!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94688eb4-a75c-48b9-8da3-20791b614b95_760x578.gif 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!FagK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94688eb4-a75c-48b9-8da3-20791b614b95_760x578.gif" width="760" height="578" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/94688eb4-a75c-48b9-8da3-20791b614b95_760x578.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:578,&quot;width&quot;:760,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:787197,&quot;alt&quot;:&quot;Demo: The free ERP ROI calculator at work&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/gif&quot;,&quot;href&quot;:&quot;https://tools.gantry.work/erp-roi.html?utm_source=gantry&amp;utm_medium=demo&amp;utm_campaign=erp-implementation-cost-singapore-real-numbers&amp;utm_content=uxa&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Demo: The free ERP ROI calculator at work" title="Demo: The free ERP ROI calculator at work" srcset="https://substackcdn.com/image/fetch/$s_!FagK!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94688eb4-a75c-48b9-8da3-20791b614b95_760x578.gif 424w, https://substackcdn.com/image/fetch/$s_!FagK!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94688eb4-a75c-48b9-8da3-20791b614b95_760x578.gif 848w, https://substackcdn.com/image/fetch/$s_!FagK!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94688eb4-a75c-48b9-8da3-20791b614b95_760x578.gif 1272w, https://substackcdn.com/image/fetch/$s_!FagK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94688eb4-a75c-48b9-8da3-20791b614b95_760x578.gif 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><em>The free ERP ROI calculator at work: your team, hours and setup cost in, payback and 15-year value out. Click the animation to try it.</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://tools.gantry.work/erp-roi.html?utm_source=gantry&amp;utm_medium=demo&amp;utm_campaign=erp-implementation-cost-singapore-real-numbers&amp;utm_content=uxa&quot;,&quot;text&quot;:&quot;Calculate your payback&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://tools.gantry.work/erp-roi.html?utm_source=gantry&amp;utm_medium=demo&amp;utm_campaign=erp-implementation-cost-singapore-real-numbers&amp;utm_content=uxa"><span>Calculate your payback</span></a></p>]]></content:encoded></item><item><title><![CDATA[ERP for Retail and F&B in Singapore: Where the POS Ends and the System Begins]]></title><description><![CDATA[One outlet runs on a good till and an accounting package. The second outlet is where the nightly upload breaks. Here is what changes at each stage, what a central kitchen really needs, and how to choose without buying a POS for its screen.]]></description><link>https://www.gantry.work/p/erp-retail-fnb-singapore-pos-inventory</link><guid isPermaLink="false">https://www.gantry.work/p/erp-retail-fnb-singapore-pos-inventory</guid><dc:creator><![CDATA[Sayed Rashid]]></dc:creator><pubDate>Sun, 11 Oct 2026 02:01:15 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/4011ff9d-b2c6-44be-a5fb-897f7bc5e969_1200x850.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!3-x3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4011ff9d-b2c6-44be-a5fb-897f7bc5e969_1200x850.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!3-x3!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4011ff9d-b2c6-44be-a5fb-897f7bc5e969_1200x850.png 424w, https://substackcdn.com/image/fetch/$s_!3-x3!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4011ff9d-b2c6-44be-a5fb-897f7bc5e969_1200x850.png 848w, https://substackcdn.com/image/fetch/$s_!3-x3!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4011ff9d-b2c6-44be-a5fb-897f7bc5e969_1200x850.png 1272w, https://substackcdn.com/image/fetch/$s_!3-x3!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4011ff9d-b2c6-44be-a5fb-897f7bc5e969_1200x850.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!3-x3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4011ff9d-b2c6-44be-a5fb-897f7bc5e969_1200x850.png" width="1200" height="850" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4011ff9d-b2c6-44be-a5fb-897f7bc5e969_1200x850.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:850,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:137634,&quot;alt&quot;:&quot;Infographic: ERP for retail and F&amp;B in Singapore by number of outlets&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Infographic: ERP for retail and F&amp;B in Singapore by number of outlets" title="Infographic: ERP for retail and F&amp;B in Singapore by number of outlets" srcset="https://substackcdn.com/image/fetch/$s_!3-x3!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4011ff9d-b2c6-44be-a5fb-897f7bc5e969_1200x850.png 424w, https://substackcdn.com/image/fetch/$s_!3-x3!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4011ff9d-b2c6-44be-a5fb-897f7bc5e969_1200x850.png 848w, https://substackcdn.com/image/fetch/$s_!3-x3!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4011ff9d-b2c6-44be-a5fb-897f7bc5e969_1200x850.png 1272w, https://substackcdn.com/image/fetch/$s_!3-x3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4011ff9d-b2c6-44be-a5fb-897f7bc5e969_1200x850.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Retail and F&amp;B owners rarely go looking for an ERP. They go looking for a better point-of-sale system, because the till is the part they touch every day. Then the second outlet opens, the nightly sales upload to the accounting package fails on a Saturday, stock at the two shops disagrees with the spreadsheet, and someone says the word ERP for the first time. This post is about what actually changes at each stage of a Singapore retail or F&amp;B business, and what to buy at each one.</p><h2>The whole picture in 55 seconds</h2><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;d0f06ad5-7dea-48de-8d78-8e642efb10a2&quot;,&quot;duration&quot;:null}"></div><p>The short version: a good POS is enough at one outlet, the architecture breaks at the second, and a central kitchen turns you into a manufacturer. Each stage, and what it costs, is below.</p><h2>Stage one: one outlet</h2><p>A good dedicated POS, a cloud accounting package, and a weekly stock count. The POS handles the till, the receipts, the card terminal and the daily sales summary. The accounting package handles GST, suppliers and the bank. Stock is a counter in the POS or a spreadsheet, and that is fine, because there is one place for it to be wrong.</p><p>What to check even at this stage: that the daily sales post to the ledger as a summary journal rather than being retyped, that GST on the receipts is right by rate, and that the POS can export item-level sales, because you will want that history when you grow.</p><h2>Stage two: the second outlet</h2><p>This is where the architecture breaks, and it breaks in three places. Stock now exists in two locations plus whatever is in transit between them, and a POS counter cannot represent a transfer. Purchasing now has to decide which outlet gets what, ideally from one purchase order to the supplier. And the accounting package receives two nightly uploads that each occasionally fail, so month-end starts with a reconciliation of what the tills said against what the ledger has.</p><p>The fix is not a bigger POS. It is a system where the point of sale is a module of the same database that holds stock, purchasing and accounting, so a sale at the till reduces stock at that outlet, posts the revenue and the cost of goods, and needs no upload because there is nowhere to upload to. In the small-business tier, Odoo's point of sale is the most common way I see this done; SAP Business One with a POS add-on is the other. The <a href="https://www.gantry.work/p/inventory-management-software-singapore-sme-guide">inventory software guide</a> explains the tiers this sits within.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ffRp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbdc97938-c4b4-4e75-a4c2-d2e51228105e_2560x1440.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ffRp!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbdc97938-c4b4-4e75-a4c2-d2e51228105e_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!ffRp!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbdc97938-c4b4-4e75-a4c2-d2e51228105e_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!ffRp!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbdc97938-c4b4-4e75-a4c2-d2e51228105e_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!ffRp!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbdc97938-c4b4-4e75-a4c2-d2e51228105e_2560x1440.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!ffRp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbdc97938-c4b4-4e75-a4c2-d2e51228105e_2560x1440.png" width="2560" height="1440" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bdc97938-c4b4-4e75-a4c2-d2e51228105e_2560x1440.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1440,&quot;width&quot;:2560,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:154974,&quot;alt&quot;:&quot;Comparison at two outlets. POS plus nightly uploads: a stock counter cannot show a transfer, two uploads that sometimes fail, month-end starts with a reconciliation, stock disagrees with the spreadsheet. POS as an ERP module: a sale cuts that outlet's stock, revenue and cost of goods post, nothing to upload, one supplier purchase order split by outlet&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Comparison at two outlets. POS plus nightly uploads: a stock counter cannot show a transfer, two uploads that sometimes fail, month-end starts with a reconciliation, stock disagrees with the spreadsheet. POS as an ERP module: a sale cuts that outlet's stock, revenue and cost of goods post, nothing to upload, one supplier purchase order split by outlet" title="Comparison at two outlets. POS plus nightly uploads: a stock counter cannot show a transfer, two uploads that sometimes fail, month-end starts with a reconciliation, stock disagrees with the spreadsheet. POS as an ERP module: a sale cuts that outlet's stock, revenue and cost of goods post, nothing to upload, one supplier purchase order split by outlet" srcset="https://substackcdn.com/image/fetch/$s_!ffRp!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbdc97938-c4b4-4e75-a4c2-d2e51228105e_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!ffRp!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbdc97938-c4b4-4e75-a4c2-d2e51228105e_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!ffRp!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbdc97938-c4b4-4e75-a4c2-d2e51228105e_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!ffRp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbdc97938-c4b4-4e75-a4c2-d2e51228105e_2560x1440.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Why the fix at the second outlet is not a bigger POS.</figcaption></figure></div><h2>Stage three: F&amp;B with a central kitchen</h2><p>Restaurants and caf&#233;s that prepare in a central kitchen and distribute to outlets are manufacturers, whether they use the word or not. A menu item is a bill of materials. A batch of sauce is a work order that consumes ingredients and produces a stock item. Wastage is a stock adjustment with a reason code, and the reason codes are how you find out where margin is going.</p><p>The capabilities that matter here:</p><ul><li><p><strong>Recipes as bills of materials</strong>, with yields and units, so that 10 kg of chicken becomes 32 portions and the cost per portion is a number, not a guess.</p></li><li><p><strong>Internal transfers</strong> from kitchen to outlet as documents with a status, so the outlet's stock and the kitchen's stock both stay honest.</p></li><li><p><strong>Expiry and lots</strong> for anything perishable, with first-expired-first-out picking.</p></li><li><p><strong>Theoretical versus actual usage</strong> by outlet, which is the single report that catches over-portioning, theft and spoilage.</p></li></ul><p>None of this exists in a POS. All of it exists in an ERP with inventory and manufacturing modules, and the manufacturing side does not need to be complicated: a kitchen's bills of materials are simpler than a factory's. The principles from <a href="https://www.gantry.work/p/erp-for-manufacturing-sme-singapore-before-mrp">ERP for manufacturing SMEs</a> apply, scaled down.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Hde-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9c21576-c19a-4821-899a-36aafeadd9c1_2560x1440.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Hde-!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9c21576-c19a-4821-899a-36aafeadd9c1_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!Hde-!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9c21576-c19a-4821-899a-36aafeadd9c1_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!Hde-!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9c21576-c19a-4821-899a-36aafeadd9c1_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!Hde-!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9c21576-c19a-4821-899a-36aafeadd9c1_2560x1440.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!Hde-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9c21576-c19a-4821-899a-36aafeadd9c1_2560x1440.png" width="2560" height="1440" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e9c21576-c19a-4821-899a-36aafeadd9c1_2560x1440.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1440,&quot;width&quot;:2560,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:125765,&quot;alt&quot;:&quot;Checklist of what a central kitchen needs: recipes as bills of materials with yields and units, 10 kg of chicken equals 32 costed portions, kitchen-to-outlet transfers with a status, lots and expiry with first-expired-first-out, theoretical versus actual usage by outlet, wastage logged with a reason code&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Checklist of what a central kitchen needs: recipes as bills of materials with yields and units, 10 kg of chicken equals 32 costed portions, kitchen-to-outlet transfers with a status, lots and expiry with first-expired-first-out, theoretical versus actual usage by outlet, wastage logged with a reason code" title="Checklist of what a central kitchen needs: recipes as bills of materials with yields and units, 10 kg of chicken equals 32 costed portions, kitchen-to-outlet transfers with a status, lots and expiry with first-expired-first-out, theoretical versus actual usage by outlet, wastage logged with a reason code" srcset="https://substackcdn.com/image/fetch/$s_!Hde-!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9c21576-c19a-4821-899a-36aafeadd9c1_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!Hde-!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9c21576-c19a-4821-899a-36aafeadd9c1_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!Hde-!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9c21576-c19a-4821-899a-36aafeadd9c1_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!Hde-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9c21576-c19a-4821-899a-36aafeadd9c1_2560x1440.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">The central-kitchen capabilities a POS does not have.</figcaption></figure></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.gantry.work/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">One practical automation each week: a free tool, a tested setup and what it really costs. Free, no spam.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2>Stage four: online, delivery and marketplaces</h2><p>A webshop, delivery platforms, and marketplace listings each generate orders and each want to know what is in stock. The system of record has to be one place, with the channels reading from it and writing back to it. Check the connector list for the platforms you actually use, whether the connector is two-way, and who maintains it when the platform changes its API. Above a few hundred online orders a month, returns and partial fulfilment are where syncs break, and one database wins.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!tdTj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7df17e0e-53a4-4a70-853e-c9d8e33eb091_2560x1440.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!tdTj!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7df17e0e-53a4-4a70-853e-c9d8e33eb091_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!tdTj!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7df17e0e-53a4-4a70-853e-c9d8e33eb091_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!tdTj!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7df17e0e-53a4-4a70-853e-c9d8e33eb091_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!tdTj!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7df17e0e-53a4-4a70-853e-c9d8e33eb091_2560x1440.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!tdTj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7df17e0e-53a4-4a70-853e-c9d8e33eb091_2560x1440.png" width="2560" height="1440" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7df17e0e-53a4-4a70-853e-c9d8e33eb091_2560x1440.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1440,&quot;width&quot;:2560,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:98797,&quot;alt&quot;:&quot;Four stages of a retail or F&amp;B business: one outlet with a good POS, cloud accounting and a weekly count; second outlet with two locations plus transit, where the setup breaks; central kitchen where menu items become bills of materials; online and delivery with one system of record every channel reads&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Four stages of a retail or F&amp;B business: one outlet with a good POS, cloud accounting and a weekly count; second outlet with two locations plus transit, where the setup breaks; central kitchen where menu items become bills of materials; online and delivery with one system of record every channel reads" title="Four stages of a retail or F&amp;B business: one outlet with a good POS, cloud accounting and a weekly count; second outlet with two locations plus transit, where the setup breaks; central kitchen where menu items become bills of materials; online and delivery with one system of record every channel reads" srcset="https://substackcdn.com/image/fetch/$s_!tdTj!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7df17e0e-53a4-4a70-853e-c9d8e33eb091_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!tdTj!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7df17e0e-53a4-4a70-853e-c9d8e33eb091_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!tdTj!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7df17e0e-53a4-4a70-853e-c9d8e33eb091_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!tdTj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7df17e0e-53a4-4a70-853e-c9d8e33eb091_2560x1440.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">The four stages, and where the architecture changes.</figcaption></figure></div><h2>Singapore specifics</h2><p>GST by rate at the till, including any zero-rated lines and the treatment of service charge. Cash and card reconciliation against the bank, with the card acquirer's fees posted correctly, which is a bigger monthly job than owners expect. InvoiceNow, which applies to your supplier and B2B invoicing on <a href="https://www.gantry.work/p/invoicenow-when-your-business-must">the published schedule</a>, less to consumer receipts. And the EDGE Grant, which from 30 September 2026 supports automation and digitalisation projects for SMEs; retail and F&amp;B point-of-sale and inventory projects have historically been among the most funded, and <a href="https://www.gantry.work/p/edge-grant-erp-singapore-what-changed">the EDGE post</a> covers how to structure the application.</p><h2>What it costs</h2><ul><li><p><strong>One outlet:</strong> a dedicated POS at S$100 to S$300 a month, plus the accounting package.</p></li><li><p><strong>Two to five outlets on an integrated system:</strong> S$15,000 to S$40,000 in year one for licences, configuration, hardware and training, depending on whether a central kitchen is included.</p></li><li><p><strong>Six or more outlets, or a group with several brands:</strong> S$40,000 and up, with multi-company usually needed.</p></li></ul><p>The line owners forget is hardware: terminals, receipt printers, cash drawers, scanners and a label printer per outlet. S$1,500 to S$4,000 per site. Ranges across all sizes are in <a href="https://www.gantry.work/p/erp-implementation-cost-singapore-real-numbers">ERP implementation cost in Singapore</a>.</p><h2>From our projects: two channels, one stock figure</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!0kNy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3eae1fa5-c306-4419-97ad-c397836ed277_2560x1440.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!0kNy!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3eae1fa5-c306-4419-97ad-c397836ed277_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!0kNy!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3eae1fa5-c306-4419-97ad-c397836ed277_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!0kNy!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3eae1fa5-c306-4419-97ad-c397836ed277_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!0kNy!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3eae1fa5-c306-4419-97ad-c397836ed277_2560x1440.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!0kNy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3eae1fa5-c306-4419-97ad-c397836ed277_2560x1440.png" width="2560" height="1440" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3eae1fa5-c306-4419-97ad-c397836ed277_2560x1440.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1440,&quot;width&quot;:2560,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:193209,&quot;alt&quot;:&quot;Case card: a Singapore specialist retailer selling online and in-store, with separate stock and customers for each; migrated to Odoo with the e-shop and the physical shop on one platform; result, shared stock and customer data, a faster web shop and a self-sufficient team&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Case card: a Singapore specialist retailer selling online and in-store, with separate stock and customers for each; migrated to Odoo with the e-shop and the physical shop on one platform; result, shared stock and customer data, a faster web shop and a self-sufficient team" title="Case card: a Singapore specialist retailer selling online and in-store, with separate stock and customers for each; migrated to Odoo with the e-shop and the physical shop on one platform; result, shared stock and customer data, a faster web shop and a self-sufficient team" srcset="https://substackcdn.com/image/fetch/$s_!0kNy!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3eae1fa5-c306-4419-97ad-c397836ed277_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!0kNy!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3eae1fa5-c306-4419-97ad-c397836ed277_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!0kNy!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3eae1fa5-c306-4419-97ad-c397836ed277_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!0kNy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3eae1fa5-c306-4419-97ad-c397836ed277_2560x1440.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">One of our retail projects, anonymised.</figcaption></figure></div><p>The second-outlet problem has an online twin. A Singapore specialist retailer we worked with ran online and walk-in sales as two separate worlds, with separate stock and separate customers. We migrated them to Odoo with the e-shop and the physical shop on one platform, sharing inventory and customers, optimised the web shop and trained the team. They now run it themselves, with HR, payroll, CRM and projects ready to add on the same platform.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!68tP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc56ed012-ac4e-4c8c-82aa-c68783ef37f4_2560x1440.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!68tP!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc56ed012-ac4e-4c8c-82aa-c68783ef37f4_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!68tP!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc56ed012-ac4e-4c8c-82aa-c68783ef37f4_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!68tP!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc56ed012-ac4e-4c8c-82aa-c68783ef37f4_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!68tP!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc56ed012-ac4e-4c8c-82aa-c68783ef37f4_2560x1440.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!68tP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc56ed012-ac4e-4c8c-82aa-c68783ef37f4_2560x1440.png" width="2560" height="1440" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c56ed012-ac4e-4c8c-82aa-c68783ef37f4_2560x1440.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1440,&quot;width&quot;:2560,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:111402,&quot;alt&quot;:&quot;Costs in Singapore: S$15,000 to S$40,000 in year one for two to five outlets on an integrated system; S$40,000 and up for six or more outlets or several brands; S$1,500 to S$4,000 of hardware per outlet&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Costs in Singapore: S$15,000 to S$40,000 in year one for two to five outlets on an integrated system; S$40,000 and up for six or more outlets or several brands; S$1,500 to S$4,000 of hardware per outlet" title="Costs in Singapore: S$15,000 to S$40,000 in year one for two to five outlets on an integrated system; S$40,000 and up for six or more outlets or several brands; S$1,500 to S$4,000 of hardware per outlet" srcset="https://substackcdn.com/image/fetch/$s_!68tP!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc56ed012-ac4e-4c8c-82aa-c68783ef37f4_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!68tP!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc56ed012-ac4e-4c8c-82aa-c68783ef37f4_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!68tP!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc56ed012-ac4e-4c8c-82aa-c68783ef37f4_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!68tP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc56ed012-ac4e-4c8c-82aa-c68783ef37f4_2560x1440.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Year-one ranges, and the hardware line owners forget.</figcaption></figure></div><h2>How to choose</h2><p>Do not choose the POS for its screen. Choose the system for what happens after the sale: does stock move, does revenue post, does the kitchen's cost per portion exist as a number. Ask for a demo on your own menu or product list, with a transfer between two outlets and a batch made in the kitchen, and watch whether anything needs typing twice. The brief for that demo is in <a href="https://www.gantry.work/p/odoo-demo-how-to-run-one-properly">how to run a demo that tells you something</a>.</p><p>If you are at one outlet and happy, stay there. If the second outlet is opening within a year, put the integrated system in before it opens, not after the first month-end goes wrong.</p><p>Where does your stock figure live today, and does the second outlet agree with it?</p><p><em>The <a href="https://tools.gantry.work/">Cost of Manual Work calculator</a> will show what the nightly uploads and the Friday counts cost each month.</em></p><p><strong>Want a second pair of eyes on your setup?</strong> Bring the process that keeps going wrong to a free <a href="https://tools.gantry.work/review.html?utm_source=gantry&amp;utm_medium=erp-retail-fnb-singapore-pos-inventory&amp;utm_campaign=article-cta&amp;utm_content=cta-end">20-minute systems review</a>. I'll tell you honestly what to fix first, or whether you need anything new yet.</p><p><em>I'm Sayed. I work closely with business owners to automate their operations and build workflows that actually make sense. I write The Gantry about ERP and automation for SMEs.</em></p><p><strong>Working on something similar?</strong> Connect with me on LinkedIn and tell me what you are working on. I read and reply to every message, and the questions people send become the next guides.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.linkedin.com/in/sayedomni&quot;,&quot;text&quot;:&quot;Connect with Sayed on LinkedIn&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.linkedin.com/in/sayedomni"><span>Connect with Sayed on LinkedIn</span></a></p><p><em>How I test everything and how this site makes money: <a href="https://www.gantry.work/p/how-the-gantry-works">How The Gantry works</a>.</em></p><p>Before comparing systems, check whether your business is ready for one. The free ERP Readiness Scorecard takes about three minutes and tells you what to fix first.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://tools.gantry.work/erp-readiness.html?utm_source=gantry&amp;utm_medium=demo&amp;utm_campaign=erp-retail-fnb-singapore-pos-inventory&amp;utm_content=uxa" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!aVuU!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e8c53d9-3f42-445f-a05a-491afb85e764_760x578.gif 424w, https://substackcdn.com/image/fetch/$s_!aVuU!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e8c53d9-3f42-445f-a05a-491afb85e764_760x578.gif 848w, https://substackcdn.com/image/fetch/$s_!aVuU!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e8c53d9-3f42-445f-a05a-491afb85e764_760x578.gif 1272w, https://substackcdn.com/image/fetch/$s_!aVuU!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e8c53d9-3f42-445f-a05a-491afb85e764_760x578.gif 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!aVuU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e8c53d9-3f42-445f-a05a-491afb85e764_760x578.gif" width="760" height="578" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8e8c53d9-3f42-445f-a05a-491afb85e764_760x578.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:578,&quot;width&quot;:760,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:790182,&quot;alt&quot;:&quot;Demo: The free ERP readiness scorecard at work&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/gif&quot;,&quot;href&quot;:&quot;https://tools.gantry.work/erp-readiness.html?utm_source=gantry&amp;utm_medium=demo&amp;utm_campaign=erp-retail-fnb-singapore-pos-inventory&amp;utm_content=uxa&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Demo: The free ERP readiness scorecard at work" title="Demo: The free ERP readiness scorecard at work" srcset="https://substackcdn.com/image/fetch/$s_!aVuU!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e8c53d9-3f42-445f-a05a-491afb85e764_760x578.gif 424w, https://substackcdn.com/image/fetch/$s_!aVuU!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e8c53d9-3f42-445f-a05a-491afb85e764_760x578.gif 848w, https://substackcdn.com/image/fetch/$s_!aVuU!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e8c53d9-3f42-445f-a05a-491afb85e764_760x578.gif 1272w, https://substackcdn.com/image/fetch/$s_!aVuU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e8c53d9-3f42-445f-a05a-491afb85e764_760x578.gif 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><em>The free ERP readiness scorecard at work: a few honest answers and a score with what to fix first. Click the animation to try it.</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://tools.gantry.work/erp-readiness.html?utm_source=gantry&amp;utm_medium=demo&amp;utm_campaign=erp-retail-fnb-singapore-pos-inventory&amp;utm_content=uxa&quot;,&quot;text&quot;:&quot;Score your ERP readiness&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://tools.gantry.work/erp-readiness.html?utm_source=gantry&amp;utm_medium=demo&amp;utm_campaign=erp-retail-fnb-singapore-pos-inventory&amp;utm_content=uxa"><span>Score your ERP readiness</span></a></p>]]></content:encoded></item><item><title><![CDATA[Odoo vs Zoho: Which Is Better for a Growing SME? An Implementer's Comparison]]></title><description><![CDATA[Both promise everything for one price. They deliver it very differently. Here is where each one wins, by the kind of company you run, with the pricing shape and the trade-offs laid out plainly.]]></description><link>https://www.gantry.work/p/odoo-vs-zoho-which-is-better-for-sme</link><guid isPermaLink="false">https://www.gantry.work/p/odoo-vs-zoho-which-is-better-for-sme</guid><dc:creator><![CDATA[Sayed Rashid]]></dc:creator><pubDate>Sun, 11 Oct 2026 00:30:43 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/3f8a5baf-808b-49cb-9714-73400e1150d6_1200x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!-liB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f8a5baf-808b-49cb-9714-73400e1150d6_1200x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!-liB!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f8a5baf-808b-49cb-9714-73400e1150d6_1200x1024.png 424w, https://substackcdn.com/image/fetch/$s_!-liB!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f8a5baf-808b-49cb-9714-73400e1150d6_1200x1024.png 848w, https://substackcdn.com/image/fetch/$s_!-liB!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f8a5baf-808b-49cb-9714-73400e1150d6_1200x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!-liB!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f8a5baf-808b-49cb-9714-73400e1150d6_1200x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!-liB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f8a5baf-808b-49cb-9714-73400e1150d6_1200x1024.png" width="1200" height="1024" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3f8a5baf-808b-49cb-9714-73400e1150d6_1200x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1024,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:164853,&quot;alt&quot;:&quot;Infographic: Odoo vs Zoho compared for growing SMEs&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Infographic: Odoo vs Zoho compared for growing SMEs" title="Infographic: Odoo vs Zoho compared for growing SMEs" srcset="https://substackcdn.com/image/fetch/$s_!-liB!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f8a5baf-808b-49cb-9714-73400e1150d6_1200x1024.png 424w, https://substackcdn.com/image/fetch/$s_!-liB!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f8a5baf-808b-49cb-9714-73400e1150d6_1200x1024.png 848w, https://substackcdn.com/image/fetch/$s_!-liB!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f8a5baf-808b-49cb-9714-73400e1150d6_1200x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!-liB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f8a5baf-808b-49cb-9714-73400e1150d6_1200x1024.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Odoo and Zoho are the two names that come up most when a company under 100 people decides it wants one system instead of six subscriptions. Both are priced per user with every app included. Both have a CRM, accounting, inventory, projects and HR. Both are cheaper than the mid-market ERPs. From the pricing page they look like the same decision.</p><p>They are not. The difference is structural, and it decides which one will still fit you in three years. I implement Odoo, so read the bias into what follows, but I have also moved companies off Zoho and helped others decide to stay on it. Here is the comparison I would want if I were choosing.</p><h2>The comparison in 50 seconds</h2><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;7fae5e55-971c-49fa-840d-0c0f3fe40b31&quot;,&quot;duration&quot;:null}"></div><p>The short version: Odoo is one database, Zoho One is a bundle of apps joined by syncs, and that difference decides which one still fits in three years. The detail is below.</p><h2>The structural difference in one paragraph</h2><p>Odoo is one application with one database. Sales, stock, accounting and manufacturing are modules of the same program, reading and writing the same tables. When a delivery is confirmed, the stock move, the cost of goods sold and the invoice-ready state are the same event. Zoho One is a bundle of separate applications, built or acquired at different times, connected by integrations. Zoho Books, Zoho Inventory and Zoho CRM are three products with three data models and syncs between them. The syncs are good, and Zoho has spent years making them better, but a sync is not a shared table. Everything else in this post follows from that.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!TrsV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c97b7bb-d1a1-450d-bfb1-c5813e285497_2560x1440.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!TrsV!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c97b7bb-d1a1-450d-bfb1-c5813e285497_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!TrsV!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c97b7bb-d1a1-450d-bfb1-c5813e285497_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!TrsV!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c97b7bb-d1a1-450d-bfb1-c5813e285497_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!TrsV!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c97b7bb-d1a1-450d-bfb1-c5813e285497_2560x1440.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!TrsV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c97b7bb-d1a1-450d-bfb1-c5813e285497_2560x1440.png" width="2560" height="1440" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6c97b7bb-d1a1-450d-bfb1-c5813e285497_2560x1440.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1440,&quot;width&quot;:2560,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:89914,&quot;alt&quot;:&quot;Flow diagram: in Odoo a confirmed delivery moves stock, books cost of goods sold and makes the order invoice-ready in one event, with no sync between systems&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Flow diagram: in Odoo a confirmed delivery moves stock, books cost of goods sold and makes the order invoice-ready in one event, with no sync between systems" title="Flow diagram: in Odoo a confirmed delivery moves stock, books cost of goods sold and makes the order invoice-ready in one event, with no sync between systems" srcset="https://substackcdn.com/image/fetch/$s_!TrsV!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c97b7bb-d1a1-450d-bfb1-c5813e285497_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!TrsV!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c97b7bb-d1a1-450d-bfb1-c5813e285497_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!TrsV!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c97b7bb-d1a1-450d-bfb1-c5813e285497_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!TrsV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c97b7bb-d1a1-450d-bfb1-c5813e285497_2560x1440.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">One delivery, one event: why a shared table is not the same as a sync.</figcaption></figure></div><h2>Where Zoho wins</h2><p><strong>Getting started alone.</strong> Zoho is built for a business owner to sign up, connect a bank, and be invoicing the same afternoon. Odoo can be self-started too, but it rewards an implementer far more, and most companies use one. If you have no budget for a partner at all, Zoho is the more forgiving place to begin.</p><p><strong>Accounting for a services firm.</strong> Zoho Books is a very good small-business accounting product, localised for Singapore GST, with bank feeds and a clean interface. For a consultancy, agency or clinic with no stock, Books plus CRM plus Projects covers the business well.</p><p><strong>CRM and marketing depth.</strong> Zoho CRM is a mature product with more marketing automation, more email tooling and more sales-team features than Odoo's CRM, which is solid but simpler. Sales-led organisations with a big pipeline and little inventory often prefer Zoho here.</p><p><strong>Breadth of small apps.</strong> Sign, Forms, Survey, Desk, Meeting, Mail. Zoho One's 40-plus apps mean fewer third-party subscriptions for a company that wants everything from one vendor.</p><h2>Where Odoo wins</h2><p><strong>Anything involving stock that matters.</strong> Multi-location warehouses, lots and serials, landed costs, reordering rules, barcode operations, and stock valuation that posts to the ledger automatically. Zoho Inventory handles quantities and simple bundles; it is not built for a distributor or a manufacturer whose margin lives in stock accuracy.</p><p><strong>Manufacturing.</strong> Odoo has real MRP: bills of materials with routings, work orders, work centres, subcontracting, quality checks. Zoho has composite items. If you make things, this is decisive.</p><p><strong>One ledger for operations and finance.</strong> Because accounting and operations share a database, COGS is booked at delivery, margin by order is a report rather than a project, and month-end is reconciling a bank statement rather than reconciling two systems. This is the thing companies leaving Zoho most often name as the reason.</p><p><strong>Customisation without leaving the product.</strong> Studio on the Custom plan lets a non-developer add fields and adjust views. Beyond that, Odoo.sh lets a partner write real modules. Zoho Creator is capable, but it is another app in the bundle, and custom logic that spans Books, Inventory and CRM has to be built across three APIs.</p><p><strong>Partner ecosystem in this region.</strong> Both have partners in Singapore. Odoo's is larger and more implementation-focused. That matters when you want someone to own a go-live rather than answer tickets.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.gantry.work/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">One practical automation each week: a free tool, a tested setup and what it really costs. Free, no spam.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2>Pricing shape, not pricing numbers</h2><p>Numbers change; shapes do not. Zoho One is a flat per-user price with two variants, one requiring every employee to be licensed, the other a higher rate for a subset. Odoo is per internal user with all apps, and portal users are free, so a 30-person firm where 10 people create records pays for 10. For a company where most staff need a login (a services firm, a sales team), the two land close. For a company with a warehouse and a shop floor where most staff do not, Odoo is usually cheaper. Implementation is the bigger line either way, and Odoo projects generally spend more on it because they are doing more. The <a href="https://www.gantry.work/p/what-odoo-actually-costs-in-2026">Odoo cost breakdown</a> has the ranges.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!kfML!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F086ddf82-c669-4913-9af4-0f8d4f244270_2560x1440.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!kfML!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F086ddf82-c669-4913-9af4-0f8d4f244270_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!kfML!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F086ddf82-c669-4913-9af4-0f8d4f244270_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!kfML!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F086ddf82-c669-4913-9af4-0f8d4f244270_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!kfML!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F086ddf82-c669-4913-9af4-0f8d4f244270_2560x1440.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!kfML!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F086ddf82-c669-4913-9af4-0f8d4f244270_2560x1440.png" width="2560" height="1440" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/086ddf82-c669-4913-9af4-0f8d4f244270_2560x1440.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1440,&quot;width&quot;:2560,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:86052,&quot;alt&quot;:&quot;Calculation: a 30-person firm minus 20 staff who never create records leaves 10 Odoo internal users to pay for, because portal users are free&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Calculation: a 30-person firm minus 20 staff who never create records leaves 10 Odoo internal users to pay for, because portal users are free" title="Calculation: a 30-person firm minus 20 staff who never create records leaves 10 Odoo internal users to pay for, because portal users are free" srcset="https://substackcdn.com/image/fetch/$s_!kfML!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F086ddf82-c669-4913-9af4-0f8d4f244270_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!kfML!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F086ddf82-c669-4913-9af4-0f8d4f244270_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!kfML!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F086ddf82-c669-4913-9af4-0f8d4f244270_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!kfML!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F086ddf82-c669-4913-9af4-0f8d4f244270_2560x1440.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Odoo charges only the people who create records. Zoho One has a variant that licenses every employee.</figcaption></figure></div><h2>By kind of company</h2><ul><li><p><strong>Services or consultancy, no stock, sales-led:</strong> Zoho One is a strong fit. Odoo works, but you are paying for capabilities you will not use.</p></li><li><p><strong>Trading and distribution:</strong> Odoo, once you have more than one location or care about margin by product. Zoho if you are small, single-location and the accountant is the main user.</p></li><li><p><strong>Manufacturing of any kind:</strong> Odoo. Not close.</p></li><li><p><strong>Retail with a few outlets:</strong> either can work; Odoo's point of sale is integrated with stock and accounting in a way Zoho's is not, which starts to matter at the second outlet.</p></li><li><p><strong>Project-based businesses with materials, such as contractors or fit-out firms:</strong> Odoo, because job costing needs purchases and stock to hit the project, not just timesheets.</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!jykK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F989800fa-1c25-4f60-a664-43d3d037631b_2560x1440.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!jykK!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F989800fa-1c25-4f60-a664-43d3d037631b_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!jykK!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F989800fa-1c25-4f60-a664-43d3d037631b_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!jykK!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F989800fa-1c25-4f60-a664-43d3d037631b_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!jykK!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F989800fa-1c25-4f60-a664-43d3d037631b_2560x1440.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!jykK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F989800fa-1c25-4f60-a664-43d3d037631b_2560x1440.png" width="2560" height="1440" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/989800fa-1c25-4f60-a664-43d3d037631b_2560x1440.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1440,&quot;width&quot;:2560,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:94342,&quot;alt&quot;:&quot;Three verdict tiles: Zoho for services or consultancy with no stock and a sales-led team; Odoo for trading with more than one location or margin by product; Odoo for manufacturing of any kind&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Three verdict tiles: Zoho for services or consultancy with no stock and a sales-led team; Odoo for trading with more than one location or margin by product; Odoo for manufacturing of any kind" title="Three verdict tiles: Zoho for services or consultancy with no stock and a sales-led team; Odoo for trading with more than one location or margin by product; Odoo for manufacturing of any kind" srcset="https://substackcdn.com/image/fetch/$s_!jykK!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F989800fa-1c25-4f60-a664-43d3d037631b_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!jykK!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F989800fa-1c25-4f60-a664-43d3d037631b_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!jykK!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F989800fa-1c25-4f60-a664-43d3d037631b_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!jykK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F989800fa-1c25-4f60-a664-43d3d037631b_2560x1440.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">The fit by kind of company, in one picture.</figcaption></figure></div><h2>The honest caveats</h2><p>Odoo's weaknesses are real and I have written them up in <a href="https://www.gantry.work/p/an-implementers-honest-review-of">my implementer's review</a>: the annual version cycle that makes custom code expensive, an interface that is powerful rather than gentle, and a dependence on getting a good partner. Zoho's weaknesses are the sync boundaries between its apps and the ceiling on operational depth. Neither is a bad product. They are built for different centres of gravity: Zoho around the sales and finance office, Odoo around the warehouse and the ledger together.</p><p>If you are choosing between them, decide first which of those describes your business. Then the product choice is mostly made. The wider field, including the open-source options and the mid-market names, is in <a href="https://www.gantry.work/p/odoo-alternatives-2026-honest-comparison">Odoo alternatives</a>.</p><p>Where does your business's centre of gravity sit: the sales office, or the warehouse?</p><p><em>If it is the warehouse, run the <a href="https://tools.gantry.work/">ERP &amp; Automation ROI calculator</a> before you compare licence prices. The retyping between systems is usually the larger number.</em></p><p><strong>Want a second pair of eyes on your setup?</strong> Bring the process that keeps going wrong to a free <a href="https://tools.gantry.work/review.html?utm_source=gantry&amp;utm_medium=odoo-vs-zoho-which-is-better-for-sme&amp;utm_campaign=article-cta&amp;utm_content=cta-end">20-minute systems review</a>. I'll tell you honestly what to fix first, or whether you need anything new yet.</p><p><em>I'm Sayed. I work closely with business owners to automate their operations and build workflows that actually make sense. I write The Gantry about ERP and automation for SMEs.</em></p><p><strong>Working on something similar?</strong> Connect with me on LinkedIn and tell me what you are working on. I read and reply to every message, and the questions people send become the next guides.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.linkedin.com/in/sayedomni&quot;,&quot;text&quot;:&quot;Connect with Sayed on LinkedIn&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.linkedin.com/in/sayedomni"><span>Connect with Sayed on LinkedIn</span></a></p><p><em>How I test everything and how this site makes money: <a href="https://www.gantry.work/p/how-the-gantry-works">How The Gantry works</a>.</em></p><p>Before comparing systems, check whether your business is ready for one. The free ERP Readiness Scorecard takes about three minutes and tells you what to fix first.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://tools.gantry.work/erp-readiness.html?utm_source=gantry&amp;utm_medium=demo&amp;utm_campaign=odoo-vs-zoho-which-is-better-for-sme&amp;utm_content=uxa" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!aVuU!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e8c53d9-3f42-445f-a05a-491afb85e764_760x578.gif 424w, https://substackcdn.com/image/fetch/$s_!aVuU!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e8c53d9-3f42-445f-a05a-491afb85e764_760x578.gif 848w, https://substackcdn.com/image/fetch/$s_!aVuU!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e8c53d9-3f42-445f-a05a-491afb85e764_760x578.gif 1272w, https://substackcdn.com/image/fetch/$s_!aVuU!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e8c53d9-3f42-445f-a05a-491afb85e764_760x578.gif 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!aVuU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e8c53d9-3f42-445f-a05a-491afb85e764_760x578.gif" width="760" height="578" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8e8c53d9-3f42-445f-a05a-491afb85e764_760x578.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:578,&quot;width&quot;:760,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:790182,&quot;alt&quot;:&quot;Demo: The free ERP readiness scorecard at work&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/gif&quot;,&quot;href&quot;:&quot;https://tools.gantry.work/erp-readiness.html?utm_source=gantry&amp;utm_medium=demo&amp;utm_campaign=odoo-vs-zoho-which-is-better-for-sme&amp;utm_content=uxa&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Demo: The free ERP readiness scorecard at work" title="Demo: The free ERP readiness scorecard at work" srcset="https://substackcdn.com/image/fetch/$s_!aVuU!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e8c53d9-3f42-445f-a05a-491afb85e764_760x578.gif 424w, https://substackcdn.com/image/fetch/$s_!aVuU!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e8c53d9-3f42-445f-a05a-491afb85e764_760x578.gif 848w, https://substackcdn.com/image/fetch/$s_!aVuU!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e8c53d9-3f42-445f-a05a-491afb85e764_760x578.gif 1272w, https://substackcdn.com/image/fetch/$s_!aVuU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e8c53d9-3f42-445f-a05a-491afb85e764_760x578.gif 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><em>The free ERP readiness scorecard at work: a few honest answers and a score with what to fix first. Click the animation to try it.</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://tools.gantry.work/erp-readiness.html?utm_source=gantry&amp;utm_medium=demo&amp;utm_campaign=odoo-vs-zoho-which-is-better-for-sme&amp;utm_content=uxa&quot;,&quot;text&quot;:&quot;Score your ERP readiness&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://tools.gantry.work/erp-readiness.html?utm_source=gantry&amp;utm_medium=demo&amp;utm_campaign=odoo-vs-zoho-which-is-better-for-sme&amp;utm_content=uxa"><span>Score your ERP readiness</span></a></p>]]></content:encoded></item><item><title><![CDATA[Profit Margin Formula: Gross, Operating and Net Margin, With Worked Examples]]></title><description><![CDATA[The three profit margin formulas worked through one month of a small Singapore distributor, plus how to price for a target margin, why GST stays out of it, and how to reprice a whole price list in minutes.]]></description><link>https://www.gantry.work/p/profit-margin-formula</link><guid isPermaLink="false">https://www.gantry.work/p/profit-margin-formula</guid><dc:creator><![CDATA[Sayed Rashid]]></dc:creator><pubDate>Sat, 10 Oct 2026 02:01:38 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/b3fcebd3-4b40-472f-80fe-3223a5c086a4_2400x1444.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>Some links on this page are affiliate links. If you sign up through them, The Gantry may earn a commission at no extra cost to you. I only recommend tools I would use on a client project.</em> <em><a href="https://www.gantry.work/p/how-the-gantry-works">How I test tools and how this site makes money.</a></em></p><p><strong>The profit margin formula is profit &#247; revenue &#215; 100: gross margin takes off only the cost of the goods sold, operating margin also takes off overheads, and net margin is what is left after everything, including interest and tax.</strong> To price a product for a target margin, divide its cost by one minus the margin. The free <a href="https://tools.gantry.work/profit-margin-calculator.html?utm_source=gantry&amp;utm_medium=article&amp;utm_campaign=profit-margin-formula">Profit Margin Calculator</a> does both, for one product or a whole price list.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://tools.gantry.work/profit-margin-calculator.html?utm_source=gantry&amp;utm_medium=demo&amp;utm_campaign=profit-margin-formula&amp;utm_content=uxa" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!cW9K!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3fc7f9bb-3936-492e-aa44-4a0b7b26fb75_760x608.gif 424w, https://substackcdn.com/image/fetch/$s_!cW9K!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3fc7f9bb-3936-492e-aa44-4a0b7b26fb75_760x608.gif 848w, https://substackcdn.com/image/fetch/$s_!cW9K!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3fc7f9bb-3936-492e-aa44-4a0b7b26fb75_760x608.gif 1272w, https://substackcdn.com/image/fetch/$s_!cW9K!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3fc7f9bb-3936-492e-aa44-4a0b7b26fb75_760x608.gif 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!cW9K!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3fc7f9bb-3936-492e-aa44-4a0b7b26fb75_760x608.gif" width="760" height="608" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3fc7f9bb-3936-492e-aa44-4a0b7b26fb75_760x608.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:608,&quot;width&quot;:760,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1517778,&quot;alt&quot;:&quot;Demo: The free margin calculator at work&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/gif&quot;,&quot;href&quot;:&quot;https://tools.gantry.work/profit-margin-calculator.html?utm_source=gantry&amp;utm_medium=demo&amp;utm_campaign=profit-margin-formula&amp;utm_content=uxa&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Demo: The free margin calculator at work" title="Demo: The free margin calculator at work" srcset="https://substackcdn.com/image/fetch/$s_!cW9K!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3fc7f9bb-3936-492e-aa44-4a0b7b26fb75_760x608.gif 424w, https://substackcdn.com/image/fetch/$s_!cW9K!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3fc7f9bb-3936-492e-aa44-4a0b7b26fb75_760x608.gif 848w, https://substackcdn.com/image/fetch/$s_!cW9K!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3fc7f9bb-3936-492e-aa44-4a0b7b26fb75_760x608.gif 1272w, https://substackcdn.com/image/fetch/$s_!cW9K!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3fc7f9bb-3936-492e-aa44-4a0b7b26fb75_760x608.gif 1456w" sizes="auto, 100vw" loading="lazy" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><em>The free margin calculator at work: cost and margin give the price, then a whole price list repriced to a target margin. Click the animation to try it with your own list.</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://tools.gantry.work/profit-margin-calculator.html?utm_source=gantry&amp;utm_medium=demo&amp;utm_campaign=profit-margin-formula&amp;utm_content=uxa&quot;,&quot;text&quot;:&quot;Price your list for free&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://tools.gantry.work/profit-margin-calculator.html?utm_source=gantry&amp;utm_medium=demo&amp;utm_campaign=profit-margin-formula&amp;utm_content=uxa"><span>Price your list for free</span></a></p><p><em>Part of The Gantry's automation guides. Updated October 2026.</em></p><h2>The formulas in 50 seconds</h2><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;00546857-c785-40f8-a2d5-cb932b6cbd4d&quot;,&quot;duration&quot;:null}"></div><p>The short version: every margin is a profit divided by revenue excluding GST. Price for a target margin by dividing cost by one minus the margin, not by adding a percentage to cost. The worked example is below.</p><h2>The profit margin formula: gross, operating and net</h2><p>All three divide a profit by the same number: revenue, meaning sales excluding GST. What changes is how much cost you take off first.</p><ul><li><p><strong>Gross profit margin</strong> = (revenue &#8722; cost of goods sold) &#247; revenue &#215; 100</p></li><li><p><strong>Operating profit margin</strong> = operating profit &#247; revenue &#215; 100, where operating profit is gross profit minus overheads such as salaries, rent and transport</p></li><li><p><strong>Net profit margin</strong> = net profit &#247; revenue &#215; 100, where net profit is operating profit minus interest and income tax</p></li></ul><p>Each answers a different question. Gross margin tells you whether you buy and price well. Operating margin tells you whether the business can carry its own running costs. Net margin is what the owner actually keeps.</p><h2>Worked example: one month at a small distributor</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!am9E!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3fcebd3-4b40-472f-80fe-3223a5c086a4_2400x1444.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!am9E!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3fcebd3-4b40-472f-80fe-3223a5c086a4_2400x1444.png 424w, https://substackcdn.com/image/fetch/$s_!am9E!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3fcebd3-4b40-472f-80fe-3223a5c086a4_2400x1444.png 848w, https://substackcdn.com/image/fetch/$s_!am9E!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3fcebd3-4b40-472f-80fe-3223a5c086a4_2400x1444.png 1272w, https://substackcdn.com/image/fetch/$s_!am9E!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3fcebd3-4b40-472f-80fe-3223a5c086a4_2400x1444.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!am9E!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3fcebd3-4b40-472f-80fe-3223a5c086a4_2400x1444.png" width="2400" height="1444" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b3fcebd3-4b40-472f-80fe-3223a5c086a4_2400x1444.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1444,&quot;width&quot;:2400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:215069,&quot;alt&quot;:&quot;Worked example: one month at a small Singapore distributor, from S$180,000 of sales to a 30% gross margin, 7.2% operating margin and 5.8% net margin&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Worked example: one month at a small Singapore distributor, from S$180,000 of sales to a 30% gross margin, 7.2% operating margin and 5.8% net margin" title="Worked example: one month at a small Singapore distributor, from S$180,000 of sales to a 30% gross margin, 7.2% operating margin and 5.8% net margin" srcset="https://substackcdn.com/image/fetch/$s_!am9E!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3fcebd3-4b40-472f-80fe-3223a5c086a4_2400x1444.png 424w, https://substackcdn.com/image/fetch/$s_!am9E!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3fcebd3-4b40-472f-80fe-3223a5c086a4_2400x1444.png 848w, https://substackcdn.com/image/fetch/$s_!am9E!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3fcebd3-4b40-472f-80fe-3223a5c086a4_2400x1444.png 1272w, https://substackcdn.com/image/fetch/$s_!am9E!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3fcebd3-4b40-472f-80fe-3223a5c086a4_2400x1444.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Take a typical 12-person distributor in Singapore that sells shelving and hardware to contractors. Its figures for one month, all excluding GST:</p><ul><li><p>Sales: S$180,000</p></li><li><p>Cost of goods sold (the landed cost of what was sold): S$126,000</p></li><li><p>Salaries and CPF: S$28,000</p></li><li><p>Warehouse rent: S$6,500</p></li><li><p>Transport and delivery: S$4,200</p></li><li><p>Software, utilities and other overheads: S$2,300</p></li><li><p>Interest on the trade facility: S$1,000</p></li><li><p>Provision for income tax: S$1,500 (an illustrative figure; your accountant works out the real one)</p></li></ul><p><strong>Gross margin.</strong> Gross profit is S$180,000 &#8722; S$126,000 = S$54,000. Gross margin is 54,000 &#247; 180,000 = 30.0%.</p><p><strong>Operating margin.</strong> Overheads add up to S$28,000 + S$6,500 + S$4,200 + S$2,300 = S$41,000. Operating profit is S$54,000 &#8722; S$41,000 = S$13,000. Operating margin is 13,000 &#247; 180,000 = 7.2%.</p><p><strong>Net margin.</strong> Net profit is S$13,000 &#8722; S$1,000 &#8722; S$1,500 = S$10,500. Net margin is 10,500 &#247; 180,000 = 5.8%.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!QcMk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F576db0b5-7b10-4739-a265-55eae14da536_2560x1440.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!QcMk!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F576db0b5-7b10-4739-a265-55eae14da536_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!QcMk!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F576db0b5-7b10-4739-a265-55eae14da536_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!QcMk!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F576db0b5-7b10-4739-a265-55eae14da536_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!QcMk!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F576db0b5-7b10-4739-a265-55eae14da536_2560x1440.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!QcMk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F576db0b5-7b10-4739-a265-55eae14da536_2560x1440.png" width="2560" height="1440" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/576db0b5-7b10-4739-a265-55eae14da536_2560x1440.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1440,&quot;width&quot;:2560,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:161265,&quot;alt&quot;:&quot;Worked example for one month at a 12-person distributor, excluding GST: sales S$180,000, minus cost of goods sold S$126,000, equals gross profit S$54,000 (30.0% margin), minus overheads S$41,000, minus interest and tax provision S$2,500, equals net profit S$10,500 (5.8% margin)&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Worked example for one month at a 12-person distributor, excluding GST: sales S$180,000, minus cost of goods sold S$126,000, equals gross profit S$54,000 (30.0% margin), minus overheads S$41,000, minus interest and tax provision S$2,500, equals net profit S$10,500 (5.8% margin)" title="Worked example for one month at a 12-person distributor, excluding GST: sales S$180,000, minus cost of goods sold S$126,000, equals gross profit S$54,000 (30.0% margin), minus overheads S$41,000, minus interest and tax provision S$2,500, equals net profit S$10,500 (5.8% margin)" srcset="https://substackcdn.com/image/fetch/$s_!QcMk!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F576db0b5-7b10-4739-a265-55eae14da536_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!QcMk!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F576db0b5-7b10-4739-a265-55eae14da536_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!QcMk!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F576db0b5-7b10-4739-a265-55eae14da536_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!QcMk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F576db0b5-7b10-4739-a265-55eae14da536_2560x1440.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">The worked example, line by line. Operating profit in between is S$13,000, or 7.2%.</figcaption></figure></div><p>The gap between 30% and 5.8% is the lesson. Every product can look healthy at a 30% gross margin while the business keeps less than six cents of each dollar of sales. If overheads crept up to S$54,000, the same 30% gross margin would leave an operating profit of zero.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!svO1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b913b91-d3da-4247-ab68-f4124009afd1_2560x1440.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!svO1!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b913b91-d3da-4247-ab68-f4124009afd1_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!svO1!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b913b91-d3da-4247-ab68-f4124009afd1_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!svO1!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b913b91-d3da-4247-ab68-f4124009afd1_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!svO1!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b913b91-d3da-4247-ab68-f4124009afd1_2560x1440.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!svO1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b913b91-d3da-4247-ab68-f4124009afd1_2560x1440.png" width="2560" height="1440" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7b913b91-d3da-4247-ab68-f4124009afd1_2560x1440.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1440,&quot;width&quot;:2560,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:103584,&quot;alt&quot;:&quot;Bar chart of the same month's three margins: gross margin 30.0%, operating margin 7.2%, net margin 5.8%&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Bar chart of the same month's three margins: gross margin 30.0%, operating margin 7.2%, net margin 5.8%" title="Bar chart of the same month's three margins: gross margin 30.0%, operating margin 7.2%, net margin 5.8%" srcset="https://substackcdn.com/image/fetch/$s_!svO1!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b913b91-d3da-4247-ab68-f4124009afd1_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!svO1!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b913b91-d3da-4247-ab68-f4124009afd1_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!svO1!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b913b91-d3da-4247-ab68-f4124009afd1_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!svO1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b913b91-d3da-4247-ab68-f4124009afd1_2560x1440.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Healthy-looking products, under six cents kept per dollar of sales.</figcaption></figure></div><h2>How to calculate profit margin on one product</h2><p>For a single product, the gross profit margin formula uses unit figures:</p><p><strong>Margin = (selling price &#8722; cost) &#247; selling price &#215; 100</strong></p><p>The distributor buys a box of 20 shelf brackets at a landed cost of S$42.00 and sells it for S$55.00. The profit per box is S$13.00, so the margin is 13 &#247; 55 = 23.6%.</p><p>Use the <a href="https://www.gantry.work/p/landed-cost">landed cost</a>, not the supplier's price. Freight, insurance, duty and handling are part of what the item cost you. If they add about 11% to the supplier's price, a product that shows a 35% margin against the supplier's invoice is really closer to 28%.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.gantry.work/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">One practical automation each week: a free tool, a tested setup and what it really costs. Free, no spam.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2>How to price for a target margin</h2><p><strong>Selling price = cost &#247; (1 &#8722; target margin)</strong></p><p>For a 30% margin on the S$42.00 brackets: 42 &#247; 0.70 = S$60.00. Check it: the profit is S$18.00, and 18 &#247; 60 = 30%.</p><p>The common mistake is adding 30% to the cost: 42 &#215; 1.30 = S$54.60. That is a margin of only 12.60 &#247; 54.60 = 23.1%. Adding a percentage to cost is markup, not margin. Markup divides the profit by the cost, margin divides it by the price, so the same sale always shows a bigger markup than margin. To get a 30% margin by adding to cost, you need a markup of 42.9%.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!cZTf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a77b07e-53d1-4236-a5e6-35ca0ba1523c_2560x1440.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!cZTf!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a77b07e-53d1-4236-a5e6-35ca0ba1523c_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!cZTf!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a77b07e-53d1-4236-a5e6-35ca0ba1523c_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!cZTf!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a77b07e-53d1-4236-a5e6-35ca0ba1523c_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!cZTf!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a77b07e-53d1-4236-a5e6-35ca0ba1523c_2560x1440.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!cZTf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a77b07e-53d1-4236-a5e6-35ca0ba1523c_2560x1440.png" width="2560" height="1440" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9a77b07e-53d1-4236-a5e6-35ca0ba1523c_2560x1440.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1440,&quot;width&quot;:2560,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:112582,&quot;alt&quot;:&quot;Margin versus markup on a S$42.00 landed cost. Adding 30% to cost: S$42.00 &#215; 1.30 = S$54.60, profit S$12.60, real margin 23.1%. Pricing for a 30% margin: S$42.00 &#247; 0.70 = S$60.00, profit S$18.00, margin 18 &#247; 60 = 30%&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Margin versus markup on a S$42.00 landed cost. Adding 30% to cost: S$42.00 &#215; 1.30 = S$54.60, profit S$12.60, real margin 23.1%. Pricing for a 30% margin: S$42.00 &#247; 0.70 = S$60.00, profit S$18.00, margin 18 &#247; 60 = 30%" title="Margin versus markup on a S$42.00 landed cost. Adding 30% to cost: S$42.00 &#215; 1.30 = S$54.60, profit S$12.60, real margin 23.1%. Pricing for a 30% margin: S$42.00 &#247; 0.70 = S$60.00, profit S$18.00, margin 18 &#247; 60 = 30%" srcset="https://substackcdn.com/image/fetch/$s_!cZTf!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a77b07e-53d1-4236-a5e6-35ca0ba1523c_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!cZTf!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a77b07e-53d1-4236-a5e6-35ca0ba1523c_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!cZTf!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a77b07e-53d1-4236-a5e6-35ca0ba1523c_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!cZTf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a77b07e-53d1-4236-a5e6-35ca0ba1523c_2560x1440.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Divide by one minus the margin; don't add the margin to cost.</figcaption></figure></div><h2>Margins and GST</h2><p>Work out margins on prices and costs excluding GST. The 9% GST you charge is collected for IRAS, not earned. If you are GST-registered, the GST on your purchases is normally claimed back as input tax, so the cost excluding GST is your real cost too.</p><p>Mixing them overstates the margin. The brackets at S$60.00 sell for S$65.40 including GST. Divide the profit by the GST-inclusive price, (65.40 &#8722; 42.00) &#247; 65.40, and you get 35.8% instead of 30%: margin that does not exist.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!nusr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7420f11-6f47-42f7-b3e8-f4ae53a7f36d_2560x1440.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!nusr!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7420f11-6f47-42f7-b3e8-f4ae53a7f36d_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!nusr!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7420f11-6f47-42f7-b3e8-f4ae53a7f36d_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!nusr!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7420f11-6f47-42f7-b3e8-f4ae53a7f36d_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!nusr!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7420f11-6f47-42f7-b3e8-f4ae53a7f36d_2560x1440.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!nusr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7420f11-6f47-42f7-b3e8-f4ae53a7f36d_2560x1440.png" width="2560" height="1440" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a7420f11-6f47-42f7-b3e8-f4ae53a7f36d_2560x1440.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1440,&quot;width&quot;:2560,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:103316,&quot;alt&quot;:&quot;GST and margin: the real margin at S$60.00 excluding GST is 30%; dividing by the S$65.40 GST-inclusive price shows 35.8%; the 9% GST is collected for IRAS, not earned&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="GST and margin: the real margin at S$60.00 excluding GST is 30%; dividing by the S$65.40 GST-inclusive price shows 35.8%; the 9% GST is collected for IRAS, not earned" title="GST and margin: the real margin at S$60.00 excluding GST is 30%; dividing by the S$65.40 GST-inclusive price shows 35.8%; the 9% GST is collected for IRAS, not earned" srcset="https://substackcdn.com/image/fetch/$s_!nusr!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7420f11-6f47-42f7-b3e8-f4ae53a7f36d_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!nusr!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7420f11-6f47-42f7-b3e8-f4ae53a7f36d_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!nusr!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7420f11-6f47-42f7-b3e8-f4ae53a7f36d_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!nusr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7420f11-6f47-42f7-b3e8-f4ae53a7f36d_2560x1440.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Work out margins excluding GST.</figcaption></figure></div><p>If your business is not GST-registered, you cannot claim back the GST you pay suppliers, so for you it is part of the cost: use the cost including GST, and the selling price you actually receive.</p><h2>Common mistakes</h2><ol><li><p><strong>Dividing by cost instead of price.</strong> That gives markup, which is always the bigger number, so the business looks more profitable than it is.</p></li><li><p><strong>Using the supplier's price instead of the landed cost.</strong> The freight and duty still have to be paid by somebody, and it is you.</p></li><li><p><strong>Including GST in the selling price.</strong> As above, it inflates the margin.</p></li><li><p><strong>Using purchases instead of cost of goods sold.</strong> If the distributor bought S$150,000 of stock in the month but the goods it sold cost S$126,000, gross margin uses S$126,000. The rest is still on the shelf. Using purchases would show a gross margin of 16.7%.</p></li><li><p><strong>Averaging percentages across products.</strong> A 50% margin on S$1,000 of cable ties and a 20% margin on S$50,000 of shelving is not a 35% business. Weight it by sales: total gross profit of S$10,500 &#247; total sales of S$51,000 is 20.6%.</p></li><li><p><strong>Forgetting what comes off the price.</strong> Customer discounts, rebates, card and payment gateway fees and free delivery all reduce the margin you actually earn.</p></li></ol><h2>Do it in a minute with the free Profit Margin Calculator</h2><p>The formulas are easy for one product. The real job is the price list: a few hundred items, a supplier who has just sent new costs, and nobody sure which products have slipped below target.</p><p>The free <a href="https://tools.gantry.work/profit-margin-calculator.html?utm_source=gantry&amp;utm_medium=article&amp;utm_campaign=profit-margin-formula">Profit Margin Calculator</a> has two parts. The quick calculator takes any two of cost, selling price and margin and works out the third, with the markup, the price including GST and, if you enter your monthly fixed costs, how many units you need to sell to break even. The second part, "Price a whole list", takes your products pasted from Excel or Google Sheets (item, cost and current price) or uploaded as a CSV. For the whole-business view, the free <a href="https://tools.gantry.work/gross-profit-calculator.html?utm_source=gantry&amp;utm_medium=article&amp;utm_campaign=profit-margin-formula&amp;utm_content=calcs6">Gross Profit Calculator</a> works out gross and net margin for a month (and cost of goods sold from your stock counts), and the <a href="https://tools.gantry.work/break-even-calculator.html?utm_source=gantry&amp;utm_medium=article&amp;utm_campaign=profit-margin-formula&amp;utm_content=calcs6">Break-Even Calculator</a> shows how many sales you need to cover your fixed costs at your current margin.</p><p>Set a target margin and a rounding rule (nearest 5 cents, .90 or .99 endings, or whole dollars) and it prices every item. With "Never lower a current price" ticked, products already above target keep their price. Three items from the distributor's list, at a 30% target with .90 endings:</p><ul><li><p><strong>Shelf brackets (box of 20):</strong> cost S$42.00, current price S$55.00, margin 23.64%. Suggested price S$60.90, new margin 31.03%.</p></li><li><p><strong>Steel shelving unit:</strong> cost S$118.00, current price S$160.00, margin 26.25%. Suggested price S$168.90, new margin 30.14%.</p></li><li><p><strong>Cable ties (pack of 100):</strong> cost S$3.20, current price S$5.90, margin 45.76%. Already above target, so the price is kept.</p></li></ul><p>The two items below target are flagged. Download the result as a CSV or copy it straight into Excel for your POS, online shop or accounting software, and tick "Show prices incl. GST" if your shelf prices include it. Nothing is uploaded; it all runs in your browser.</p><h2>Make it automatic</h2><p>Margins rarely leak because someone priced badly once. They leak because supplier prices go up and the price list does not follow. A free <a href="https://tools.gantry.work/go/?u=https%3A%2F%2Fwww.make.com%2Fen%2Fregister%3Fpc%3Dgntrywk">Make</a> scenario can watch your supplier price sheet or the purchase bills coming in, recalculate the margin on each product against your current price, and email you every Monday with the items that have dropped below target. Getting supplier bills into a sheet in the first place is covered in <a href="https://www.gantry.work/p/supplier-invoice-email-to-sheet">supplier invoices from email to Google Sheets</a>; the margin check is one more step on the same sheet.</p><p><em>Stuck on a step? <a href="https://tools.gantry.work/automation-help/?from=profit-margin-formula">Tell me where you're stuck</a> and you'll get the fix, or a free 20-minute review if it's worth one.</em></p><h2>Frequently asked questions</h2><p><strong>What is the formula for profit margin?</strong> Profit &#247; revenue &#215; 100. Use gross profit for gross margin, operating profit for operating margin and net profit for net margin, always with revenue excluding GST.</p><p><strong>What is the gross profit margin formula?</strong> (Revenue &#8722; cost of goods sold) &#247; revenue &#215; 100. S$180,000 of sales with a cost of goods sold of S$126,000 is a gross margin of 30%.</p><p><strong>How do I calculate profit margin in Excel?</strong> With the cost in B2 and the selling price in C2, enter =(C2-B2)/C2 and format the cell as a percentage. For the price that hits a target margin in D2, use =B2/(1-D2).</p><p><strong>What is a good profit margin?</strong> It depends on the trade and on how much overhead each sale has to carry. A distributor with lean overheads can live on a thinner gross margin than a shop paying high rent, so test your gross margin against your own fixed costs rather than a rule of thumb.</p><p><strong>Should profit margin include GST?</strong> No. Use prices and costs excluding GST. Including it makes the margin look higher than it is.</p><p><strong>Is profit margin the same as markup?</strong> No. Margin divides profit by the selling price; markup divides it by the cost. A 30% markup is only a 23.1% margin.</p><h2>Related guides</h2><p><a href="https://www.gantry.work/p/landed-cost">Landed cost</a> &#183; <a href="https://www.gantry.work/p/record-to-report-process">Record-to-report process</a> &#183; <a href="https://www.gantry.work/p/daily-owner-report-xero">Daily owner report from Xero</a> &#183; <a href="https://www.gantry.work/p/supplier-invoice-email-to-sheet">Supplier invoices from email to Google Sheets</a> &#183; <a href="https://www.gantry.work/p/excel-automation-small-business">Excel automation for small businesses</a></p><p><em>Want margins you can trust every month, not just when someone checks? I do a free <a href="https://tools.gantry.work/review.html?utm_source=gantry&amp;utm_medium=article&amp;utm_campaign=profit-margin-formula">20-minute systems review</a>. No pitch, just your questions answered.</em></p><p><em>I'm Sayed. I work closely with business owners to automate their operations and build workflows that actually make sense. I write The Gantry about ERP and automation for SMEs.</em></p><p><strong>Working on something similar?</strong> Connect with me on LinkedIn and tell me what you are working on. I read and reply to every message, and the questions people send become the next guides.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.linkedin.com/in/sayedomni&quot;,&quot;text&quot;:&quot;Connect with Sayed on LinkedIn&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.linkedin.com/in/sayedomni"><span>Connect with Sayed on LinkedIn</span></a></p><p><em>How I test everything and how this site makes money: <a href="https://www.gantry.work/p/how-the-gantry-works">How The Gantry works</a>.</em></p>]]></content:encoded></item><item><title><![CDATA[Odoo and Xero: Integrate Them, or Replace Xero? A Singapore SME Guide]]></title><description><![CDATA[Xero is the default ledger for small firms here, and Odoo is where operations end up. Whether to connect the two or consolidate depends on one thing: how much of your business lives outside the ledger.]]></description><link>https://www.gantry.work/p/odoo-xero-integration-or-replace</link><guid isPermaLink="false">https://www.gantry.work/p/odoo-xero-integration-or-replace</guid><dc:creator><![CDATA[Sayed Rashid]]></dc:creator><pubDate>Sat, 10 Oct 2026 00:30:41 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/c23c7d95-f477-4435-9f4d-b83a45f932d1_1200x1090.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!l-mx!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc23c7d95-f477-4435-9f4d-b83a45f932d1_1200x1090.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!l-mx!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc23c7d95-f477-4435-9f4d-b83a45f932d1_1200x1090.png 424w, https://substackcdn.com/image/fetch/$s_!l-mx!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc23c7d95-f477-4435-9f4d-b83a45f932d1_1200x1090.png 848w, https://substackcdn.com/image/fetch/$s_!l-mx!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc23c7d95-f477-4435-9f4d-b83a45f932d1_1200x1090.png 1272w, https://substackcdn.com/image/fetch/$s_!l-mx!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc23c7d95-f477-4435-9f4d-b83a45f932d1_1200x1090.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!l-mx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc23c7d95-f477-4435-9f4d-b83a45f932d1_1200x1090.png" width="1200" height="1090" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c23c7d95-f477-4435-9f4d-b83a45f932d1_1200x1090.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1090,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:178141,&quot;alt&quot;:&quot;Infographic: Odoo and Xero, integrate or replace, decision guide&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Infographic: Odoo and Xero, integrate or replace, decision guide" title="Infographic: Odoo and Xero, integrate or replace, decision guide" srcset="https://substackcdn.com/image/fetch/$s_!l-mx!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc23c7d95-f477-4435-9f4d-b83a45f932d1_1200x1090.png 424w, https://substackcdn.com/image/fetch/$s_!l-mx!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc23c7d95-f477-4435-9f4d-b83a45f932d1_1200x1090.png 848w, https://substackcdn.com/image/fetch/$s_!l-mx!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc23c7d95-f477-4435-9f4d-b83a45f932d1_1200x1090.png 1272w, https://substackcdn.com/image/fetch/$s_!l-mx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc23c7d95-f477-4435-9f4d-b83a45f932d1_1200x1090.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>In Singapore the conversation almost always starts the same way. "We are on Xero. Our accountant loves it. We want Odoo for stock and orders. Can they talk to each other?"</p><p>They can. Whether they should is the better question, and the answer changes as a company grows. This post is the version of that conversation I have with owners, including the point at which I tell them to stop integrating and consolidate.</p><h2>The whole decision in under a minute</h2><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;cd119d4c-25bb-4aec-9b67-0846f37a0c5c&quot;,&quot;duration&quot;:null}"></div><p>The short version: a narrow, one-way sync is the right start when finance works and operations are the mess. Once reconciling the two systems becomes a job, one ledger in Odoo usually costs less. The detail is below.</p><h2>Why this pairing comes up so often</h2><p>Xero won the small-business ledger here for good reasons: bank feeds from the local banks, a huge base of accountants who work in it daily, and a clean, fast interface for invoicing and reconciliation. If your business is mostly a ledger with people attached, it is a very good system.</p><p>Xero's limits are equally clear. Inventory tracking is basic: quantities and average cost, no locations, no lots, no manufacturing. There is no purchasing workflow with approvals, no delivery documents, no projects with costed stages. So the moment a firm has real operations, it bolts on apps, and one of the apps people reach for is Odoo, because it does all of those things in one database.</p><p>That leaves two systems that both think they own customers, products and invoices. Hence the question.</p><h2>What an Odoo-Xero integration actually does</h2><p>There is no official connector from either vendor. Integration means one of three things:</p><ul><li><p><strong>A third-party connector</strong> from the Odoo app store or an integration marketplace, installed on Odoo.sh or on-premise (not on Odoo Online, which does not allow custom modules).</p></li><li><p><strong>An integration platform</strong> such as Make or Zapier, mapping Odoo events to Xero API calls. Fine for low volumes, fragile at hundreds of documents a month.</p></li><li><p><strong>A custom sync</strong> written by your partner against both APIs. The most control, the most maintenance.</p></li></ul><p>Whichever route, the flow is usually one-directional: Odoo is the system of record for operations, and it pushes finished documents to Xero, which remains the system of record for accounting.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!eYzj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F175e3d22-8abd-4261-96c6-5d462cf8c8d8_2560x1440.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!eYzj!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F175e3d22-8abd-4261-96c6-5d462cf8c8d8_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!eYzj!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F175e3d22-8abd-4261-96c6-5d462cf8c8d8_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!eYzj!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F175e3d22-8abd-4261-96c6-5d462cf8c8d8_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!eYzj!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F175e3d22-8abd-4261-96c6-5d462cf8c8d8_2560x1440.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!eYzj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F175e3d22-8abd-4261-96c6-5d462cf8c8d8_2560x1440.png" width="2560" height="1440" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/175e3d22-8abd-4261-96c6-5d462cf8c8d8_2560x1440.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1440,&quot;width&quot;:2560,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:150435,&quot;alt&quot;:&quot;Five-step flow of a typical Odoo-Xero sync: 1 operations in Odoo (orders, stock, purchasing), 2 invoice confirmed (only finished documents are pushed), 3 pushed to Xero by a third-party connector, Make or Zapier, or custom code, 4 ledger in Xero as the accounting system of record, 5 payments sometimes flow back to mark Odoo invoices paid&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Five-step flow of a typical Odoo-Xero sync: 1 operations in Odoo (orders, stock, purchasing), 2 invoice confirmed (only finished documents are pushed), 3 pushed to Xero by a third-party connector, Make or Zapier, or custom code, 4 ledger in Xero as the accounting system of record, 5 payments sometimes flow back to mark Odoo invoices paid" title="Five-step flow of a typical Odoo-Xero sync: 1 operations in Odoo (orders, stock, purchasing), 2 invoice confirmed (only finished documents are pushed), 3 pushed to Xero by a third-party connector, Make or Zapier, or custom code, 4 ledger in Xero as the accounting system of record, 5 payments sometimes flow back to mark Odoo invoices paid" srcset="https://substackcdn.com/image/fetch/$s_!eYzj!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F175e3d22-8abd-4261-96c6-5d462cf8c8d8_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!eYzj!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F175e3d22-8abd-4261-96c6-5d462cf8c8d8_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!eYzj!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F175e3d22-8abd-4261-96c6-5d462cf8c8d8_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!eYzj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F175e3d22-8abd-4261-96c6-5d462cf8c8d8_2560x1440.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">The usual one-way flow. Stock value never crosses.</figcaption></figure></div><p>What typically syncs well: customer and supplier records, confirmed customer invoices, supplier bills, credit notes, and sometimes payments recorded in Xero flowing back to mark Odoo invoices paid.</p><p>What does not sync, or syncs badly: stock valuation (Xero has no idea what your Odoo inventory is worth, so the balance sheet needs a manual journal each month), cost of goods sold at the time of delivery, multi-currency revaluations, partial payments and deposits, and any document that gets edited after it was first pushed. Every one of those becomes a month-end reconciliation task for a human.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!h7Si!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F413df523-4c9e-4035-b9e1-50a46b57466f_2560x1440.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!h7Si!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F413df523-4c9e-4035-b9e1-50a46b57466f_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!h7Si!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F413df523-4c9e-4035-b9e1-50a46b57466f_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!h7Si!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F413df523-4c9e-4035-b9e1-50a46b57466f_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!h7Si!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F413df523-4c9e-4035-b9e1-50a46b57466f_2560x1440.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!h7Si!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F413df523-4c9e-4035-b9e1-50a46b57466f_2560x1440.png" width="2560" height="1440" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/413df523-4c9e-4035-b9e1-50a46b57466f_2560x1440.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1440,&quot;width&quot;:2560,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:149910,&quot;alt&quot;:&quot;Comparison of what syncs between Odoo and Xero. Syncs badly or not at all: stock valuation (a manual journal monthly), cost of goods sold at delivery, deposits and partial payments, documents edited after the push. Syncs well: customer and supplier records, confirmed customer invoices, supplier bills and credit notes, payments from Xero (sometimes)&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Comparison of what syncs between Odoo and Xero. Syncs badly or not at all: stock valuation (a manual journal monthly), cost of goods sold at delivery, deposits and partial payments, documents edited after the push. Syncs well: customer and supplier records, confirmed customer invoices, supplier bills and credit notes, payments from Xero (sometimes)" title="Comparison of what syncs between Odoo and Xero. Syncs badly or not at all: stock valuation (a manual journal monthly), cost of goods sold at delivery, deposits and partial payments, documents edited after the push. Syncs well: customer and supplier records, confirmed customer invoices, supplier bills and credit notes, payments from Xero (sometimes)" srcset="https://substackcdn.com/image/fetch/$s_!h7Si!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F413df523-4c9e-4035-b9e1-50a46b57466f_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!h7Si!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F413df523-4c9e-4035-b9e1-50a46b57466f_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!h7Si!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F413df523-4c9e-4035-b9e1-50a46b57466f_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!h7Si!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F413df523-4c9e-4035-b9e1-50a46b57466f_2560x1440.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Everything on the left becomes a month-end task for a person.</figcaption></figure></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.gantry.work/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">One practical automation each week: a free tool, a tested setup and what it really costs. Free, no spam.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2>When integrating is the right answer</h2><p>Integration is correct when Xero is doing a job that Odoo would not do better for you right now. Three real cases:</p><ul><li><p><strong>Your accountant runs your books in Xero and you want to keep that arrangement.</strong> Many outsourced accountants in Singapore work exclusively in Xero. Moving accounting into Odoo means either changing accountant or asking them to learn a second tool. Some will. Many will not, and the relationship is worth more than the integration cost.</p></li><li><p><strong>Operations are the only problem.</strong> If stock and orders are the mess and finance is genuinely fine, put Odoo on the operations side, sync invoices across, and leave the ledger alone. You get most of the benefit with no disruption to compliance, GST filing or bank feeds.</p></li><li><p><strong>You are testing Odoo.</strong> A one-way push of invoices into Xero lets you run Odoo for sales and stock for six months without betting the accounts on it.</p></li></ul><p>In all three cases, keep the integration narrow. Sync invoices and bills. Do not try to sync stock values or payments both ways. The narrower the sync, the fewer month-end surprises.</p><h2>When replacing Xero is the cheaper answer</h2><p>The integration stops paying for itself when the reconciliation effort exceeds the effort of just running accounting in Odoo. Signs you are there:</p><ul><li><p><strong>The month-end journal for stock value is now a two-hour job</strong>, and it is usually wrong the first time. In Odoo with accounting enabled, stock moves post to the ledger automatically, and COGS is booked at delivery, not estimated at month-end. <a href="https://www.gantry.work/p/month-end-shouldnt-take-three-weeks">Month-end shouldn't take three weeks</a> is largely about this.</p></li><li><p><strong>You have edited a synced document.</strong> A credit note raised in Xero for an invoice that came from Odoo, or an invoice corrected in Odoo after it was pushed. Now the two systems disagree, and someone has to decide which one is right.</p></li><li><p><strong>Deposits, partial payments or retention are normal for you.</strong> These are exactly the documents that do not sync cleanly. If they are exceptions, live with it. If they are Tuesday, consolidate.</p></li><li><p><strong>You want margin by order or by product.</strong> Xero cannot tell you that, because it does not know what the goods cost when they went out. Odoo can, but only if the accounting is inside it.</p></li><li><p><strong>InvoiceNow.</strong> Odoo's Singapore localisation handles PEPPOL e-invoicing from the accounting app. Running InvoiceNow out of Xero while operations are in Odoo means the e-invoice is generated from a synced copy of the document, which works, but is one more thing to check. The <a href="https://www.gantry.work/p/invoicenow-when-your-business-must">InvoiceNow timeline</a> is a useful forcing function for the decision.</p></li></ul><p>At that point the honest comparison is: integration licence plus maintenance plus the monthly reconciliation hours, against Odoo's accounting app (included in the licence) plus a migration of the ledger. For most firms over 15 people with stock, the second number is smaller within a year.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!1IKN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbfbd0613-a1df-436d-a40b-5846bb9630d6_2560x1440.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!1IKN!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbfbd0613-a1df-436d-a40b-5846bb9630d6_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!1IKN!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbfbd0613-a1df-436d-a40b-5846bb9630d6_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!1IKN!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbfbd0613-a1df-436d-a40b-5846bb9630d6_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!1IKN!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbfbd0613-a1df-436d-a40b-5846bb9630d6_2560x1440.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!1IKN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbfbd0613-a1df-436d-a40b-5846bb9630d6_2560x1440.png" width="2560" height="1440" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bfbd0613-a1df-436d-a40b-5846bb9630d6_2560x1440.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1440,&quot;width&quot;:2560,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:124738,&quot;alt&quot;:&quot;Checklist of signs it is time to replace Xero: the stock-value journal is a two-hour job; synced documents get edited on both sides; deposits or partial payments are normal; you want margin by order or by product; InvoiceNow runs from a synced copy&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Checklist of signs it is time to replace Xero: the stock-value journal is a two-hour job; synced documents get edited on both sides; deposits or partial payments are normal; you want margin by order or by product; InvoiceNow runs from a synced copy" title="Checklist of signs it is time to replace Xero: the stock-value journal is a two-hour job; synced documents get edited on both sides; deposits or partial payments are normal; you want margin by order or by product; InvoiceNow runs from a synced copy" srcset="https://substackcdn.com/image/fetch/$s_!1IKN!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbfbd0613-a1df-436d-a40b-5846bb9630d6_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!1IKN!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbfbd0613-a1df-436d-a40b-5846bb9630d6_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!1IKN!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbfbd0613-a1df-436d-a40b-5846bb9630d6_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!1IKN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbfbd0613-a1df-436d-a40b-5846bb9630d6_2560x1440.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">The five signs that integration has stopped paying for itself.</figcaption></figure></div><h2>How the replacement actually goes</h2><p>If you decide to consolidate, do not do it on day one of Odoo. Run operations in Odoo first, with the narrow invoice sync, for one or two quarters. Then migrate the ledger at a financial year end or quarter end: chart of accounts, opening balances, open receivables and payables, and the bank connection. The <a href="https://www.gantry.work/p/erp-data-migration-checklist-best-practices">migration checklist</a> covers the mechanics. Xero stays read-only for history. Your accountant gets read access to Odoo, or you change accountant; decide that early, because it is the real obstacle.</p><h2>From our projects: one ledger, fed in real time</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!20SA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9643223b-890e-4957-aaa5-b98e6ab2f9f5_2560x1440.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!20SA!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9643223b-890e-4957-aaa5-b98e6ab2f9f5_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!20SA!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9643223b-890e-4957-aaa5-b98e6ab2f9f5_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!20SA!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9643223b-890e-4957-aaa5-b98e6ab2f9f5_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!20SA!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9643223b-890e-4957-aaa5-b98e6ab2f9f5_2560x1440.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!20SA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9643223b-890e-4957-aaa5-b98e6ab2f9f5_2560x1440.png" width="2560" height="1440" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9643223b-890e-4957-aaa5-b98e6ab2f9f5_2560x1440.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1440,&quot;width&quot;:2560,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:178537,&quot;alt&quot;:&quot;Case card: a private-label apparel group across Singapore, Cambodia and Hong Kong; in-house software sat outside Odoo and an earlier Odoo project had stalled for 3 years; we built custom APIs from the in-house software into Odoo accounting for real-time transfer and rebuilt the accounts; result: accounting integrated and automated, 3 countries on one system&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Case card: a private-label apparel group across Singapore, Cambodia and Hong Kong; in-house software sat outside Odoo and an earlier Odoo project had stalled for 3 years; we built custom APIs from the in-house software into Odoo accounting for real-time transfer and rebuilt the accounts; result: accounting integrated and automated, 3 countries on one system" title="Case card: a private-label apparel group across Singapore, Cambodia and Hong Kong; in-house software sat outside Odoo and an earlier Odoo project had stalled for 3 years; we built custom APIs from the in-house software into Odoo accounting for real-time transfer and rebuilt the accounts; result: accounting integrated and automated, 3 countries on one system" srcset="https://substackcdn.com/image/fetch/$s_!20SA!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9643223b-890e-4957-aaa5-b98e6ab2f9f5_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!20SA!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9643223b-890e-4957-aaa5-b98e6ab2f9f5_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!20SA!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9643223b-890e-4957-aaa5-b98e6ab2f9f5_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!20SA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9643223b-890e-4957-aaa5-b98e6ab2f9f5_2560x1440.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">One of our projects, anonymised.</figcaption></figure></div><p>The pattern that holds up is one ledger with operational data pushed into it, one way. For a private-label apparel group operating across Singapore, Cambodia and Hong Kong, we built custom APIs from their in-house software into Odoo accounting for real-time transfer, upgraded them from Odoo 14 to 17, and rebuilt the accounts, opening balances and reporting. Their accounting is now integrated and automated, with three countries on one system.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!XuLK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3181f2b-31aa-458c-b0cd-b4651c54bb1f_2560x1440.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!XuLK!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3181f2b-31aa-458c-b0cd-b4651c54bb1f_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!XuLK!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3181f2b-31aa-458c-b0cd-b4651c54bb1f_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!XuLK!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3181f2b-31aa-458c-b0cd-b4651c54bb1f_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!XuLK!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3181f2b-31aa-458c-b0cd-b4651c54bb1f_2560x1440.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!XuLK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3181f2b-31aa-458c-b0cd-b4651c54bb1f_2560x1440.png" width="2560" height="1440" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e3181f2b-31aa-458c-b0cd-b4651c54bb1f_2560x1440.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1440,&quot;width&quot;:2560,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:103611,&quot;alt&quot;:&quot;Three numbers: 1&#8211;2 quarters of Odoo operations with a narrow sync before moving the ledger; over 15 people with stock, replacing Xero is usually cheaper within a year; most firms move from integrating to replacing within 18 months&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Three numbers: 1&#8211;2 quarters of Odoo operations with a narrow sync before moving the ledger; over 15 people with stock, replacing Xero is usually cheaper within a year; most firms move from integrating to replacing within 18 months" title="Three numbers: 1&#8211;2 quarters of Odoo operations with a narrow sync before moving the ledger; over 15 people with stock, replacing Xero is usually cheaper within a year; most firms move from integrating to replacing within 18 months" srcset="https://substackcdn.com/image/fetch/$s_!XuLK!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3181f2b-31aa-458c-b0cd-b4651c54bb1f_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!XuLK!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3181f2b-31aa-458c-b0cd-b4651c54bb1f_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!XuLK!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3181f2b-31aa-458c-b0cd-b4651c54bb1f_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!XuLK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3181f2b-31aa-458c-b0cd-b4651c54bb1f_2560x1440.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">The timing rules of thumb from this guide.</figcaption></figure></div><h2>The decision in one line</h2><p>Integrate when finance is fine and operations are the problem. Replace when the reconciliation between the two has become a job. Most firms start at the first and arrive at the second within eighteen months; the mistake is not in the sequence but in refusing to notice when you have crossed over.</p><p>How many hours does your month-end currently spend making Xero agree with your operations data?</p><p><em>Put a number on it with the <a href="https://tools.gantry.work/">Month-End Close Cost calculator</a>. It is the number that decides this question.</em></p><p><strong>Want a second pair of eyes on your setup?</strong> Bring the process that keeps going wrong to a free <a href="https://tools.gantry.work/review.html?utm_source=gantry&amp;utm_medium=odoo-xero-integration-or-replace&amp;utm_campaign=article-cta&amp;utm_content=cta-end">20-minute systems review</a>. I'll tell you honestly what to fix first, or whether you need anything new yet.</p><p><em>I'm Sayed. I work closely with business owners to automate their operations and build workflows that actually make sense. I write The Gantry about ERP and automation for SMEs.</em></p><p><strong>Working on something similar?</strong> Connect with me on LinkedIn and tell me what you are working on. I read and reply to every message, and the questions people send become the next guides.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.linkedin.com/in/sayedomni&quot;,&quot;text&quot;:&quot;Connect with Sayed on LinkedIn&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.linkedin.com/in/sayedomni"><span>Connect with Sayed on LinkedIn</span></a></p><p><em>How I test everything and how this site makes money: <a href="https://www.gantry.work/p/how-the-gantry-works">How The Gantry works</a>.</em></p><p>Before comparing systems, check whether your business is ready for one. The free ERP Readiness Scorecard takes about three minutes and tells you what to fix first.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://tools.gantry.work/erp-readiness.html?utm_source=gantry&amp;utm_medium=demo&amp;utm_campaign=odoo-xero-integration-or-replace&amp;utm_content=uxa" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!aVuU!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e8c53d9-3f42-445f-a05a-491afb85e764_760x578.gif 424w, https://substackcdn.com/image/fetch/$s_!aVuU!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e8c53d9-3f42-445f-a05a-491afb85e764_760x578.gif 848w, https://substackcdn.com/image/fetch/$s_!aVuU!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e8c53d9-3f42-445f-a05a-491afb85e764_760x578.gif 1272w, https://substackcdn.com/image/fetch/$s_!aVuU!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e8c53d9-3f42-445f-a05a-491afb85e764_760x578.gif 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!aVuU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e8c53d9-3f42-445f-a05a-491afb85e764_760x578.gif" width="760" height="578" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8e8c53d9-3f42-445f-a05a-491afb85e764_760x578.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:578,&quot;width&quot;:760,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:790182,&quot;alt&quot;:&quot;Demo: The free ERP readiness scorecard at work&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/gif&quot;,&quot;href&quot;:&quot;https://tools.gantry.work/erp-readiness.html?utm_source=gantry&amp;utm_medium=demo&amp;utm_campaign=odoo-xero-integration-or-replace&amp;utm_content=uxa&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Demo: The free ERP readiness scorecard at work" title="Demo: The free ERP readiness scorecard at work" srcset="https://substackcdn.com/image/fetch/$s_!aVuU!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e8c53d9-3f42-445f-a05a-491afb85e764_760x578.gif 424w, https://substackcdn.com/image/fetch/$s_!aVuU!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e8c53d9-3f42-445f-a05a-491afb85e764_760x578.gif 848w, https://substackcdn.com/image/fetch/$s_!aVuU!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e8c53d9-3f42-445f-a05a-491afb85e764_760x578.gif 1272w, https://substackcdn.com/image/fetch/$s_!aVuU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e8c53d9-3f42-445f-a05a-491afb85e764_760x578.gif 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><em>The free ERP readiness scorecard at work: a few honest answers and a score with what to fix first. Click the animation to try it.</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://tools.gantry.work/erp-readiness.html?utm_source=gantry&amp;utm_medium=demo&amp;utm_campaign=odoo-xero-integration-or-replace&amp;utm_content=uxa&quot;,&quot;text&quot;:&quot;Score your ERP readiness&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://tools.gantry.work/erp-readiness.html?utm_source=gantry&amp;utm_medium=demo&amp;utm_campaign=odoo-xero-integration-or-replace&amp;utm_content=uxa"><span>Score your ERP readiness</span></a></p>]]></content:encoded></item><item><title><![CDATA[Stripe to QuickBooks: Record Every Payment Automatically (Make Setup Guide)]]></title><description><![CDATA[Every Stripe payment ends up keyed into QuickBooks by hand, or not at all until month-end. Two free Make templates record each payment or invoice as it happens. Here is which one to use, the fixes they need, and how to handle Stripe's fees.]]></description><link>https://www.gantry.work/p/stripe-to-quickbooks</link><guid isPermaLink="false">https://www.gantry.work/p/stripe-to-quickbooks</guid><dc:creator><![CDATA[Sayed Rashid]]></dc:creator><pubDate>Fri, 09 Oct 2026 02:01:45 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/2aaf436c-6cdd-4c22-8fbb-931581109037_2400x1440.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>Updated 27 Oct 2026. Make prices and free-plan limits checked on make.com, October 2026.</em></p><p><strong>What you'll get: </strong>Which of Make's two official Stripe templates you need, the fixes before real payments (cents, customer, fee), the Stripe clearing account your accountant will ask for, and a build checklist. Because the Stripe trigger is instant, it costs no credits while it waits.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://tools.gantry.work/go/?u=https%3A%2F%2Fwww.make.com%2Fen%2Fregister%3Fpc%3Dgntrywk&quot;,&quot;text&quot;:&quot;Try Make free, 1,000 credits a month&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://tools.gantry.work/go/?u=https%3A%2F%2Fwww.make.com%2Fen%2Fregister%3Fpc%3Dgntrywk"><span>Try Make free, 1,000 credits a month</span></a></p><p><em>Affiliate link: The Gantry may earn a commission if you sign up, at no extra cost to you.</em> <em><a href="https://www.gantry.work/p/how-the-gantry-works">How I test tools and how this site makes money.</a></em></p><p><strong>You can send Stripe payments to QuickBooks Online automatically with a free Make scenario that fires the moment a payment succeeds, finds or creates the customer in QuickBooks and records a sales receipt, or an invoice if you bill through Stripe Invoicing.</strong> Set it up with a Stripe clearing account and your payouts and fees reconcile too, instead of turning into a month-end puzzle.</p><h2>The whole setup in 50 seconds</h2><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;f5ac58b6-dc5a-4938-ad72-610d89f44da4&quot;,&quot;duration&quot;:null}"></div><p>The short version: record each payment the moment it succeeds, in the customer's name, through a Stripe clearing account, and record the fee as well. The steps and the costs are below.</p><h2>Why Stripe and QuickBooks drift apart</h2><p>Stripe is where the money comes in; QuickBooks is where your accountant expects to find it. In between, someone exports a CSV, or types payments in one by one, or waits until the payout lands in the bank and records one lump sum with no customer names. By month-end nobody can tell which customer paid what, the Stripe fees are missing, and the bank feed shows deposits that match nothing.</p><p>The fix is to record each payment in QuickBooks the moment it happens, in the customer's name, and to treat Stripe as the temporary bank account it really is.</p><h2>Your options</h2><ul><li><p><strong>Paid sync apps.</strong> Tools such as Acodei (from US$12 a month, with a free trial) and Synder specialise in Stripe accounting, including fees, refunds and payouts. If Stripe is your main sales channel and your volume is high, pay for one.</p></li><li><p><strong>A Make scenario.</strong> Free to start, and you decide exactly what gets recorded and how. It suits businesses taking tens or a few hundred Stripe payments a month, and anyone who wants the payment to trigger other steps too, such as a welcome email, a row in the orders sheet or a message to the team.</p></li><li><p><strong>By hand.</strong> Fine at five payments a month. Painful at fifty.</p></li></ul><h2>The Make blueprint</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!lYzU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b2496e0-e3b2-4888-a1ae-bc052c3c9693_800x448.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!lYzU!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b2496e0-e3b2-4888-a1ae-bc052c3c9693_800x448.gif 424w, https://substackcdn.com/image/fetch/$s_!lYzU!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b2496e0-e3b2-4888-a1ae-bc052c3c9693_800x448.gif 848w, https://substackcdn.com/image/fetch/$s_!lYzU!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b2496e0-e3b2-4888-a1ae-bc052c3c9693_800x448.gif 1272w, https://substackcdn.com/image/fetch/$s_!lYzU!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b2496e0-e3b2-4888-a1ae-bc052c3c9693_800x448.gif 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!lYzU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b2496e0-e3b2-4888-a1ae-bc052c3c9693_800x448.gif" width="800" height="448" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6b2496e0-e3b2-4888-a1ae-bc052c3c9693_800x448.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:448,&quot;width&quot;:800,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1111867,&quot;alt&quot;:&quot;Animated flow: Make scenario that receives a Stripe payment instantly, finds or creates the QuickBooks customer and records a QuickBooks sales receipt&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/gif&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Animated flow: Make scenario that receives a Stripe payment instantly, finds or creates the QuickBooks customer and records a QuickBooks sales receipt" title="Animated flow: Make scenario that receives a Stripe payment instantly, finds or creates the QuickBooks customer and records a QuickBooks sales receipt" srcset="https://substackcdn.com/image/fetch/$s_!lYzU!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b2496e0-e3b2-4888-a1ae-bc052c3c9693_800x448.gif 424w, https://substackcdn.com/image/fetch/$s_!lYzU!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b2496e0-e3b2-4888-a1ae-bc052c3c9693_800x448.gif 848w, https://substackcdn.com/image/fetch/$s_!lYzU!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b2496e0-e3b2-4888-a1ae-bc052c3c9693_800x448.gif 1272w, https://substackcdn.com/image/fetch/$s_!lYzU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b2496e0-e3b2-4888-a1ae-bc052c3c9693_800x448.gif 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Make has two official templates, and the first question is which one you need. Both need a <a href="https://tools.gantry.work/go/?u=https%3A%2F%2Fwww.make.com%2Fen%2Fregister%3Fpc%3Dgntrywk">Make account</a> (free plan is enough to build and test), a Stripe account and QuickBooks Online.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!pj-8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F517b875a-0389-44fd-ad5c-b88d9b0e8007_2400x1270.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!pj-8!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F517b875a-0389-44fd-ad5c-b88d9b0e8007_2400x1270.png 424w, https://substackcdn.com/image/fetch/$s_!pj-8!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F517b875a-0389-44fd-ad5c-b88d9b0e8007_2400x1270.png 848w, https://substackcdn.com/image/fetch/$s_!pj-8!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F517b875a-0389-44fd-ad5c-b88d9b0e8007_2400x1270.png 1272w, https://substackcdn.com/image/fetch/$s_!pj-8!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F517b875a-0389-44fd-ad5c-b88d9b0e8007_2400x1270.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!pj-8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F517b875a-0389-44fd-ad5c-b88d9b0e8007_2400x1270.png" width="2400" height="1270" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/517b875a-0389-44fd-ad5c-b88d9b0e8007_2400x1270.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1270,&quot;width&quot;:2400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:217320,&quot;alt&quot;:&quot;Fit card: make: who it fits, who should skip it, real cost&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Fit card: make: who it fits, who should skip it, real cost" title="Fit card: make: who it fits, who should skip it, real cost" srcset="https://substackcdn.com/image/fetch/$s_!pj-8!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F517b875a-0389-44fd-ad5c-b88d9b0e8007_2400x1270.png 424w, https://substackcdn.com/image/fetch/$s_!pj-8!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F517b875a-0389-44fd-ad5c-b88d9b0e8007_2400x1270.png 848w, https://substackcdn.com/image/fetch/$s_!pj-8!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F517b875a-0389-44fd-ad5c-b88d9b0e8007_2400x1270.png 1272w, https://substackcdn.com/image/fetch/$s_!pj-8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F517b875a-0389-44fd-ad5c-b88d9b0e8007_2400x1270.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://tools.gantry.work/go/?u=https%3A%2F%2Fwww.make.com%2Fen%2Fregister%3Fpc%3Dgntrywk&quot;,&quot;text&quot;:&quot;Try Make free, 1,000 credits a month&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://tools.gantry.work/go/?u=https%3A%2F%2Fwww.make.com%2Fen%2Fregister%3Fpc%3Dgntrywk"><span>Try Make free, 1,000 credits a month</span></a></p><p><em>You need a Make account to copy either template; the free plan covers about 160 payments a month.</em></p><h3>Build checklist: prepare these first</h3><ul><li><p>Stripe in test mode, and a QuickBooks sandbox or test company.</p></li><li><p>A bank-type account in QuickBooks called Stripe clearing, and an expense account for Stripe fees.</p></li><li><p>Your choice of template: sales receipts for one-off payments, invoices if you bill through Stripe Invoicing. Never both without a filter.</p></li><li><p>A rule for guest checkouts with no customer record, for example one customer called Stripe guest.</p></li><li><p>Three test payments: an existing customer, a new customer and a guest.</p></li><li><p>The charge ID in the memo of every sales receipt, so payouts can be matched later.</p></li></ul><ul><li><p><strong>One-off payments</strong> (Payment Links, Checkout, card payments on your site): use <a href="https://tools.gantry.work/go/?u=https%3A%2F%2Fwww.make.com%2Fen%2Ftemplates%2F6344-create-a-quickbooks-sales-receipt-from-a-stripe-charge%3Fpc%3Dgntrywk">Create a QuickBooks sales receipt from a Stripe charge</a>, used more than 260 times.</p></li><li><p><strong>Invoices and subscriptions</strong> billed through Stripe: use <a href="https://tools.gantry.work/go/?u=https%3A%2F%2Fwww.make.com%2Fen%2Ftemplates%2F6345-import-stripe-invoices-to-quickbooks%3Fpc%3Dgntrywk">Import Stripe invoices to QuickBooks</a>, which copies each Stripe invoice line by line.</p></li></ul><p><strong>Do not run both on the same Stripe account without a filter.</strong> When a Stripe invoice is paid, Stripe also creates a charge, so both scenarios fire and the sale is recorded twice. If you use both, add a filter to the charge scenario that ignores charges linked to an invoice.</p><p>The steps below follow the sales-receipt template; the invoice template works the same way with a line-item loop in the middle.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!nUhR!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48c8c9e6-bd05-46f7-bccc-1160b6944eab_2560x1440.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!nUhR!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48c8c9e6-bd05-46f7-bccc-1160b6944eab_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!nUhR!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48c8c9e6-bd05-46f7-bccc-1160b6944eab_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!nUhR!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48c8c9e6-bd05-46f7-bccc-1160b6944eab_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!nUhR!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48c8c9e6-bd05-46f7-bccc-1160b6944eab_2560x1440.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!nUhR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48c8c9e6-bd05-46f7-bccc-1160b6944eab_2560x1440.png" width="2560" height="1440" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/48c8c9e6-bd05-46f7-bccc-1160b6944eab_2560x1440.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1440,&quot;width&quot;:2560,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:115718,&quot;alt&quot;:&quot;The Make scenario in five steps: Watch Events, an instant trigger on charge.succeeded; get the email from billing details on guest checkouts; find or create the QuickBooks customer by email; create a sales receipt deposited to Stripe clearing with the charge ID as reference; record the Stripe fee as an expense paid from the clearing account&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="The Make scenario in five steps: Watch Events, an instant trigger on charge.succeeded; get the email from billing details on guest checkouts; find or create the QuickBooks customer by email; create a sales receipt deposited to Stripe clearing with the charge ID as reference; record the Stripe fee as an expense paid from the clearing account" title="The Make scenario in five steps: Watch Events, an instant trigger on charge.succeeded; get the email from billing details on guest checkouts; find or create the QuickBooks customer by email; create a sales receipt deposited to Stripe clearing with the charge ID as reference; record the Stripe fee as an expense paid from the clearing account" srcset="https://substackcdn.com/image/fetch/$s_!nUhR!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48c8c9e6-bd05-46f7-bccc-1160b6944eab_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!nUhR!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48c8c9e6-bd05-46f7-bccc-1160b6944eab_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!nUhR!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48c8c9e6-bd05-46f7-bccc-1160b6944eab_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!nUhR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48c8c9e6-bd05-46f7-bccc-1160b6944eab_2560x1440.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">The whole scenario on one line. Each step is explained below.</figcaption></figure></div><h3>1. Build it in Stripe test mode first</h3><p>Connect Make to Stripe in test mode, and QuickBooks to a sandbox or a test company if you have one. You will make test payments, and you do not want them in your real books.</p><h3>2. Watch Events (Stripe)</h3><p>This trigger is instant: Stripe tells Make the moment something happens, so there is no waiting and no credits wasted checking. Choose the event <strong>charge.succeeded</strong> for the sales-receipt template, or <strong>invoice.paid</strong> for the invoice template.</p><h3>3. Find the customer's email</h3><p>The template retrieves the Stripe customer to get their name and email. Guest checkouts through Payment Links often have no Stripe customer attached, and that step then fails. Map the email and name from the charge's billing details when the customer field is empty, so every payment still finds its person.</p><h3>4. Find or create the customer (QuickBooks)</h3><p><strong>Search for Customers</strong> looks for a QuickBooks customer with that email. A router either goes straight on, or runs <strong>Create a Customer</strong> first. Keep this: it is what gives your accountant a sale in a real customer's name instead of "Stripe customer".</p><h3>5. Create a Sales Receipt (QuickBooks)</h3><p>The template records one line with the amount and the charge description. Check three things:</p><ul><li><p><strong>Cents:</strong> Stripe stores amounts in the smallest unit, so the template divides by 100. That is right for US dollars, Singapore dollars and euros, and wrong for zero-decimal currencies such as Japanese yen. If you charge in yen, remove the division.</p></li><li><p><strong>Item and deposit account:</strong> pick the product or service item the sale belongs to, and set <strong>Deposit to</strong> your Stripe clearing account (see below), not your bank.</p></li><li><p><strong>Reference:</strong> put the Stripe charge ID in the memo or reference number, so anyone can trace the receipt back to Stripe.</p></li></ul><h3>6. Record the fee</h3><p>Add <strong>Stripe: Retrieve a Balance Transaction</strong> for the charge, which tells you the exact Stripe fee, and record it in QuickBooks as an expense paid from the Stripe clearing account. This is the step most setups skip, and it is why their Stripe balance never matches.</p><p><strong>Credits:</strong> because the Stripe trigger is instant, the scenario costs nothing while it waits. Each payment uses about 6 credits with the fee step. Make's free plan of 1,000 credits covers about 160 payments a month; above that, the Core plan at US$9 a month billed annually covers well over 1,000. The arithmetic is in my <a href="https://www.gantry.work/p/make-pricing-review">Make pricing guide</a>. Work out your own numbers with the free <a href="https://tools.gantry.work/make-credit-calculator.html">Make credit calculator</a>.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!PHLh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d074159-bc99-46b4-86d8-87dceea4733e_2560x1440.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!PHLh!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d074159-bc99-46b4-86d8-87dceea4733e_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!PHLh!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d074159-bc99-46b4-86d8-87dceea4733e_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!PHLh!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d074159-bc99-46b4-86d8-87dceea4733e_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!PHLh!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d074159-bc99-46b4-86d8-87dceea4733e_2560x1440.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!PHLh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d074159-bc99-46b4-86d8-87dceea4733e_2560x1440.png" width="2560" height="1440" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9d074159-bc99-46b4-86d8-87dceea4733e_2560x1440.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1440,&quot;width&quot;:2560,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:95046,&quot;alt&quot;:&quot;Running costs on Make: 6 credits per payment including the fee step; about 160 payments a month fit in the free plan's 1,000 credits; above that, the Core plan at US$9 a month billed annually&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Running costs on Make: 6 credits per payment including the fee step; about 160 payments a month fit in the free plan's 1,000 credits; above that, the Core plan at US$9 a month billed annually" title="Running costs on Make: 6 credits per payment including the fee step; about 160 payments a month fit in the free plan's 1,000 credits; above that, the Core plan at US$9 a month billed annually" srcset="https://substackcdn.com/image/fetch/$s_!PHLh!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d074159-bc99-46b4-86d8-87dceea4733e_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!PHLh!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d074159-bc99-46b4-86d8-87dceea4733e_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!PHLh!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d074159-bc99-46b4-86d8-87dceea4733e_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!PHLh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d074159-bc99-46b4-86d8-87dceea4733e_2560x1440.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">What the scenario costs to run.</figcaption></figure></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://tools.gantry.work/make-credit-calculator.html?utm_source=gantry&amp;utm_medium=demo&amp;utm_campaign=stripe-to-quickbooks&amp;utm_content=uxa" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!hMJ-!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c1d4efe-74b6-4991-b7a6-4c31d61c7066_760x608.gif 424w, https://substackcdn.com/image/fetch/$s_!hMJ-!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c1d4efe-74b6-4991-b7a6-4c31d61c7066_760x608.gif 848w, https://substackcdn.com/image/fetch/$s_!hMJ-!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c1d4efe-74b6-4991-b7a6-4c31d61c7066_760x608.gif 1272w, https://substackcdn.com/image/fetch/$s_!hMJ-!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c1d4efe-74b6-4991-b7a6-4c31d61c7066_760x608.gif 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!hMJ-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c1d4efe-74b6-4991-b7a6-4c31d61c7066_760x608.gif" width="760" height="608" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4c1d4efe-74b6-4991-b7a6-4c31d61c7066_760x608.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:608,&quot;width&quot;:760,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1110538,&quot;alt&quot;:&quot;Demo: The free Make credit calculator at work&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/gif&quot;,&quot;href&quot;:&quot;https://tools.gantry.work/make-credit-calculator.html?utm_source=gantry&amp;utm_medium=demo&amp;utm_campaign=stripe-to-quickbooks&amp;utm_content=uxa&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Demo: The free Make credit calculator at work" title="Demo: The free Make credit calculator at work" srcset="https://substackcdn.com/image/fetch/$s_!hMJ-!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c1d4efe-74b6-4991-b7a6-4c31d61c7066_760x608.gif 424w, https://substackcdn.com/image/fetch/$s_!hMJ-!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c1d4efe-74b6-4991-b7a6-4c31d61c7066_760x608.gif 848w, https://substackcdn.com/image/fetch/$s_!hMJ-!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c1d4efe-74b6-4991-b7a6-4c31d61c7066_760x608.gif 1272w, https://substackcdn.com/image/fetch/$s_!hMJ-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c1d4efe-74b6-4991-b7a6-4c31d61c7066_760x608.gif 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><em>The free Make credit calculator at work: pick a workflow and see how many credits a month it really uses. Click the animation to try it.</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://tools.gantry.work/make-credit-calculator.html?utm_source=gantry&amp;utm_medium=demo&amp;utm_campaign=stripe-to-quickbooks&amp;utm_content=uxa&quot;,&quot;text&quot;:&quot;Estimate your Make credits&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://tools.gantry.work/make-credit-calculator.html?utm_source=gantry&amp;utm_medium=demo&amp;utm_campaign=stripe-to-quickbooks&amp;utm_content=uxa"><span>Estimate your Make credits</span></a></p><p><em>Stuck on a step? <a href="https://tools.gantry.work/automation-help/?from=stripe-to-quickbooks">Tell me where you're stuck</a> and you'll get the fix, or a free 20-minute review if it's worth one.</em></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.gantry.work/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">One practical automation each week: a free tool, a tested setup and what it really costs. Free, no spam.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2>The Stripe clearing account: how the money should flow</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!FTPH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2aaf436c-6cdd-4c22-8fbb-931581109037_2400x1440.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!FTPH!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2aaf436c-6cdd-4c22-8fbb-931581109037_2400x1440.png 424w, https://substackcdn.com/image/fetch/$s_!FTPH!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2aaf436c-6cdd-4c22-8fbb-931581109037_2400x1440.png 848w, https://substackcdn.com/image/fetch/$s_!FTPH!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2aaf436c-6cdd-4c22-8fbb-931581109037_2400x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!FTPH!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2aaf436c-6cdd-4c22-8fbb-931581109037_2400x1440.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!FTPH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2aaf436c-6cdd-4c22-8fbb-931581109037_2400x1440.png" width="2400" height="1440" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2aaf436c-6cdd-4c22-8fbb-931581109037_2400x1440.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1440,&quot;width&quot;:2400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:241972,&quot;alt&quot;:&quot;Diagram: how a Stripe payment, the Stripe fee and the payout should land in QuickBooks through a Stripe clearing account&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Diagram: how a Stripe payment, the Stripe fee and the payout should land in QuickBooks through a Stripe clearing account" title="Diagram: how a Stripe payment, the Stripe fee and the payout should land in QuickBooks through a Stripe clearing account" srcset="https://substackcdn.com/image/fetch/$s_!FTPH!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2aaf436c-6cdd-4c22-8fbb-931581109037_2400x1440.png 424w, https://substackcdn.com/image/fetch/$s_!FTPH!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2aaf436c-6cdd-4c22-8fbb-931581109037_2400x1440.png 848w, https://substackcdn.com/image/fetch/$s_!FTPH!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2aaf436c-6cdd-4c22-8fbb-931581109037_2400x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!FTPH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2aaf436c-6cdd-4c22-8fbb-931581109037_2400x1440.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Create a bank-type account in QuickBooks called "Stripe clearing". Every sales receipt deposits into it, every fee comes out of it, and when Stripe pays out, you record a transfer from Stripe clearing to your real bank account, which then matches the deposit in your bank feed exactly. At any moment the clearing balance should equal what Stripe says is waiting to be paid out. If it does not, a payment, fee or refund is missing, and you know where to look.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!x8wS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3bd60d8-40d7-45b6-a6e0-59268efcb53f_2560x1440.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!x8wS!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3bd60d8-40d7-45b6-a6e0-59268efcb53f_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!x8wS!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3bd60d8-40d7-45b6-a6e0-59268efcb53f_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!x8wS!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3bd60d8-40d7-45b6-a6e0-59268efcb53f_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!x8wS!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3bd60d8-40d7-45b6-a6e0-59268efcb53f_2560x1440.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!x8wS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3bd60d8-40d7-45b6-a6e0-59268efcb53f_2560x1440.png" width="2560" height="1440" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b3bd60d8-40d7-45b6-a6e0-59268efcb53f_2560x1440.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1440,&quot;width&quot;:2560,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:136052,&quot;alt&quot;:&quot;Comparison. Payout booked as one lump sum: no customer names, Stripe fees missing, deposits match nothing, a month-end puzzle. Stripe clearing account: every sale deposits into it, every fee comes out of it, payouts transfer to the bank, the balance equals Stripe's pending payout&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Comparison. Payout booked as one lump sum: no customer names, Stripe fees missing, deposits match nothing, a month-end puzzle. Stripe clearing account: every sale deposits into it, every fee comes out of it, payouts transfer to the bank, the balance equals Stripe's pending payout" title="Comparison. Payout booked as one lump sum: no customer names, Stripe fees missing, deposits match nothing, a month-end puzzle. Stripe clearing account: every sale deposits into it, every fee comes out of it, payouts transfer to the bank, the balance equals Stripe's pending payout" srcset="https://substackcdn.com/image/fetch/$s_!x8wS!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3bd60d8-40d7-45b6-a6e0-59268efcb53f_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!x8wS!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3bd60d8-40d7-45b6-a6e0-59268efcb53f_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!x8wS!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3bd60d8-40d7-45b6-a6e0-59268efcb53f_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!x8wS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3bd60d8-40d7-45b6-a6e0-59268efcb53f_2560x1440.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Treat Stripe as the temporary bank account it is.</figcaption></figure></div><p>Agree this with your accountant before you switch anything on. It takes ten minutes to set up and saves an afternoon every month.</p><h2>Test checklist and what can go wrong</h2><ul><li><p><strong>Make three test payments</strong> in Stripe test mode: an existing customer, a new customer and a guest Payment Link checkout. Each should produce one sales receipt in the right name and one fee entry.</p></li><li><p><strong>Refunds</strong> are not handled by the template. Make has a separate one, <a href="https://tools.gantry.work/go/?u=https%3A%2F%2Fwww.make.com%2Fen%2Ftemplates%2F6343-add-stripe-refunds-to-quickbooks%3Fpc%3Dgntrywk">Add Stripe refunds to QuickBooks</a>; add it before you go live or post refunds by hand.</p></li><li><p><strong>Failed runs:</strong> if QuickBooks rejects a receipt (a closed period, a missing item), Make stores the error in the scenario history. Turn on email notifications for errors so a failed payment does not go unrecorded.</p></li><li><p><strong>Switch to live keys last</strong>, then make one small real payment and check it end to end.</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!TiDy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f589377-af18-4f59-8c8b-86ad3e41603d_2560x1440.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!TiDy!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f589377-af18-4f59-8c8b-86ad3e41603d_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!TiDy!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f589377-af18-4f59-8c8b-86ad3e41603d_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!TiDy!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f589377-af18-4f59-8c8b-86ad3e41603d_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!TiDy!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f589377-af18-4f59-8c8b-86ad3e41603d_2560x1440.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!TiDy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f589377-af18-4f59-8c8b-86ad3e41603d_2560x1440.png" width="2560" height="1440" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3f589377-af18-4f59-8c8b-86ad3e41603d_2560x1440.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1440,&quot;width&quot;:2560,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:110249,&quot;alt&quot;:&quot;Checklist before going live: build in Stripe test mode first; test an existing customer; test a new customer; test a guest Payment Link checkout; add the separate refunds template; turn on error emails, then go live&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Checklist before going live: build in Stripe test mode first; test an existing customer; test a new customer; test a guest Payment Link checkout; add the separate refunds template; turn on error emails, then go live" title="Checklist before going live: build in Stripe test mode first; test an existing customer; test a new customer; test a guest Payment Link checkout; add the separate refunds template; turn on error emails, then go live" srcset="https://substackcdn.com/image/fetch/$s_!TiDy!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f589377-af18-4f59-8c8b-86ad3e41603d_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!TiDy!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f589377-af18-4f59-8c8b-86ad3e41603d_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!TiDy!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f589377-af18-4f59-8c8b-86ad3e41603d_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!TiDy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3f589377-af18-4f59-8c8b-86ad3e41603d_2560x1440.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">The test run, in order.</figcaption></figure></div><h2>When you have outgrown this</h2><p>A Stripe-to-QuickBooks scenario is right when Stripe is one of a few ways you get paid. If you now bill subscriptions, deliver projects, track costs and run <a href="https://www.gantry.work/p/order-to-cash-process">order-to-cash</a> across several channels, and month-end still takes days, the problem is not the sync but the number of systems. That is when an ERP starts paying for itself; read <a href="https://www.gantry.work/p/record-to-report-process">what month-end should look like</a>.</p><h2>Frequently asked questions</h2><p><strong>Does Stripe integrate with QuickBooks directly?</strong> Not with a free built-in sync that records each payment. Most businesses use a paid sync app such as Acodei or Synder, or build their own with Make or n8n.</p><p><strong>Can Make send Stripe payments to QuickBooks automatically?</strong> Yes. Make's official templates record each successful Stripe charge as a QuickBooks sales receipt, or copy each Stripe invoice into QuickBooks, and find or create the customer first.</p><p><strong>Should Stripe payments be sales receipts or invoices in QuickBooks?</strong> One-off payments taken upfront are sales receipts. Subscriptions and invoices billed through Stripe are usually recorded as invoices, with the payment applied when Stripe collects it.</p><p><strong>How do I record Stripe fees in QuickBooks?</strong> Record each sale into a Stripe clearing account, record the fee as an expense from that account, and record payouts as transfers from Stripe clearing to your bank.</p><p><strong>Is Make free for this?</strong> The free plan's 1,000 credits cover about 160 payments a month, because the Stripe trigger is instant and costs nothing while idle.</p><blockquote><p><strong>Stop keying Stripe payments into QuickBooks</strong></p><p>Set up the clearing account, copy the right template, run three test payments in test mode, then switch it on. Make's free plan of 1,000 credits a month covers about 160 payments (checked October 2026).</p></blockquote><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://tools.gantry.work/go/?u=https%3A%2F%2Fwww.make.com%2Fen%2Fregister%3Fpc%3Dgntrywk&quot;,&quot;text&quot;:&quot;Try Make free, 1,000 credits a month&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://tools.gantry.work/go/?u=https%3A%2F%2Fwww.make.com%2Fen%2Fregister%3Fpc%3Dgntrywk"><span>Try Make free, 1,000 credits a month</span></a></p><p><em>Affiliate link: The Gantry may earn a commission if you sign up, at no extra cost to you.</em></p><h2>Next read</h2><ul><li><p><a href="https://www.gantry.work/p/shopify-to-quickbooks">Shopify to QuickBooks</a>: the same idea for online orders</p></li><li><p><a href="https://www.gantry.work/p/record-to-report-process">Record-to-report process</a>: how this fits a clean month-end</p></li><li><p><a href="https://www.gantry.work/p/make-pricing-review">Make.com pricing and review</a>: what you pay as volume grows</p></li></ul><p><strong>Free tool: </strong><a href="https://tools.gantry.work/make-credit-calculator.html?utm_source=gantry&amp;utm_medium=nextread&amp;utm_campaign=stripe-to-quickbooks">Make credit calculator</a>. Check what your payment volume costs in credits.</p><p><strong>Rather have someone look at your setup? </strong>Book a <a href="https://tools.gantry.work/review.html?utm_source=gantry&amp;utm_medium=nextread&amp;utm_campaign=stripe-to-quickbooks">free 20-minute systems review</a>. Bring the process that keeps going wrong; you get an honest answer on whether to automate it, and how.</p><p><em>I'm Sayed. I work closely with business owners to automate their operations and build workflows that actually make sense. I write The Gantry about ERP and automation for SMEs.</em></p><p><strong>Working on something similar?</strong> Connect with me on LinkedIn and tell me what you are working on. I read and reply to every message, and the questions people send become the next guides.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.linkedin.com/in/sayedomni&quot;,&quot;text&quot;:&quot;Connect with Sayed on LinkedIn&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.linkedin.com/in/sayedomni"><span>Connect with Sayed on LinkedIn</span></a></p><p><em>How I test everything and how this site makes money: <a href="https://www.gantry.work/p/how-the-gantry-works">How The Gantry works</a>.</em></p>]]></content:encoded></item><item><title><![CDATA[ERP for Construction Firms: Progress Claims, Retention, and Knowing Your Margin Before the Project Ends]]></title><description><![CDATA[Construction money doesn't move like trading money. Here's what contractors actually need from a system &#8212; and the setup mistakes that sink them.]]></description><link>https://www.gantry.work/p/erp-for-construction-firms-progress</link><guid isPermaLink="false">https://www.gantry.work/p/erp-for-construction-firms-progress</guid><dc:creator><![CDATA[Sayed Rashid]]></dc:creator><pubDate>Fri, 09 Oct 2026 00:30:55 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/0936b1e4-ba74-429f-acee-b2efce809fe9_1200x668.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Most ERP demos are built for companies that sell things: quote, deliver, invoice, done. Construction and contracting don&#8217;t work that way. You win a job worth six or seven figures, spend months buying materials and paying subcontractors against it, bill the client in <em>progress claims</em> as work completes, watch 5&#8211;10% of every claim get held back as retention, and only learn whether you made money after the final account settles. <strong>If your system can&#8217;t express that flow, you&#8217;re running the most financially complex part of your business on hope and a spreadsheet.</strong></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!-sks!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0936b1e4-ba74-429f-acee-b2efce809fe9_1200x668.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!-sks!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0936b1e4-ba74-429f-acee-b2efce809fe9_1200x668.png 424w, https://substackcdn.com/image/fetch/$s_!-sks!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0936b1e4-ba74-429f-acee-b2efce809fe9_1200x668.png 848w, https://substackcdn.com/image/fetch/$s_!-sks!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0936b1e4-ba74-429f-acee-b2efce809fe9_1200x668.png 1272w, https://substackcdn.com/image/fetch/$s_!-sks!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0936b1e4-ba74-429f-acee-b2efce809fe9_1200x668.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!-sks!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0936b1e4-ba74-429f-acee-b2efce809fe9_1200x668.png" width="1200" height="668" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0936b1e4-ba74-429f-acee-b2efce809fe9_1200x668.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:668,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:167929,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://sayedr.substack.com/i/213490992?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0936b1e4-ba74-429f-acee-b2efce809fe9_1200x668.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!-sks!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0936b1e4-ba74-429f-acee-b2efce809fe9_1200x668.png 424w, https://substackcdn.com/image/fetch/$s_!-sks!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0936b1e4-ba74-429f-acee-b2efce809fe9_1200x668.png 848w, https://substackcdn.com/image/fetch/$s_!-sks!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0936b1e4-ba74-429f-acee-b2efce809fe9_1200x668.png 1272w, https://substackcdn.com/image/fetch/$s_!-sks!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0936b1e4-ba74-429f-acee-b2efce809fe9_1200x668.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><p></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:null,&quot;text&quot;:null,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2>The whole picture in 45 seconds</h2><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;e989673c-4579-4690-829c-833ae7dde6b2&quot;,&quot;duration&quot;:null}"></div><p>The short version: a contracting job runs on progress claims and retention, not on quote, deliver, invoice. If the system cannot show margin by project while the job is still running, the margin arrives too late to act on.</p><h2>The five things a contractor&#8217;s system must know</h2><ol><li><p><strong>The contract, with its baseline.</strong> Contract value, bill of quantities, and &#8212; crucially &#8212; a home for variations. When the client adds a floor or changes the spec, that variation has to attach to the contract from day one, because at final account time, memory and email threads lose to paper every time.</p></li><li><p><strong>Costs by project, not just by company.</strong> Every purchase order, subcontractor invoice, and timesheet needs a project tag the moment it&#8217;s created. Company-level books can look healthy while one project quietly bleeds; only project-level costing shows you which.</p></li><li><p><strong>Committed costs, not just invoiced costs.</strong> A PO you&#8217;ve issued is money you&#8217;ve spent, even if the invoice hasn&#8217;t arrived. Systems that only show invoiced costs flatter your budget for weeks &#8212; the gap between committed and invoiced is where budget surprises hide.</p></li><li><p><strong>Progress claims as a native concept.</strong> You bill 30% at foundation, another 25% at structural completion &#8212; percentages of a contract, not deliveries of goods. A system with only invoice-on-delivery logic forces workarounds that your QS and the client&#8217;s QS will each interpret differently.</p></li><li><p><strong>Retention with a memory.</strong> 5&#8211;10% held from each claim, released at practical completion and again after the defects liability period &#8212; often a year or more later. Tracked in a spreadsheet, retentions get forgotten; across a few projects that&#8217;s real six-figure money you&#8217;ve earned and never collected.</p></li></ol><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!-_NQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1e49044-0256-4a1c-98d7-6a2826bec21e_2560x1440.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!-_NQ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1e49044-0256-4a1c-98d7-6a2826bec21e_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!-_NQ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1e49044-0256-4a1c-98d7-6a2826bec21e_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!-_NQ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1e49044-0256-4a1c-98d7-6a2826bec21e_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!-_NQ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1e49044-0256-4a1c-98d7-6a2826bec21e_2560x1440.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!-_NQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1e49044-0256-4a1c-98d7-6a2826bec21e_2560x1440.png" width="2560" height="1440" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a1e49044-0256-4a1c-98d7-6a2826bec21e_2560x1440.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1440,&quot;width&quot;:2560,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:88868,&quot;alt&quot;:&quot;Three retention figures: 5&#8211;10% held back from each progress claim; 2 release points, at practical completion and at the end of the defects liability period; often a wait of a year or more for the second release&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Three retention figures: 5&#8211;10% held back from each progress claim; 2 release points, at practical completion and at the end of the defects liability period; often a wait of a year or more for the second release" title="Three retention figures: 5&#8211;10% held back from each progress claim; 2 release points, at practical completion and at the end of the defects liability period; often a wait of a year or more for the second release" srcset="https://substackcdn.com/image/fetch/$s_!-_NQ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1e49044-0256-4a1c-98d7-6a2826bec21e_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!-_NQ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1e49044-0256-4a1c-98d7-6a2826bec21e_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!-_NQ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1e49044-0256-4a1c-98d7-6a2826bec21e_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!-_NQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1e49044-0256-4a1c-98d7-6a2826bec21e_2560x1440.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Why retention needs a memory in the system, not in a spreadsheet.</figcaption></figure></div><h2>Why generic setups fail contractors</h2><p>It&#8217;s rarely the software&#8217;s fault &#8212; it&#8217;s configuration by someone who&#8217;s never seen a progress claim. The classic symptoms: invoices that can&#8217;t express &#8220;% of contract&#8221;, retention tracked outside the system (or not at all), costs booked to expense accounts with no project dimension, and margin per project calculated once a year by the accountant, long after anything could be done about it. If your &#8220;ERP&#8221; does this today, you have an accounting system wearing a hard hat.</p><h2>What good looks like in practice</h2><p>Configured properly &#8212; and Odoo is one system that handles this well with its project, purchasing and accounting modules working together &#8212; the flow becomes: the contract sits as a project with its budget; every PO and timesheet lands against it; the system generates progress claims from completion percentages with retention automatically withheld and scheduled for release; and the project P&amp;L is live, not annual. The owner&#8217;s question changes from <em>&#8220;did we make money on that job?&#8221;</em> (past tense, too late) to <em>&#8220;are we making money on this job?&#8221;</em> (present tense, actionable).</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!IM5a!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50097262-5bbe-4d25-9d4d-109cdf59f2fd_2560x1440.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!IM5a!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50097262-5bbe-4d25-9d4d-109cdf59f2fd_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!IM5a!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50097262-5bbe-4d25-9d4d-109cdf59f2fd_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!IM5a!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50097262-5bbe-4d25-9d4d-109cdf59f2fd_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!IM5a!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50097262-5bbe-4d25-9d4d-109cdf59f2fd_2560x1440.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!IM5a!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50097262-5bbe-4d25-9d4d-109cdf59f2fd_2560x1440.png" width="2560" height="1440" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/50097262-5bbe-4d25-9d4d-109cdf59f2fd_2560x1440.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1440,&quot;width&quot;:2560,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:171695,&quot;alt&quot;:&quot;Comparison. Generic setup: invoices can't express a percentage of contract, retention tracked outside the system, costs booked with no project tag, project margin worked out once a year. Configured for contracting: the contract is a project with a budget, every PO and timesheet lands against it, claims generated from completion percentage with retention withheld, a live project P&amp;L&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Comparison. Generic setup: invoices can't express a percentage of contract, retention tracked outside the system, costs booked with no project tag, project margin worked out once a year. Configured for contracting: the contract is a project with a budget, every PO and timesheet lands against it, claims generated from completion percentage with retention withheld, a live project P&amp;L" title="Comparison. Generic setup: invoices can't express a percentage of contract, retention tracked outside the system, costs booked with no project tag, project margin worked out once a year. Configured for contracting: the contract is a project with a budget, every PO and timesheet lands against it, claims generated from completion percentage with retention withheld, a live project P&amp;L" srcset="https://substackcdn.com/image/fetch/$s_!IM5a!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50097262-5bbe-4d25-9d4d-109cdf59f2fd_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!IM5a!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50097262-5bbe-4d25-9d4d-109cdf59f2fd_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!IM5a!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50097262-5bbe-4d25-9d4d-109cdf59f2fd_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!IM5a!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F50097262-5bbe-4d25-9d4d-109cdf59f2fd_2560x1440.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">The same software, configured by someone who has seen a progress claim.</figcaption></figure></div><p>Before comparing systems, check whether your business is ready for one. The free ERP Readiness Scorecard takes about three minutes and tells you what to fix first.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://tools.gantry.work/erp-readiness.html?utm_source=gantry&amp;utm_medium=demo&amp;utm_campaign=erp-for-construction-firms-progress&amp;utm_content=uxa" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!aVuU!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e8c53d9-3f42-445f-a05a-491afb85e764_760x578.gif 424w, https://substackcdn.com/image/fetch/$s_!aVuU!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e8c53d9-3f42-445f-a05a-491afb85e764_760x578.gif 848w, https://substackcdn.com/image/fetch/$s_!aVuU!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e8c53d9-3f42-445f-a05a-491afb85e764_760x578.gif 1272w, https://substackcdn.com/image/fetch/$s_!aVuU!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e8c53d9-3f42-445f-a05a-491afb85e764_760x578.gif 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!aVuU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e8c53d9-3f42-445f-a05a-491afb85e764_760x578.gif" width="760" height="578" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8e8c53d9-3f42-445f-a05a-491afb85e764_760x578.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:578,&quot;width&quot;:760,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:790182,&quot;alt&quot;:&quot;Demo: The free ERP readiness scorecard at work&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/gif&quot;,&quot;href&quot;:&quot;https://tools.gantry.work/erp-readiness.html?utm_source=gantry&amp;utm_medium=demo&amp;utm_campaign=erp-for-construction-firms-progress&amp;utm_content=uxa&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Demo: The free ERP readiness scorecard at work" title="Demo: The free ERP readiness scorecard at work" srcset="https://substackcdn.com/image/fetch/$s_!aVuU!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e8c53d9-3f42-445f-a05a-491afb85e764_760x578.gif 424w, https://substackcdn.com/image/fetch/$s_!aVuU!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e8c53d9-3f42-445f-a05a-491afb85e764_760x578.gif 848w, https://substackcdn.com/image/fetch/$s_!aVuU!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e8c53d9-3f42-445f-a05a-491afb85e764_760x578.gif 1272w, https://substackcdn.com/image/fetch/$s_!aVuU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e8c53d9-3f42-445f-a05a-491afb85e764_760x578.gif 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><em>The free ERP readiness scorecard at work: a few honest answers and a score with what to fix first. Click the animation to try it.</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://tools.gantry.work/erp-readiness.html?utm_source=gantry&amp;utm_medium=demo&amp;utm_campaign=erp-for-construction-firms-progress&amp;utm_content=uxa&quot;,&quot;text&quot;:&quot;Score your ERP readiness&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://tools.gantry.work/erp-readiness.html?utm_source=gantry&amp;utm_medium=demo&amp;utm_campaign=erp-for-construction-firms-progress&amp;utm_content=uxa"><span>Score your ERP readiness</span></a></p><h2>Questions to ask before you commit to any system</h2><ul><li><p>Show me a progress claim for 25% of a milestone, with 10% retention withheld. (Watch them build it live &#8212; not slides.)</p></li><li><p>Where do I see committed vs actual vs budgeted cost for one project, today?</p></li><li><p>How does a variation attach to the original contract and flow into the final account?</p></li><li><p>When retention from a claim two years ago falls due, what reminds us?</p></li><li><p>Can my project managers see their own project&#8217;s numbers without seeing the whole company&#8217;s books?</p></li></ul><p>Any implementer who handles those five without improvising understands construction. Anyone who says &#8220;we can customise that later&#8221; is telling you it isn&#8217;t built yet &#8212; price that honestly.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!6QTM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe64ac45d-6fe9-4125-94b9-3b7de82b2af0_2560x1440.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!6QTM!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe64ac45d-6fe9-4125-94b9-3b7de82b2af0_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!6QTM!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe64ac45d-6fe9-4125-94b9-3b7de82b2af0_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!6QTM!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe64ac45d-6fe9-4125-94b9-3b7de82b2af0_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!6QTM!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe64ac45d-6fe9-4125-94b9-3b7de82b2af0_2560x1440.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!6QTM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe64ac45d-6fe9-4125-94b9-3b7de82b2af0_2560x1440.png" width="2560" height="1440" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e64ac45d-6fe9-4125-94b9-3b7de82b2af0_2560x1440.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1440,&quot;width&quot;:2560,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:138563,&quot;alt&quot;:&quot;Checklist of five things to ask an implementer to show live: a 25% claim with 10% retention, committed vs actual vs budget for one project, how a variation reaches the final account, what reminds you when old retention falls due, and project managers seeing only their own project&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Checklist of five things to ask an implementer to show live: a 25% claim with 10% retention, committed vs actual vs budget for one project, how a variation reaches the final account, what reminds you when old retention falls due, and project managers seeing only their own project" title="Checklist of five things to ask an implementer to show live: a 25% claim with 10% retention, committed vs actual vs budget for one project, how a variation reaches the final account, what reminds you when old retention falls due, and project managers seeing only their own project" srcset="https://substackcdn.com/image/fetch/$s_!6QTM!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe64ac45d-6fe9-4125-94b9-3b7de82b2af0_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!6QTM!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe64ac45d-6fe9-4125-94b9-3b7de82b2af0_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!6QTM!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe64ac45d-6fe9-4125-94b9-3b7de82b2af0_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!6QTM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe64ac45d-6fe9-4125-94b9-3b7de82b2af0_2560x1440.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">The five-question demo test for any construction ERP.</figcaption></figure></div><p>Weighing up construction robots too? BCA now co-funds suppliers who lease them to builders at fixed rates. Here is what the Robot Leasing Support Scheme means for contractors, and why the lease cost needs to land on the right project.</p><h2>The bottom line</h2><p>Construction is project business, and a project is a small company with its own revenue, costs, and working capital cycle. The right system setup treats it that way &#8212; and the payoff isn&#8217;t administrative tidiness, it&#8217;s <strong>margin you can still influence</strong> and <strong>retention money that actually comes home</strong>. If your current setup can&#8217;t answer &#8220;are we making money on this job right now?&#8221;, that&#8217;s the gap to close first.</p><p><strong>Want a second pair of eyes on your setup?</strong> Bring the process that keeps going wrong to a free <a href="https://tools.gantry.work/review.html?utm_source=gantry&amp;utm_medium=erp-for-construction-firms-progress&amp;utm_campaign=article-cta&amp;utm_content=cta-end">20-minute systems review</a>. I'll tell you honestly what to fix first, or whether you need anything new yet.</p><p>I&#8217;m Sayed &#8212; I work closely with business owners to automate their operations and build workflows that actually make sense. I write The Gantry about ERP and automation for SMEs &#8212; the full series so far covers costs, comparisons, switching playbooks and partner selection. Subscribe to get what&#8217;s next.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:null,&quot;text&quot;:null,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p><strong>Working on something similar?</strong> Connect with me on LinkedIn and tell me what you are working on. I read and reply to every message, and the questions people send become the next guides.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.linkedin.com/in/sayedomni&quot;,&quot;text&quot;:&quot;Connect with Sayed on LinkedIn&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.linkedin.com/in/sayedomni"><span>Connect with Sayed on LinkedIn</span></a></p><p><em>How I test everything and how this site makes money: <a href="https://www.gantry.work/p/how-the-gantry-works">How The Gantry works</a>.</em></p>]]></content:encoded></item><item><title><![CDATA[WATI Alternatives 2026: 6 WhatsApp Platforms Compared, With Singapore Prices]]></title><description><![CDATA[WATI, SleekFlow, respond.io, Interakt, AiSensy, Twilio and going direct on Meta's API: what each costs from Singapore, who each suits, and an implementer's honest verdict on WATI itself.]]></description><link>https://www.gantry.work/p/wati-alternatives</link><guid isPermaLink="false">https://www.gantry.work/p/wati-alternatives</guid><dc:creator><![CDATA[Sayed Rashid]]></dc:creator><pubDate>Thu, 08 Oct 2026 02:00:17 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/59845adc-70d8-44f6-9e9a-6b3d45b03c5a_2400x1536.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>Updated 27 Oct 2026. WATI prices and plan limits re-checked from Singapore on wati.io, October 2026. Other platforms as checked on 30 September 2026.</em></p><p><strong>What you'll get: </strong>WATI and six alternatives with Singapore prices, who each suits, and a free checklist for safe WhatsApp broadcasts and FAQ auto-replies: opt-in wording you can copy, three template examples and the messaging limits Meta applies to new numbers.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://tools.gantry.work/go/?u=https%3A%2F%2Faffiliates.wati.io%2Fgantry-trial%3Fsid1%3Dwati-alternatives-top&quot;,&quot;text&quot;:&quot;Start WATI's 7-day free trial&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://tools.gantry.work/go/?u=https%3A%2F%2Faffiliates.wati.io%2Fgantry-trial%3Fsid1%3Dwati-alternatives-top"><span>Start WATI's 7-day free trial</span></a></p><p><em>Affiliate link: The Gantry may earn a commission if you sign up, at no extra cost to you.</em> <em><a href="https://www.gantry.work/p/how-the-gantry-works">How I test tools and how this site makes money.</a></em></p><p><strong>The main WATI alternatives are SleekFlow (strong in Singapore and Hong Kong, omnichannel), respond.io (for sales teams working several channels), Interakt and AiSensy (the cheapest, India-first), Twilio (for developers) and Meta's own Cloud API with an automation tool (no platform fee, no inbox).</strong> For most small Singapore businesses that mainly want a shared WhatsApp inbox, broadcasts and Shopify messages, WATI itself remains one of the better value choices; the alternatives win when you need something specific.</p><h2>The comparison in 50 seconds</h2><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;04bab17f-58c7-455e-9311-f797984a5961&quot;,&quot;duration&quot;:null}"></div><p>The short version: WATI is still good value for a small team that wants a shared inbox and broadcasts; the alternatives win on channels, team size, price or automation. Prices and the detail are below.</p><h2>First, what WATI costs and what you get</h2><p><a href="https://tools.gantry.work/go/?u=https%3A%2F%2Faffiliates.wati.io%2Fgantry-demo%3Fsid1%3Dwati-alternatives">WATI</a> is a Meta partner that gives your team a shared WhatsApp inbox, broadcasts, chatbots and help getting the official API and green tick. From Singapore: To see what your own month would cost, plan plus message charges, try the free <a href="https://tools.gantry.work/whatsapp-api-cost-calculator.html?utm_source=gantry&amp;utm_medium=article&amp;utm_campaign=wati-alternatives">WhatsApp API cost calculator</a>.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://tools.gantry.work/whatsapp-api-cost-calculator.html?utm_source=gantry&amp;utm_medium=demo&amp;utm_campaign=wati-alternatives&amp;utm_content=uxa" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ShFY!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe82bb096-fff1-4757-86b1-56cae8f7fdc6_760x608.gif 424w, https://substackcdn.com/image/fetch/$s_!ShFY!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe82bb096-fff1-4757-86b1-56cae8f7fdc6_760x608.gif 848w, https://substackcdn.com/image/fetch/$s_!ShFY!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe82bb096-fff1-4757-86b1-56cae8f7fdc6_760x608.gif 1272w, https://substackcdn.com/image/fetch/$s_!ShFY!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe82bb096-fff1-4757-86b1-56cae8f7fdc6_760x608.gif 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!ShFY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe82bb096-fff1-4757-86b1-56cae8f7fdc6_760x608.gif" width="760" height="608" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e82bb096-fff1-4757-86b1-56cae8f7fdc6_760x608.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:608,&quot;width&quot;:760,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:594068,&quot;alt&quot;:&quot;Demo: The free WhatsApp API cost calculator at work&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/gif&quot;,&quot;href&quot;:&quot;https://tools.gantry.work/whatsapp-api-cost-calculator.html?utm_source=gantry&amp;utm_medium=demo&amp;utm_campaign=wati-alternatives&amp;utm_content=uxa&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Demo: The free WhatsApp API cost calculator at work" title="Demo: The free WhatsApp API cost calculator at work" srcset="https://substackcdn.com/image/fetch/$s_!ShFY!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe82bb096-fff1-4757-86b1-56cae8f7fdc6_760x608.gif 424w, https://substackcdn.com/image/fetch/$s_!ShFY!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe82bb096-fff1-4757-86b1-56cae8f7fdc6_760x608.gif 848w, https://substackcdn.com/image/fetch/$s_!ShFY!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe82bb096-fff1-4757-86b1-56cae8f7fdc6_760x608.gif 1272w, https://substackcdn.com/image/fetch/$s_!ShFY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe82bb096-fff1-4757-86b1-56cae8f7fdc6_760x608.gif 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><em>The free WhatsApp API cost calculator at work: your chats, updates and promotions in, the monthly bill line by line out. Click the animation to try your own numbers.</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://tools.gantry.work/whatsapp-api-cost-calculator.html?utm_source=gantry&amp;utm_medium=demo&amp;utm_campaign=wati-alternatives&amp;utm_content=uxa&quot;,&quot;text&quot;:&quot;Work out your WhatsApp bill&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://tools.gantry.work/whatsapp-api-cost-calculator.html?utm_source=gantry&amp;utm_medium=demo&amp;utm_campaign=wati-alternatives&amp;utm_content=uxa"><span>Work out your WhatsApp bill</span></a></p><ul><li><p><strong>Growth:</strong> S$119 a month billed yearly, or S$159 monthly. 3 users (no extra users), 15,000 broadcasts a month, 1,000 automation triggers, 2 commerce or CRM integrations, 10,000 API calls a month and no webhooks.</p></li><li><p><strong>Pro:</strong> S$329 a month billed yearly, or S$429 monthly. 5 users, extra users S$35 a month each, unlimited broadcasts, advanced chatbots, 5 integrations including HubSpot, 200,000 API calls and limited webhooks.</p></li><li><p><strong>Business:</strong> custom pricing, unlimited integrations including Salesforce and a dedicated success manager.</p></li><li><p><strong>Messages:</strong> charged on top, per WATI's rate card, which passes on Meta's per-message charges (see <a href="https://www.gantry.work/p/whatsapp-business-api-pricing">WhatsApp Business API pricing</a> for Singapore's rates).</p></li><li><p><strong>Trial:</strong> 7 days free, no setup fee.</p></li></ul><p><strong>My verdict on WATI.</strong> It is the quickest route from "we reply on one phone" to "three people share one WhatsApp number with proper assignment and broadcasts". The Shopify templates (abandoned cart, order confirmations) and catalog work well for small e-commerce shops. The limits bite on the Growth plan: only 3 users, only 2 integrations and no webhooks, so if you want WhatsApp to trigger things in your own systems you will be on Pro. That jump, from S$119 to S$329 a month, is the main reason people look at alternatives.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!rVbG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43c4054e-d630-4bc1-8694-f8c1bae28dd6_2560x1440.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!rVbG!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43c4054e-d630-4bc1-8694-f8c1bae28dd6_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!rVbG!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43c4054e-d630-4bc1-8694-f8c1bae28dd6_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!rVbG!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43c4054e-d630-4bc1-8694-f8c1bae28dd6_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!rVbG!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43c4054e-d630-4bc1-8694-f8c1bae28dd6_2560x1440.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!rVbG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43c4054e-d630-4bc1-8694-f8c1bae28dd6_2560x1440.png" width="2560" height="1440" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/43c4054e-d630-4bc1-8694-f8c1bae28dd6_2560x1440.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1440,&quot;width&quot;:2560,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:146261,&quot;alt&quot;:&quot;Bar chart of Singapore-dollar WhatsApp plans a month billed yearly: WATI Growth S$119 with 3 users and no webhooks; SleekFlow Pro S$199 with 3 users and 500 active contacts; WATI Pro S$329 with 5 users and limited webhooks; SleekFlow Premium S$479&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Bar chart of Singapore-dollar WhatsApp plans a month billed yearly: WATI Growth S$119 with 3 users and no webhooks; SleekFlow Pro S$199 with 3 users and 500 active contacts; WATI Pro S$329 with 5 users and limited webhooks; SleekFlow Premium S$479" title="Bar chart of Singapore-dollar WhatsApp plans a month billed yearly: WATI Growth S$119 with 3 users and no webhooks; SleekFlow Pro S$199 with 3 users and 500 active contacts; WATI Pro S$329 with 5 users and limited webhooks; SleekFlow Premium S$479" srcset="https://substackcdn.com/image/fetch/$s_!rVbG!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43c4054e-d630-4bc1-8694-f8c1bae28dd6_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!rVbG!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43c4054e-d630-4bc1-8694-f8c1bae28dd6_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!rVbG!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43c4054e-d630-4bc1-8694-f8c1bae28dd6_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!rVbG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43c4054e-d630-4bc1-8694-f8c1bae28dd6_2560x1440.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">The S$-priced plans side by side, checked from Singapore on 30 September 2026. Meta's message charges are extra.</figcaption></figure></div><h2>Free checklist: WhatsApp broadcasts and FAQ replies without getting banned</h2><p>Most bans come from three things: unofficial bulk senders, messaging people who never agreed, and promotions Meta did not approve. Use this during WATI's 7-day trial, or with any provider below.</p><h3>1. Get opt-in, in words that name your business</h3><p>Meta's policy asks that the customer agrees to messages from your business on WhatsApp. Copy and adapt:</p><ul><li><p><strong>Checkout or form checkbox: </strong>"Send me order updates and occasional offers from [Your business] on WhatsApp. Reply STOP any time."</p></li><li><p><strong>Counter QR code: </strong>"Scan to get [Your business] updates on WhatsApp. At most two offers a month. Reply STOP to opt out."</p></li><li><p><strong>In an existing chat: </strong>"Can [Your business] send you delivery updates and the odd promotion here? Reply YES to agree."</p></li></ul><p>Keep a column in your contact list for the date and source of each opt-in. It is your evidence if a customer complains.</p><h3>2. Submit three templates on day one</h3><ul><li><p><strong>Order update (utility): </strong>"Hi {{1}}, your order {{2}} is packed and will be delivered on {{3}}. Reply here if anything needs changing."</p></li><li><p><strong>Payment reminder (utility): </strong>"Hi {{1}}, invoice {{2}} for {{3}} is due on {{4}}. You can pay here: {{5}}"</p></li><li><p><strong>Offer (marketing): </strong>"Hi {{1}}, this week only: {{2}} off {{3}} for returning customers. Reply YES to reserve one, or STOP to stop offers."</p></li></ul><p>Meta reviews every template and can move a promotion into the marketing category, which is charged at a higher rate. Do not dress offers up as updates.</p><h3>3. Respect the sending limits</h3><p>Meta's developer documentation (checked October 2026) says a new business portfolio can message 250 unique customers outside a customer service window in a rolling 24 hours. It rises to 2,000 once you complete a scaling path such as business verification, then to 10,000, 100,000 and unlimited automatically while your message quality stays high. Send your first broadcasts to your warmest customers, and pause if blocks or reports rise.</p><h3>4. Answer the same questions automatically</h3><ul><li><p>List the ten questions you answer every day: price list, opening hours, address, delivery fee, stock, payment methods.</p></li><li><p>Write one short answer for each, with a link or catalog item where it helps, and a keyword that triggers it.</p></li><li><p>Send anything that is not on the list to a person, with a reply such as "Thanks, a member of the team will reply within the hour."</p></li><li><p>Count the volume: WATI's Growth plan includes 1,000 automation triggers a month and Pro 2,000 (wati.io, checked October 2026).</p></li></ul><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://tools.gantry.work/go/?u=https%3A%2F%2Faffiliates.wati.io%2Fgantry-trial%3Fsid1%3Dwati-alternatives-mid&quot;,&quot;text&quot;:&quot;Start WATI's 7-day free trial&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://tools.gantry.work/go/?u=https%3A%2F%2Faffiliates.wati.io%2Fgantry-trial%3Fsid1%3Dwati-alternatives-mid"><span>Start WATI's 7-day free trial</span></a></p><p><em>What happens when you click: WATI's website opens with The Gantry's affiliate code. Click Try for Free to start the 7-day trial; there is no setup fee. Have admin access to your Meta business account, the phone number you will use and your website ready. Prefer a walkthrough first? <a href="https://tools.gantry.work/go/?u=https%3A%2F%2Faffiliates.wati.io%2Fgantry-demo%3Fsid1%3Dwati-alternatives">Book a WATI demo</a>.</em></p><h2>The alternatives, compared</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!krsH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59845adc-70d8-44f6-9e9a-6b3d45b03c5a_2400x1536.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!krsH!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59845adc-70d8-44f6-9e9a-6b3d45b03c5a_2400x1536.png 424w, https://substackcdn.com/image/fetch/$s_!krsH!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59845adc-70d8-44f6-9e9a-6b3d45b03c5a_2400x1536.png 848w, https://substackcdn.com/image/fetch/$s_!krsH!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59845adc-70d8-44f6-9e9a-6b3d45b03c5a_2400x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!krsH!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59845adc-70d8-44f6-9e9a-6b3d45b03c5a_2400x1536.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!krsH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59845adc-70d8-44f6-9e9a-6b3d45b03c5a_2400x1536.png" width="2400" height="1536" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/59845adc-70d8-44f6-9e9a-6b3d45b03c5a_2400x1536.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1536,&quot;width&quot;:2400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:288238,&quot;alt&quot;:&quot;Comparison card: WATI, SleekFlow, respond.io, Interakt, AiSensy, Twilio and Meta Cloud API, with entry price, users included and who each suits&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Comparison card: WATI, SleekFlow, respond.io, Interakt, AiSensy, Twilio and Meta Cloud API, with entry price, users included and who each suits" title="Comparison card: WATI, SleekFlow, respond.io, Interakt, AiSensy, Twilio and Meta Cloud API, with entry price, users included and who each suits" srcset="https://substackcdn.com/image/fetch/$s_!krsH!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59845adc-70d8-44f6-9e9a-6b3d45b03c5a_2400x1536.png 424w, https://substackcdn.com/image/fetch/$s_!krsH!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59845adc-70d8-44f6-9e9a-6b3d45b03c5a_2400x1536.png 848w, https://substackcdn.com/image/fetch/$s_!krsH!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59845adc-70d8-44f6-9e9a-6b3d45b03c5a_2400x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!krsH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59845adc-70d8-44f6-9e9a-6b3d45b03c5a_2400x1536.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h3>SleekFlow: the closest like-for-like, strong in Singapore</h3><p>SleekFlow was founded in Hong Kong and has a large customer base across Singapore and Hong Kong retail and services. Pro is S$199 a month billed yearly (about S$269 monthly), with 3 users and 500 monthly active contacts to start; Premium is S$479 a month billed yearly. It covers WhatsApp, Instagram, Facebook and more in one inbox, with AI agents, broadcasts, a flow builder and Shopify and Google Sheets integrations.</p><p><strong>Choose it if</strong> you sell across several chat channels and want local support in Singapore time. <strong>Skip it if</strong> you mainly need WhatsApp: WATI's Growth plan is cheaper for that.</p><h3>respond.io: for sales teams on several channels</h3><p>respond.io starts at US$79 a month billed yearly (US$99 monthly) for 5 users, with extra users from US$12 a month; Growth is US$159 a month billed yearly. It is built around conversations as a sales pipeline: lifecycle stages, assignment rules, workflows and AI agents, across WhatsApp, email, Instagram, calls and more. Note that Starter is a shared inbox only: broadcasts, workflows and AI agents start on Growth. <a href="https://www.gantry.work/p/wati-vs-respond-io">WATI vs respond.io</a> works through the cost for 2, 4 and 10-person teams.</p><p><strong>Choose it if</strong> you have a sales team working leads across channels and need more than 3 users without paying Pro prices. <strong>Skip it if</strong> you want broadcasts and Shopify templates first; WATI is simpler for that.</p><h3>Interakt: cheapest per quarter, India-first</h3><p>Interakt, from India, is priced per quarter: US$69 a quarter for Starter, US$149 for Growth and US$189 for Advanced, with unlimited agents. It covers the WhatsApp basics (team inbox, broadcasts and automations) at a fraction of the price.</p><p><strong>Choose it if</strong> price is the deciding factor and your team is comfortable with support aimed mainly at Indian businesses. <strong>Skip it if</strong> you want Singapore-hours support or deep integrations.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.gantry.work/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">One practical automation each week: a free tool, a tested setup and what it really costs. Free, no spam.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h3>AiSensy: a free plan to get the API</h3><p>AiSensy, also India-first, has a free-forever plan to get the official WhatsApp API and green tick application, with paid plans priced in rupees and add-ons for extra seats and AI. It is the lowest-cost way to get an API number running.</p><p><strong>Choose it if</strong> you want to test the WhatsApp API before paying anything. <strong>Skip it if</strong> you need a polished team inbox for several staff.</p><h3>Twilio: for developers</h3><p>Twilio charges US$0.005 per message on top of Meta's charges, with no monthly plan. You get an API, not an inbox: someone has to build the screens and logic.</p><p><strong>Choose it if</strong> you have developers building WhatsApp into your own software. <strong>Skip it if</strong> your staff need to chat with customers tomorrow.</p><h3>Going direct: Meta's Cloud API plus an automation tool</h3><p>You can connect your number to Meta's Cloud API yourself and pay only Meta's message charges. With a tool like n8n or <a href="https://tools.gantry.work/go/?u=https%3A%2F%2Fwww.make.com%2Fen%2Fregister%3Fpc%3Dgntrywk">Make</a>, you can automate order intake, confirmations and reminders; my <a href="https://www.gantry.work/p/n8n-whatsapp-order-automation">WhatsApp order workflow</a> is a free, tested example.</p><p><strong>Choose it if</strong> you need automated messages from your systems rather than people chatting. <strong>Skip it if</strong> several staff need to answer customers: you would have no shared inbox, and the number cannot also be used in the WhatsApp Business app.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!LglM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6cf093d0-985e-443e-b9d3-692803fbf6b7_2560x1440.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!LglM!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6cf093d0-985e-443e-b9d3-692803fbf6b7_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!LglM!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6cf093d0-985e-443e-b9d3-692803fbf6b7_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!LglM!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6cf093d0-985e-443e-b9d3-692803fbf6b7_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!LglM!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6cf093d0-985e-443e-b9d3-692803fbf6b7_2560x1440.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!LglM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6cf093d0-985e-443e-b9d3-692803fbf6b7_2560x1440.png" width="2560" height="1440" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6cf093d0-985e-443e-b9d3-692803fbf6b7_2560x1440.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1440,&quot;width&quot;:2560,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:131221,&quot;alt&quot;:&quot;Comparison of going direct with Meta's Cloud API. What you give up: no shared inbox for staff, the number can't also run the WhatsApp Business app, someone technical has to set it up. What you get: no platform fee, only Meta's charges; order intake, confirmations and reminders via n8n or Make&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Comparison of going direct with Meta's Cloud API. What you give up: no shared inbox for staff, the number can't also run the WhatsApp Business app, someone technical has to set it up. What you get: no platform fee, only Meta's charges; order intake, confirmations and reminders via n8n or Make" title="Comparison of going direct with Meta's Cloud API. What you give up: no shared inbox for staff, the number can't also run the WhatsApp Business app, someone technical has to set it up. What you get: no platform fee, only Meta's charges; order intake, confirmations and reminders via n8n or Make" srcset="https://substackcdn.com/image/fetch/$s_!LglM!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6cf093d0-985e-443e-b9d3-692803fbf6b7_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!LglM!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6cf093d0-985e-443e-b9d3-692803fbf6b7_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!LglM!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6cf093d0-985e-443e-b9d3-692803fbf6b7_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!LglM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6cf093d0-985e-443e-b9d3-692803fbf6b7_2560x1440.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Going direct suits automated messages, not a team chatting with customers.</figcaption></figure></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!9t-h!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7bed51e5-f2b7-4a8f-9520-29f79991ab18_2400x1274.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!9t-h!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7bed51e5-f2b7-4a8f-9520-29f79991ab18_2400x1274.png 424w, https://substackcdn.com/image/fetch/$s_!9t-h!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7bed51e5-f2b7-4a8f-9520-29f79991ab18_2400x1274.png 848w, https://substackcdn.com/image/fetch/$s_!9t-h!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7bed51e5-f2b7-4a8f-9520-29f79991ab18_2400x1274.png 1272w, https://substackcdn.com/image/fetch/$s_!9t-h!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7bed51e5-f2b7-4a8f-9520-29f79991ab18_2400x1274.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!9t-h!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7bed51e5-f2b7-4a8f-9520-29f79991ab18_2400x1274.png" width="2400" height="1274" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7bed51e5-f2b7-4a8f-9520-29f79991ab18_2400x1274.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1274,&quot;width&quot;:2400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:224121,&quot;alt&quot;:&quot;Fit card: wati: who it fits, who should skip it, real cost&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Fit card: wati: who it fits, who should skip it, real cost" title="Fit card: wati: who it fits, who should skip it, real cost" srcset="https://substackcdn.com/image/fetch/$s_!9t-h!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7bed51e5-f2b7-4a8f-9520-29f79991ab18_2400x1274.png 424w, https://substackcdn.com/image/fetch/$s_!9t-h!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7bed51e5-f2b7-4a8f-9520-29f79991ab18_2400x1274.png 848w, https://substackcdn.com/image/fetch/$s_!9t-h!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7bed51e5-f2b7-4a8f-9520-29f79991ab18_2400x1274.png 1272w, https://substackcdn.com/image/fetch/$s_!9t-h!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7bed51e5-f2b7-4a8f-9520-29f79991ab18_2400x1274.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Not sure WATI is the right fit, or worried about moving your number? <a href="https://tools.gantry.work/review.html?utm_source=gantry&amp;utm_medium=wati-setup-check">Book a free 20-minute WhatsApp setup check</a> and I will tell you honestly whether you need it yet.</p><h2>Which one should you choose?</h2><ul><li><p><strong>One to three people answering WhatsApp, broadcasts, maybe Shopify:</strong> <a href="https://tools.gantry.work/go/?u=https%3A%2F%2Faffiliates.wati.io%2Fgantry-demo%3Fsid1%3Dwati-alternatives">WATI Growth</a>.</p></li><li><p><strong>Several channels, local support in Singapore:</strong> SleekFlow.</p></li><li><p><strong>A sales team of 5 or more working leads across channels:</strong> respond.io.</p></li><li><p><strong>Lowest possible price:</strong> Interakt or AiSensy.</p></li><li><p><strong>Automated messages from your own systems, no human inbox:</strong> Meta's Cloud API with n8n or Make, or Twilio if you have developers.</p></li></ul><p>Whichever you pick, Meta's per-message charges are the same underneath; the plans differ in the inbox, automation and support on top. Run the free trial with your own number and one real week of messages before you commit to annual billing.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!L3S1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb45a1bdb-cfc7-487d-a074-10b5a018f2c4_2560x1440.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!L3S1!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb45a1bdb-cfc7-487d-a074-10b5a018f2c4_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!L3S1!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb45a1bdb-cfc7-487d-a074-10b5a018f2c4_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!L3S1!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb45a1bdb-cfc7-487d-a074-10b5a018f2c4_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!L3S1!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb45a1bdb-cfc7-487d-a074-10b5a018f2c4_2560x1440.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!L3S1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb45a1bdb-cfc7-487d-a074-10b5a018f2c4_2560x1440.png" width="2560" height="1440" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b45a1bdb-cfc7-487d-a074-10b5a018f2c4_2560x1440.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1440,&quot;width&quot;:2560,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:155761,&quot;alt&quot;:&quot;Which to choose: 1 to 3 people with broadcasts and Shopify, WATI Growth; several channels and Singapore support, SleekFlow; a sales team of 5 or more across channels, respond.io; lowest price, Interakt or AiSensy; automated messages with no inbox, Cloud API plus n8n; developers building it in, Twilio&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Which to choose: 1 to 3 people with broadcasts and Shopify, WATI Growth; several channels and Singapore support, SleekFlow; a sales team of 5 or more across channels, respond.io; lowest price, Interakt or AiSensy; automated messages with no inbox, Cloud API plus n8n; developers building it in, Twilio" title="Which to choose: 1 to 3 people with broadcasts and Shopify, WATI Growth; several channels and Singapore support, SleekFlow; a sales team of 5 or more across channels, respond.io; lowest price, Interakt or AiSensy; automated messages with no inbox, Cloud API plus n8n; developers building it in, Twilio" srcset="https://substackcdn.com/image/fetch/$s_!L3S1!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb45a1bdb-cfc7-487d-a074-10b5a018f2c4_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!L3S1!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb45a1bdb-cfc7-487d-a074-10b5a018f2c4_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!L3S1!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb45a1bdb-cfc7-487d-a074-10b5a018f2c4_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!L3S1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb45a1bdb-cfc7-487d-a074-10b5a018f2c4_2560x1440.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">The short answer, by what you need.</figcaption></figure></div><p><em>Stuck choosing or setting up? <a href="https://tools.gantry.work/automation-help/?from=wati-alternatives">Tell me where you're stuck</a> and you'll get the fix, or a free 20-minute review if it's worth one.</em></p><h2>Questions to ask before you switch</h2><ol><li><p><strong>Can I keep my current number and the WhatsApp Business app?</strong> Coexistence is only available through Meta partners, and not every plan supports it. Ask before you sign.</p></li><li><p><strong>How are messages billed?</strong> At Meta's rate, or the provider's own rate card? Ask for the rate for Singapore numbers in each category.</p></li><li><p><strong>How many users, and what does the next one cost?</strong> This is where WhatsApp platforms get expensive as you grow.</p></li><li><p><strong>Does it connect to my accounting or CRM?</strong> Check the exact integrations on the plan you are buying, not the top plan.</p></li><li><p><strong>Can I export my contacts and chat history if I leave?</strong></p></li></ol><h2>Frequently asked questions</h2><p><strong>What is the best alternative to WATI?</strong> For Singapore businesses wanting a similar product with local support, SleekFlow. For sales teams on several channels, respond.io. For the lowest price, Interakt or AiSensy.</p><p><strong>How much does WATI cost in Singapore?</strong> The Growth plan is S$119 a month billed yearly (S$159 monthly) for 3 users; Pro is S$329 a month billed yearly (S$429 monthly) for 5 users. Meta's message charges are extra.</p><p><strong>Is WATI worth it?</strong> For small teams that want a shared WhatsApp inbox, broadcasts and Shopify messaging quickly, yes. If you need more than 3 users or webhooks on a budget, compare respond.io and SleekFlow first.</p><p><strong>WATI vs respond.io: which is better?</strong> WATI is simpler and stronger for broadcasts and e-commerce; respond.io is stronger for multi-channel sales teams and includes 5 users from its entry plan. For broadcasts and workflows the fair match is respond.io Growth (US$159 a month billed yearly) against WATI Pro; see the full <a href="https://www.gantry.work/p/wati-vs-respond-io">WATI vs respond.io comparison</a>.</p><p><strong>Can I use the WhatsApp Business API without a provider?</strong> Yes, through Meta's Cloud API, paying only per-message charges, but you get no inbox and need someone technical to set it up.</p><blockquote><p><strong>Try it on one real week of chats</strong></p><p>For one to three people answering WhatsApp with broadcasts and Shopify messages, WATI Growth is S$119 a month billed yearly or S$159 monthly, with 3 users and 15,000 broadcasts a month (checked October 2026). Run the 7-day trial with the checklist above before you commit.</p></blockquote><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://tools.gantry.work/go/?u=https%3A%2F%2Faffiliates.wati.io%2Fgantry-trial%3Fsid1%3Dwati-alternatives-end&quot;,&quot;text&quot;:&quot;Start WATI's 7-day free trial&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://tools.gantry.work/go/?u=https%3A%2F%2Faffiliates.wati.io%2Fgantry-trial%3Fsid1%3Dwati-alternatives-end"><span>Start WATI's 7-day free trial</span></a></p><p><em>Affiliate link: The Gantry may earn a commission if you sign up, at no extra cost to you.</em></p><h2>Next read</h2><ul><li><p><a href="https://www.gantry.work/p/wati-vs-respond-io">WATI vs respond.io</a>: the two most common choices, priced for 2, 4 and 10 people</p></li><li><p><a href="https://www.gantry.work/p/whatsapp-business-api-pricing">WhatsApp Business API pricing</a>: Meta's per-message charges for Singapore</p></li><li><p><a href="https://www.gantry.work/p/n8n-whatsapp-order-automation">WhatsApp order automation</a>: log and confirm chat orders automatically</p></li></ul><p><strong>Free tool: </strong><a href="https://tools.gantry.work/whatsapp-api-cost-calculator.html?utm_source=gantry&amp;utm_medium=nextread&amp;utm_campaign=wati-alternatives">WhatsApp API cost calculator</a>. Your plan plus message charges, for your own volumes.</p><p><strong>Rather have someone look at your setup? </strong>Book a <a href="https://tools.gantry.work/review.html?utm_source=gantry&amp;utm_medium=nextread&amp;utm_campaign=wati-alternatives">free 20-minute systems review</a>. Bring the process that keeps going wrong; you get an honest answer on whether to automate it, and how.</p><p><em>I'm Sayed. I work closely with business owners to automate their operations and build workflows that actually make sense. I write The Gantry about ERP and automation for SMEs.</em></p><p><strong>Working on something similar?</strong> Connect with me on LinkedIn and tell me what you are working on. I read and reply to every message, and the questions people send become the next guides.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.linkedin.com/in/sayedomni&quot;,&quot;text&quot;:&quot;Connect with Sayed on LinkedIn&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.linkedin.com/in/sayedomni"><span>Connect with Sayed on LinkedIn</span></a></p><p><em>How I test everything and how this site makes money: <a href="https://www.gantry.work/p/how-the-gantry-works">How The Gantry works</a>.</em></p>]]></content:encoded></item><item><title><![CDATA[One automation this week: chase every late payer in 10 seconds]]></title><description><![CDATA[A free tool that writes this week's payment reminders for you, and a 30-minute setup that sends them every week without you.]]></description><link>https://www.gantry.work/p/one-automation-001-chase-late-payers</link><guid isPermaLink="false">https://www.gantry.work/p/one-automation-001-chase-late-payers</guid><dc:creator><![CDATA[Sayed Rashid]]></dc:creator><pubDate>Thu, 08 Oct 2026 00:01:02 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/8b6d95cc-645e-453d-ac23-968cba3fd62f_760x547.gif" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>Some links in this email are affiliate links. If you sign up through them, The Gantry may earn a commission at no extra cost to you.</em> <em><a href="https://www.gantry.work/p/how-the-gantry-works">How I test tools and how this site makes money.</a></em></p><p><strong>Each week: one job your business can automate this week, free, in under an hour.</strong> This week it's chasing late payers, because almost every owner I speak to has a list of them and nobody who enjoys sending the emails.</p><h2>This week's automation in 40 seconds</h2><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;6393fdf4-f5b0-493b-8a03-9740cce1f083&quot;,&quot;duration&quot;:null}"></div><p>The short version: chase today with the free reminder writer, then let a free Make scenario send the reminders every week so nobody has to remember on Monday.</p><h2>Do it today, in 10 seconds</h2><p>Export your aged receivables from Xero or QuickBooks and drop the file into the free <a href="https://tools.gantry.work/invoice-chaser.html?utm_source=newsletter&amp;utm_medium=email&amp;utm_campaign=one-automation-001">Overdue Invoice Reminder Writer</a>. You get a ready-to-send reminder for every late customer, friendly, firm or final depending on how late they are, with all their invoices in one email. Your file never leaves your browser.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!rawZ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd5d89a7-5901-419e-bac4-17327be3cd41_2560x1440.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!rawZ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd5d89a7-5901-419e-bac4-17327be3cd41_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!rawZ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd5d89a7-5901-419e-bac4-17327be3cd41_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!rawZ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd5d89a7-5901-419e-bac4-17327be3cd41_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!rawZ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd5d89a7-5901-419e-bac4-17327be3cd41_2560x1440.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!rawZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd5d89a7-5901-419e-bac4-17327be3cd41_2560x1440.png" width="2560" height="1440" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dd5d89a7-5901-419e-bac4-17327be3cd41_2560x1440.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1440,&quot;width&quot;:2560,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:101883,&quot;alt&quot;:&quot;Four steps to chase late payers by hand: 1 export the aged receivables report from Xero or QuickBooks, 2 drop the file into the free Overdue Invoice Reminder Writer, 3 get one email for each late customer with all their invoices, 4 in the right tone, friendly, firm or final, by how late they are&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Four steps to chase late payers by hand: 1 export the aged receivables report from Xero or QuickBooks, 2 drop the file into the free Overdue Invoice Reminder Writer, 3 get one email for each late customer with all their invoices, 4 in the right tone, friendly, firm or final, by how late they are" title="Four steps to chase late payers by hand: 1 export the aged receivables report from Xero or QuickBooks, 2 drop the file into the free Overdue Invoice Reminder Writer, 3 get one email for each late customer with all their invoices, 4 in the right tone, friendly, firm or final, by how late they are" srcset="https://substackcdn.com/image/fetch/$s_!rawZ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd5d89a7-5901-419e-bac4-17327be3cd41_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!rawZ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd5d89a7-5901-419e-bac4-17327be3cd41_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!rawZ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd5d89a7-5901-419e-bac4-17327be3cd41_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!rawZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd5d89a7-5901-419e-bac4-17327be3cd41_2560x1440.png 1456w" sizes="auto, 100vw" loading="lazy" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Export, drop, send. The file never leaves your browser.</figcaption></figure></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://tools.gantry.work/invoice-chaser.html?utm_source=gantry&amp;utm_medium=demo&amp;utm_campaign=one-automation-001-chase-late-payers&amp;utm_content=uxa" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!obwY!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b6d95cc-645e-453d-ac23-968cba3fd62f_760x547.gif 424w, https://substackcdn.com/image/fetch/$s_!obwY!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b6d95cc-645e-453d-ac23-968cba3fd62f_760x547.gif 848w, https://substackcdn.com/image/fetch/$s_!obwY!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b6d95cc-645e-453d-ac23-968cba3fd62f_760x547.gif 1272w, https://substackcdn.com/image/fetch/$s_!obwY!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b6d95cc-645e-453d-ac23-968cba3fd62f_760x547.gif 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!obwY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b6d95cc-645e-453d-ac23-968cba3fd62f_760x547.gif" width="760" height="547" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8b6d95cc-645e-453d-ac23-968cba3fd62f_760x547.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:547,&quot;width&quot;:760,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:827186,&quot;alt&quot;:&quot;Demo: The free Overdue Invoice Reminder Writer at work&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/gif&quot;,&quot;href&quot;:&quot;https://tools.gantry.work/invoice-chaser.html?utm_source=gantry&amp;utm_medium=demo&amp;utm_campaign=one-automation-001-chase-late-payers&amp;utm_content=uxa&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Demo: The free Overdue Invoice Reminder Writer at work" title="Demo: The free Overdue Invoice Reminder Writer at work" srcset="https://substackcdn.com/image/fetch/$s_!obwY!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b6d95cc-645e-453d-ac23-968cba3fd62f_760x547.gif 424w, https://substackcdn.com/image/fetch/$s_!obwY!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b6d95cc-645e-453d-ac23-968cba3fd62f_760x547.gif 848w, https://substackcdn.com/image/fetch/$s_!obwY!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b6d95cc-645e-453d-ac23-968cba3fd62f_760x547.gif 1272w, https://substackcdn.com/image/fetch/$s_!obwY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b6d95cc-645e-453d-ac23-968cba3fd62f_760x547.gif 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><em>The free Overdue Invoice Reminder Writer at work: drop in your aged receivables and it writes the right reminder for every late customer. Click the animation to try it with your own file.</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://tools.gantry.work/invoice-chaser.html?utm_source=gantry&amp;utm_medium=demo&amp;utm_campaign=one-automation-001-chase-late-payers&amp;utm_content=uxa&quot;,&quot;text&quot;:&quot;Try the free reminder writer&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://tools.gantry.work/invoice-chaser.html?utm_source=gantry&amp;utm_medium=demo&amp;utm_campaign=one-automation-001-chase-late-payers&amp;utm_content=uxa"><span>Try the free reminder writer</span></a></p><h2>Make it automatic</h2><p>Doing it by hand every Monday works until the Monday you forget. A free <a href="https://tools.gantry.work/go/?u=https%3A%2F%2Fwww.make.com%2Fen%2Fregister%3Fpc%3Dgntrywk">Make</a> scenario can check Xero every morning, email each late customer at 7, 14 and 30 days past due, and never chase the same invoice twice. The step-by-step setup is here: <a href="https://www.gantry.work/p/xero-invoice-reminders-automation">Chase overdue Xero invoices automatically</a>. Most small businesses run it on Make's free plan.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!qM_Z!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ef2e271-02a0-4405-ba03-29cecba7a3ec_2560x1440.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!qM_Z!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ef2e271-02a0-4405-ba03-29cecba7a3ec_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!qM_Z!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ef2e271-02a0-4405-ba03-29cecba7a3ec_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!qM_Z!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ef2e271-02a0-4405-ba03-29cecba7a3ec_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!qM_Z!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ef2e271-02a0-4405-ba03-29cecba7a3ec_2560x1440.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!qM_Z!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ef2e271-02a0-4405-ba03-29cecba7a3ec_2560x1440.png" width="2560" height="1440" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8ef2e271-02a0-4405-ba03-29cecba7a3ec_2560x1440.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1440,&quot;width&quot;:2560,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:86516,&quot;alt&quot;:&quot;Three numbers: 10 seconds from an aged receivables export to written reminders; reminders at 7, 14 and 30 days past due; one email per late customer with all their invoices&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Three numbers: 10 seconds from an aged receivables export to written reminders; reminders at 7, 14 and 30 days past due; one email per late customer with all their invoices" title="Three numbers: 10 seconds from an aged receivables export to written reminders; reminders at 7, 14 and 30 days past due; one email per late customer with all their invoices" srcset="https://substackcdn.com/image/fetch/$s_!qM_Z!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ef2e271-02a0-4405-ba03-29cecba7a3ec_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!qM_Z!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ef2e271-02a0-4405-ba03-29cecba7a3ec_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!qM_Z!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ef2e271-02a0-4405-ba03-29cecba7a3ec_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!qM_Z!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ef2e271-02a0-4405-ba03-29cecba7a3ec_2560x1440.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">The whole job in three numbers.</figcaption></figure></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!GZ4r!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3624dd07-d6ea-425f-bedd-2ff82f81ae7e_2560x1440.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!GZ4r!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3624dd07-d6ea-425f-bedd-2ff82f81ae7e_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!GZ4r!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3624dd07-d6ea-425f-bedd-2ff82f81ae7e_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!GZ4r!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3624dd07-d6ea-425f-bedd-2ff82f81ae7e_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!GZ4r!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3624dd07-d6ea-425f-bedd-2ff82f81ae7e_2560x1440.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!GZ4r!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3624dd07-d6ea-425f-bedd-2ff82f81ae7e_2560x1440.png" width="2560" height="1440" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3624dd07-d6ea-425f-bedd-2ff82f81ae7e_2560x1440.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1440,&quot;width&quot;:2560,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:138918,&quot;alt&quot;:&quot;Chasing by hand every Monday versus a free Make scenario. By hand: works until the Monday you forget; nobody enjoys sending the emails. Make: checks Xero every morning, emails at 7, 14 and 30 days past due, never chases the same invoice twice, and most small businesses run it on the free plan&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Chasing by hand every Monday versus a free Make scenario. By hand: works until the Monday you forget; nobody enjoys sending the emails. Make: checks Xero every morning, emails at 7, 14 and 30 days past due, never chases the same invoice twice, and most small businesses run it on the free plan" title="Chasing by hand every Monday versus a free Make scenario. By hand: works until the Monday you forget; nobody enjoys sending the emails. Make: checks Xero every morning, emails at 7, 14 and 30 days past due, never chases the same invoice twice, and most small businesses run it on the free plan" srcset="https://substackcdn.com/image/fetch/$s_!GZ4r!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3624dd07-d6ea-425f-bedd-2ff82f81ae7e_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!GZ4r!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3624dd07-d6ea-425f-bedd-2ff82f81ae7e_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!GZ4r!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3624dd07-d6ea-425f-bedd-2ff82f81ae7e_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!GZ4r!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3624dd07-d6ea-425f-bedd-2ff82f81ae7e_2560x1440.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">The weekly version, automated.</figcaption></figure></div><h2>One question</h2><p>What is the one job in your business you would most like to never do by hand again? Reply and tell me. The most common answers become the next automations in this series.</p><p><em>More free tools that do the work for you: <a href="https://tools.gantry.work/?utm_source=newsletter&amp;utm_medium=email">tools.gantry.work</a>. If the real problem is bigger than one job, I do a free <a href="https://tools.gantry.work/review.html?utm_source=newsletter&amp;utm_medium=email&amp;utm_campaign=one-automation-001">20-minute systems review</a>.</em></p><p><em>Sayed</em></p><p><strong>Working on something similar?</strong> Connect with me on LinkedIn and tell me what you are working on. I read and reply to every message, and the questions people send become the next guides.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.linkedin.com/in/sayedomni&quot;,&quot;text&quot;:&quot;Connect with Sayed on LinkedIn&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.linkedin.com/in/sayedomni"><span>Connect with Sayed on LinkedIn</span></a></p><p><em>How I test everything and how this site makes money: <a href="https://www.gantry.work/p/how-the-gantry-works">How The Gantry works</a>.</em></p>]]></content:encoded></item><item><title><![CDATA[Payment Reminder Email Templates: Friendly, Firm and Final (Copy and Send)]]></title><description><![CDATA[Six payment reminder templates for every stage, from the courtesy note before the due date to the final notice, the schedule that gets invoices paid, and a free tool that writes them for every late customer at once.]]></description><link>https://www.gantry.work/p/payment-reminder-email-templates</link><guid isPermaLink="false">https://www.gantry.work/p/payment-reminder-email-templates</guid><dc:creator><![CDATA[Sayed Rashid]]></dc:creator><pubDate>Wed, 07 Oct 2026 02:00:50 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/1e9a5a9a-fbf1-4ee0-ba5d-365ea72d857b_2400x1016.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>Some links on this page are affiliate links. If you sign up through them, The Gantry may earn a commission at no extra cost to you. I only recommend tools I would use on a client project.</em> <em><a href="https://www.gantry.work/p/how-the-gantry-works">How I test tools and how this site makes money.</a></em></p><p><strong>A payment reminder that works is short, specific and escalates on a schedule: it names the invoice, the amount and the due date, makes paying easy, starts friendly, gets firmer after two weeks, and ends with a clear final notice.</strong> The six templates below cover every stage. If you have more than a few late customers, the free <a href="https://tools.gantry.work/invoice-chaser.html?utm_source=gantry&amp;utm_medium=article&amp;utm_campaign=payment-reminder-templates">Overdue Invoice Reminder Writer</a> writes the right one for each of them in seconds from your accounting export.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://tools.gantry.work/invoice-chaser.html?utm_source=gantry&amp;utm_medium=demo&amp;utm_campaign=payment-reminder-email-templates&amp;utm_content=uxa" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!obwY!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b6d95cc-645e-453d-ac23-968cba3fd62f_760x547.gif 424w, https://substackcdn.com/image/fetch/$s_!obwY!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b6d95cc-645e-453d-ac23-968cba3fd62f_760x547.gif 848w, https://substackcdn.com/image/fetch/$s_!obwY!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b6d95cc-645e-453d-ac23-968cba3fd62f_760x547.gif 1272w, https://substackcdn.com/image/fetch/$s_!obwY!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b6d95cc-645e-453d-ac23-968cba3fd62f_760x547.gif 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!obwY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b6d95cc-645e-453d-ac23-968cba3fd62f_760x547.gif" width="760" height="547" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8b6d95cc-645e-453d-ac23-968cba3fd62f_760x547.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:547,&quot;width&quot;:760,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:827186,&quot;alt&quot;:&quot;Demo: The free Overdue Invoice Reminder Writer at work&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/gif&quot;,&quot;href&quot;:&quot;https://tools.gantry.work/invoice-chaser.html?utm_source=gantry&amp;utm_medium=demo&amp;utm_campaign=payment-reminder-email-templates&amp;utm_content=uxa&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Demo: The free Overdue Invoice Reminder Writer at work" title="Demo: The free Overdue Invoice Reminder Writer at work" srcset="https://substackcdn.com/image/fetch/$s_!obwY!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b6d95cc-645e-453d-ac23-968cba3fd62f_760x547.gif 424w, https://substackcdn.com/image/fetch/$s_!obwY!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b6d95cc-645e-453d-ac23-968cba3fd62f_760x547.gif 848w, https://substackcdn.com/image/fetch/$s_!obwY!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b6d95cc-645e-453d-ac23-968cba3fd62f_760x547.gif 1272w, https://substackcdn.com/image/fetch/$s_!obwY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b6d95cc-645e-453d-ac23-968cba3fd62f_760x547.gif 1456w" sizes="auto, 100vw" loading="lazy" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><em>The free Overdue Invoice Reminder Writer at work: drop in your aged receivables and it writes the right reminder for every late customer. Click the animation to try it with your own file.</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://tools.gantry.work/invoice-chaser.html?utm_source=gantry&amp;utm_medium=demo&amp;utm_campaign=payment-reminder-email-templates&amp;utm_content=uxa&quot;,&quot;text&quot;:&quot;Try the free reminder writer&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://tools.gantry.work/invoice-chaser.html?utm_source=gantry&amp;utm_medium=demo&amp;utm_campaign=payment-reminder-email-templates&amp;utm_content=uxa"><span>Try the free reminder writer</span></a></p><p><em>Part of The Gantry's automation guides. Updated October 2026.</em></p><h2>The whole sequence in 50 seconds</h2><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;0c8ba501-0c05-4ded-8487-8a96514f9567&quot;,&quot;duration&quot;:null}"></div><p>The short version: send on a schedule, from three days before the due date to a final notice at 45 days, name the invoice and the amount every time, and make paying easy. Then pick up the phone.</p><h2>When to send each reminder</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!SvTT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e9a5a9a-fbf1-4ee0-ba5d-365ea72d857b_2400x1016.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!SvTT!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e9a5a9a-fbf1-4ee0-ba5d-365ea72d857b_2400x1016.png 424w, https://substackcdn.com/image/fetch/$s_!SvTT!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e9a5a9a-fbf1-4ee0-ba5d-365ea72d857b_2400x1016.png 848w, https://substackcdn.com/image/fetch/$s_!SvTT!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e9a5a9a-fbf1-4ee0-ba5d-365ea72d857b_2400x1016.png 1272w, https://substackcdn.com/image/fetch/$s_!SvTT!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e9a5a9a-fbf1-4ee0-ba5d-365ea72d857b_2400x1016.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!SvTT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e9a5a9a-fbf1-4ee0-ba5d-365ea72d857b_2400x1016.png" width="2400" height="1016" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1e9a5a9a-fbf1-4ee0-ba5d-365ea72d857b_2400x1016.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1016,&quot;width&quot;:2400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:173158,&quot;alt&quot;:&quot;Timeline: when to send each payment reminder, from 3 days before the due date to the final notice at 45 days overdue&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Timeline: when to send each payment reminder, from 3 days before the due date to the final notice at 45 days overdue" title="Timeline: when to send each payment reminder, from 3 days before the due date to the final notice at 45 days overdue" srcset="https://substackcdn.com/image/fetch/$s_!SvTT!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e9a5a9a-fbf1-4ee0-ba5d-365ea72d857b_2400x1016.png 424w, https://substackcdn.com/image/fetch/$s_!SvTT!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e9a5a9a-fbf1-4ee0-ba5d-365ea72d857b_2400x1016.png 848w, https://substackcdn.com/image/fetch/$s_!SvTT!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e9a5a9a-fbf1-4ee0-ba5d-365ea72d857b_2400x1016.png 1272w, https://substackcdn.com/image/fetch/$s_!SvTT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1e9a5a9a-fbf1-4ee0-ba5d-365ea72d857b_2400x1016.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The schedule matters more than the wording. Most late payments are not refusals; the invoice is sitting in someone's inbox. A steady sequence brings most of them in before anything gets awkward:</p><ul><li><p><strong>3 days before the due date:</strong> a courtesy note with the invoice attached.</p></li><li><p><strong>On the due date:</strong> a one-line reminder.</p></li><li><p><strong>7 days overdue:</strong> a friendly reminder.</p></li><li><p><strong>14 to 30 days overdue:</strong> a firm reminder that asks for a payment date.</p></li><li><p><strong>45 days overdue:</strong> a final notice with a deadline and what happens next.</p></li><li><p><strong>After the final notice:</strong> stop emailing and pick up the phone.</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!n-Pt!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde35b4cd-776d-4a19-9b6d-ec7783cb4514_2560x1440.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!n-Pt!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde35b4cd-776d-4a19-9b6d-ec7783cb4514_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!n-Pt!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde35b4cd-776d-4a19-9b6d-ec7783cb4514_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!n-Pt!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde35b4cd-776d-4a19-9b6d-ec7783cb4514_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!n-Pt!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde35b4cd-776d-4a19-9b6d-ec7783cb4514_2560x1440.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!n-Pt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde35b4cd-776d-4a19-9b6d-ec7783cb4514_2560x1440.png" width="2560" height="1440" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/de35b4cd-776d-4a19-9b6d-ec7783cb4514_2560x1440.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1440,&quot;width&quot;:2560,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:112921,&quot;alt&quot;:&quot;Reminder schedule in five steps: 3 days before the due date a courtesy note with the invoice attached; on the due date a one-line reminder; 7 days overdue a friendly reminder; 14 to 30 days a firm reminder asking for a payment date; 45 days a final notice with a deadline and what happens next&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Reminder schedule in five steps: 3 days before the due date a courtesy note with the invoice attached; on the due date a one-line reminder; 7 days overdue a friendly reminder; 14 to 30 days a firm reminder asking for a payment date; 45 days a final notice with a deadline and what happens next" title="Reminder schedule in five steps: 3 days before the due date a courtesy note with the invoice attached; on the due date a one-line reminder; 7 days overdue a friendly reminder; 14 to 30 days a firm reminder asking for a payment date; 45 days a final notice with a deadline and what happens next" srcset="https://substackcdn.com/image/fetch/$s_!n-Pt!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde35b4cd-776d-4a19-9b6d-ec7783cb4514_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!n-Pt!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde35b4cd-776d-4a19-9b6d-ec7783cb4514_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!n-Pt!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde35b4cd-776d-4a19-9b6d-ec7783cb4514_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!n-Pt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde35b4cd-776d-4a19-9b6d-ec7783cb4514_2560x1440.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">When to send each reminder. After the final notice, call.</figcaption></figure></div><h2>The templates</h2><p>Replace the parts in square brackets. Send from a person, not a no-reply address, so the customer can answer.</p><h3>1. Before the due date (courtesy)</h3><p><strong>Subject:</strong> Invoice [INV-1042] due on [15 October]</p><p>Hi [Name],</p><p>A quick note that invoice [INV-1042] for [S$1,250.00] is due on [15 October]. I've attached it again in case it went astray. You can pay by [PayNow UEN 201234567K or bank transfer to DBS 123-456789-0].</p><p>Thanks, [Your name]</p><h3>2. On the due date</h3><p><strong>Subject:</strong> Invoice [INV-1042] is due today</p><p>Hi [Name],</p><p>Just a reminder that invoice [INV-1042] for [S$1,250.00] is due today. If it's already on its way, thank you, and please ignore this.</p><p>[Your name]</p><h3>3. Friendly reminder (about 7 days overdue)</h3><p><strong>Subject:</strong> Friendly reminder: invoice [INV-1042] from [Your Company]</p><p>Hi [Name],</p><p>I hope all is well. Invoice [INV-1042] for [S$1,250.00] was due on [15 October] and is now a week overdue. Could you check that it's in your payment run? If anything is unclear on the invoice, reply and I'll sort it out straight away.</p><p>Thank you, [Your name]</p><h3>4. Firm reminder (14 to 30 days overdue)</h3><p><strong>Subject:</strong> Overdue: [S$1,250.00] outstanding with [Your Company]</p><p>Hi [Name],</p><p>We haven't yet received payment for invoice [INV-1042] for [S$1,250.00], which is now [21] days overdue. Could you let me know by [Friday] when we can expect payment? If there is a problem with the invoice or the delivery, please tell me so we can fix it.</p><p>Thank you, [Your name]</p><h3>5. Final notice (45 days or more)</h3><p><strong>Subject:</strong> Final reminder: [S$1,250.00] overdue with [Your Company]</p><p>Hi [Name],</p><p>Despite earlier reminders, invoice [INV-1042] for [S$1,250.00] remains unpaid and is now [48] days overdue. Please arrange payment by [date, 7 days from today]. If we don't hear from you by then, we will put further orders on hold until the account is settled. If there's a reason for the delay, please call me today on [number] so we can agree a way forward.</p><p>Regards, [Your name]</p><h3>6. Several invoices for one customer</h3><p><strong>Subject:</strong> [3] overdue invoices: [S$4,740.00] outstanding</p><p>Hi [Name],</p><p>The following invoices are now past due:</p><ul><li><p>[INV-1042], due [18 August]: [S$3,480.00]</p></li><li><p>[INV-1077], due [12 September]: [S$1,260.00]</p></li></ul><p>Total outstanding: [S$4,740.00]. Could you confirm when these will be paid? A statement of account is attached.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!kGZ8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6a470d6-354a-4e11-9002-61fa6396d56d_2560x1440.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!kGZ8!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6a470d6-354a-4e11-9002-61fa6396d56d_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!kGZ8!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6a470d6-354a-4e11-9002-61fa6396d56d_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!kGZ8!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6a470d6-354a-4e11-9002-61fa6396d56d_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!kGZ8!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6a470d6-354a-4e11-9002-61fa6396d56d_2560x1440.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!kGZ8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6a470d6-354a-4e11-9002-61fa6396d56d_2560x1440.png" width="2560" height="1440" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c6a470d6-354a-4e11-9002-61fa6396d56d_2560x1440.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1440,&quot;width&quot;:2560,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:111332,&quot;alt&quot;:&quot;One email for several invoices: INV-1042 due 18 August S$3,480.00 plus INV-1077 due 12 September S$1,260.00 gives a total outstanding of S$4,740.00, with a statement attached&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="One email for several invoices: INV-1042 due 18 August S$3,480.00 plus INV-1077 due 12 September S$1,260.00 gives a total outstanding of S$4,740.00, with a statement attached" title="One email for several invoices: INV-1042 due 18 August S$3,480.00 plus INV-1077 due 12 September S$1,260.00 gives a total outstanding of S$4,740.00, with a statement attached" srcset="https://substackcdn.com/image/fetch/$s_!kGZ8!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6a470d6-354a-4e11-9002-61fa6396d56d_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!kGZ8!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6a470d6-354a-4e11-9002-61fa6396d56d_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!kGZ8!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6a470d6-354a-4e11-9002-61fa6396d56d_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!kGZ8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6a470d6-354a-4e11-9002-61fa6396d56d_2560x1440.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Several overdue invoices, one email, one total.</figcaption></figure></div><p>Thank you, [Your name]</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.gantry.work/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">One practical automation each week: a free tool, a tested setup and what it really costs. Free, no spam.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2>Subject lines that get opened</h2><p>The best subject lines say exactly what the email is about: the invoice number or the amount, and how late it is. "Invoice INV-1042 is due today" gets opened and actioned; "Quick question" or "Following up" gets ignored or, worse, opened and forgotten. Keep the amount in the subject from the firm stage on, because it is what the person who approves payments reacts to.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!u7ny!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4ee2387-6f9a-4c8e-bda8-c36f1b9898b2_2560x1440.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!u7ny!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4ee2387-6f9a-4c8e-bda8-c36f1b9898b2_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!u7ny!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4ee2387-6f9a-4c8e-bda8-c36f1b9898b2_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!u7ny!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4ee2387-6f9a-4c8e-bda8-c36f1b9898b2_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!u7ny!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4ee2387-6f9a-4c8e-bda8-c36f1b9898b2_2560x1440.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!u7ny!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4ee2387-6f9a-4c8e-bda8-c36f1b9898b2_2560x1440.png" width="2560" height="1440" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e4ee2387-6f9a-4c8e-bda8-c36f1b9898b2_2560x1440.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1440,&quot;width&quot;:2560,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:141713,&quot;alt&quot;:&quot;Comparison. Gets ignored: &#8220;Quick question&#8221;, &#8220;Following up&#8221;, &#8220;Please pay&#8221;, no payment details in the email. Gets actioned: &#8220;Invoice INV-1042 is due today&#8221;, the amount in the subject from the firm stage, &#8220;When can we expect payment?&#8221;, PayNow UEN or bank details every time&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Comparison. Gets ignored: &#8220;Quick question&#8221;, &#8220;Following up&#8221;, &#8220;Please pay&#8221;, no payment details in the email. Gets actioned: &#8220;Invoice INV-1042 is due today&#8221;, the amount in the subject from the firm stage, &#8220;When can we expect payment?&#8221;, PayNow UEN or bank details every time" title="Comparison. Gets ignored: &#8220;Quick question&#8221;, &#8220;Following up&#8221;, &#8220;Please pay&#8221;, no payment details in the email. Gets actioned: &#8220;Invoice INV-1042 is due today&#8221;, the amount in the subject from the firm stage, &#8220;When can we expect payment?&#8221;, PayNow UEN or bank details every time" srcset="https://substackcdn.com/image/fetch/$s_!u7ny!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4ee2387-6f9a-4c8e-bda8-c36f1b9898b2_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!u7ny!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4ee2387-6f9a-4c8e-bda8-c36f1b9898b2_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!u7ny!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4ee2387-6f9a-4c8e-bda8-c36f1b9898b2_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!u7ny!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4ee2387-6f9a-4c8e-bda8-c36f1b9898b2_2560x1440.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Subject lines and asks that get a reply.</figcaption></figure></div><h2>Five things that get invoices paid faster</h2><ol><li><p><strong>Make paying easy.</strong> Put your PayNow UEN or bank details in every reminder, not just the original invoice.</p></li><li><p><strong>One email per customer.</strong> If a customer owes three invoices, send one email listing all three with the total, not three emails. Attach a statement of account; the free <a href="https://tools.gantry.work/statement-of-account-generator.html?utm_source=gantry&amp;utm_medium=article&amp;utm_campaign=payment-reminder-templates">Statement of Account Generator</a> makes one for every customer from the same aged receivables file.</p></li><li><p><strong>Ask for a date, not just payment.</strong> "When can we expect payment?" gets an answer; "please pay" gets silence.</p></li><li><p><strong>Copy the person who pays.</strong> In bigger customers, the person you deal with is not the person who releases payments. Ask who is, and copy them from the firm stage.</p></li><li><p><strong>Fix the cause.</strong> If the same customers are always late, check whether your invoices go out late, carry the wrong PO number or go to the wrong person. Most collection problems start before the invoice is sent.</p></li></ol><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!vM8P!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F940a8ae7-c706-4683-ba2e-019a592d2487_2560x1440.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!vM8P!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F940a8ae7-c706-4683-ba2e-019a592d2487_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!vM8P!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F940a8ae7-c706-4683-ba2e-019a592d2487_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!vM8P!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F940a8ae7-c706-4683-ba2e-019a592d2487_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!vM8P!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F940a8ae7-c706-4683-ba2e-019a592d2487_2560x1440.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!vM8P!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F940a8ae7-c706-4683-ba2e-019a592d2487_2560x1440.png" width="2560" height="1440" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/940a8ae7-c706-4683-ba2e-019a592d2487_2560x1440.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1440,&quot;width&quot;:2560,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:119296,&quot;alt&quot;:&quot;Checklist of five things that get invoices paid faster: payment details in every reminder, one email per customer with a statement, ask for a date not just payment, copy the person who releases payments, fix the cause before the invoice goes out&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Checklist of five things that get invoices paid faster: payment details in every reminder, one email per customer with a statement, ask for a date not just payment, copy the person who releases payments, fix the cause before the invoice goes out" title="Checklist of five things that get invoices paid faster: payment details in every reminder, one email per customer with a statement, ask for a date not just payment, copy the person who releases payments, fix the cause before the invoice goes out" srcset="https://substackcdn.com/image/fetch/$s_!vM8P!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F940a8ae7-c706-4683-ba2e-019a592d2487_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!vM8P!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F940a8ae7-c706-4683-ba2e-019a592d2487_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!vM8P!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F940a8ae7-c706-4683-ba2e-019a592d2487_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!vM8P!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F940a8ae7-c706-4683-ba2e-019a592d2487_2560x1440.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Five habits that shorten the wait.</figcaption></figure></div><h2>Write them all at once</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!PJ_a!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F184bfac7-06f5-46b4-897e-f4aa837d6f73_1800x2200.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!PJ_a!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F184bfac7-06f5-46b4-897e-f4aa837d6f73_1800x2200.png 424w, https://substackcdn.com/image/fetch/$s_!PJ_a!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F184bfac7-06f5-46b4-897e-f4aa837d6f73_1800x2200.png 848w, https://substackcdn.com/image/fetch/$s_!PJ_a!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F184bfac7-06f5-46b4-897e-f4aa837d6f73_1800x2200.png 1272w, https://substackcdn.com/image/fetch/$s_!PJ_a!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F184bfac7-06f5-46b4-897e-f4aa837d6f73_1800x2200.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!PJ_a!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F184bfac7-06f5-46b4-897e-f4aa837d6f73_1800x2200.png" width="1800" height="2200" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/184bfac7-06f5-46b4-897e-f4aa837d6f73_1800x2200.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:2200,&quot;width&quot;:1800,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:627209,&quot;alt&quot;:&quot;Screenshot of the free Overdue Invoice Reminder Writer showing friendly, firm and final reminders generated for each late customer&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Screenshot of the free Overdue Invoice Reminder Writer showing friendly, firm and final reminders generated for each late customer" title="Screenshot of the free Overdue Invoice Reminder Writer showing friendly, firm and final reminders generated for each late customer" srcset="https://substackcdn.com/image/fetch/$s_!PJ_a!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F184bfac7-06f5-46b4-897e-f4aa837d6f73_1800x2200.png 424w, https://substackcdn.com/image/fetch/$s_!PJ_a!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F184bfac7-06f5-46b4-897e-f4aa837d6f73_1800x2200.png 848w, https://substackcdn.com/image/fetch/$s_!PJ_a!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F184bfac7-06f5-46b4-897e-f4aa837d6f73_1800x2200.png 1272w, https://substackcdn.com/image/fetch/$s_!PJ_a!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F184bfac7-06f5-46b4-897e-f4aa837d6f73_1800x2200.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Copying templates works for three late customers. For thirty, use the free <a href="https://tools.gantry.work/invoice-chaser.html?utm_source=gantry&amp;utm_medium=article&amp;utm_campaign=payment-reminder-templates">Overdue Invoice Reminder Writer</a>. Export the aged receivables report from Xero or QuickBooks, drop it in, and it writes one reminder per late customer, friendly, firm or final depending on how late they are, with all their invoices in one email. You can copy each one, open it in your email app or download them all. The file never leaves your browser. Not sure exactly when an invoice fell due? The free <a href="https://tools.gantry.work/invoice-due-date-calculator.html?utm_source=gantry&amp;utm_medium=article&amp;utm_campaign=payment-reminders&amp;utm_content=calcs6">Invoice Due Date Calculator</a> works it out on any terms and shows how many days overdue it is.</p><h2>Make it automatic</h2><p>The tool saves you the writing; it still needs you to remember. To have reminders go out every week on their own, a free <a href="https://tools.gantry.work/go/?u=https%3A%2F%2Fwww.make.com%2Fen%2Fregister%3Fpc%3Dgntrywk">Make</a> scenario can check Xero every morning, send the right reminder at 7, 14 and 30 days overdue, and never chase the same invoice twice. The full setup is in <a href="https://www.gantry.work/p/xero-invoice-reminders-automation">chase overdue Xero invoices automatically</a>. Xero and QuickBooks also have built-in reminders; the guide explains when they are enough and when they are not.</p><p><em>Stuck on a step? <a href="https://tools.gantry.work/automation-help/?from=payment-reminders">Tell me where you're stuck</a> and you'll get the fix, or a free 20-minute review if it's worth one.</em></p><h2>Frequently asked questions</h2><p><strong>How do you politely ask for payment?</strong> Name the invoice, the amount and the due date, assume it was missed rather than refused, make paying easy with your payment details, and offer to fix anything unclear. The friendly template above does all four in four sentences.</p><p><strong>How many payment reminders should I send?</strong> Usually four or five: before the due date, on the due date, at about 7 days, at 14 to 30 days, and a final notice at around 45 days. After that, call.</p><p><strong>What should a final notice say?</strong> The invoice, the amount, how overdue it is, a firm deadline (usually 7 days), and what will happen next, such as putting further orders on hold. Keep it factual and only state consequences you will actually carry out.</p><p><strong>What if a customer in Singapore still doesn't pay?</strong> After a final notice and a phone call, many businesses send a formal letter of demand. For claims up to S$20,000 (or S$30,000 if both sides agree), the Small Claims Tribunals are a low-cost option. Get advice for your specific case.</p><p><strong>Can payment reminders be automated?</strong> Yes. Xero and QuickBooks have basic built-in reminders, and a Make scenario can send staged reminders with your own wording and rules; see the guide linked above.</p><h2>Related guides</h2><p><a href="https://www.gantry.work/p/xero-invoice-reminders-automation">Chase overdue Xero invoices automatically</a> &#183; <a href="https://www.gantry.work/p/order-to-cash-process">Order-to-cash process</a> &#183; <a href="https://www.gantry.work/p/daily-owner-report-xero">Daily owner report from Xero</a> &#183; <a href="https://www.gantry.work/p/month-end-shouldnt-take-three-weeks">Month-end shouldn't take three weeks</a></p><p><em>Want collections looked at properly? I do a free <a href="https://tools.gantry.work/review.html?utm_source=gantry&amp;utm_medium=article&amp;utm_campaign=payment-reminder-templates">20-minute systems review</a>. No pitch, just your questions answered.</em></p><p><em>I'm Sayed. I work closely with business owners to automate their operations and build workflows that actually make sense. I write The Gantry about ERP and automation for SMEs.</em></p><p><strong>Working on something similar?</strong> Connect with me on LinkedIn and tell me what you are working on. I read and reply to every message, and the questions people send become the next guides.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.linkedin.com/in/sayedomni&quot;,&quot;text&quot;:&quot;Connect with Sayed on LinkedIn&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.linkedin.com/in/sayedomni"><span>Connect with Sayed on LinkedIn</span></a></p><p><em>How I test everything and how this site makes money: <a href="https://www.gantry.work/p/how-the-gantry-works">How The Gantry works</a>.</em></p>]]></content:encoded></item><item><title><![CDATA[ERP for Trading and Distribution Companies: The Five Flows That Decide the System]]></title><description><![CDATA[Distributors do not fail on features. They fail on partial deliveries, landed costs, price lists, stock accuracy and collections. Here is how to evaluate any ERP against the five flows that actually run a trading business.]]></description><link>https://www.gantry.work/p/erp-for-trading-distribution-companies-five-flows</link><guid isPermaLink="false">https://www.gantry.work/p/erp-for-trading-distribution-companies-five-flows</guid><dc:creator><![CDATA[Sayed Rashid]]></dc:creator><pubDate>Wed, 07 Oct 2026 00:30:52 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/48160b00-5981-4544-93b1-f62df097b645_1200x939.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!NNdM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48160b00-5981-4544-93b1-f62df097b645_1200x939.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!NNdM!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48160b00-5981-4544-93b1-f62df097b645_1200x939.png 424w, https://substackcdn.com/image/fetch/$s_!NNdM!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48160b00-5981-4544-93b1-f62df097b645_1200x939.png 848w, https://substackcdn.com/image/fetch/$s_!NNdM!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48160b00-5981-4544-93b1-f62df097b645_1200x939.png 1272w, https://substackcdn.com/image/fetch/$s_!NNdM!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48160b00-5981-4544-93b1-f62df097b645_1200x939.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!NNdM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48160b00-5981-4544-93b1-f62df097b645_1200x939.png" width="1200" height="939" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/48160b00-5981-4544-93b1-f62df097b645_1200x939.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:939,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:150136,&quot;alt&quot;:&quot;Infographic: the five flows that decide an ERP for trading and distribution companies&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Infographic: the five flows that decide an ERP for trading and distribution companies" title="Infographic: the five flows that decide an ERP for trading and distribution companies" srcset="https://substackcdn.com/image/fetch/$s_!NNdM!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48160b00-5981-4544-93b1-f62df097b645_1200x939.png 424w, https://substackcdn.com/image/fetch/$s_!NNdM!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48160b00-5981-4544-93b1-f62df097b645_1200x939.png 848w, https://substackcdn.com/image/fetch/$s_!NNdM!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48160b00-5981-4544-93b1-f62df097b645_1200x939.png 1272w, https://substackcdn.com/image/fetch/$s_!NNdM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F48160b00-5981-4544-93b1-f62df097b645_1200x939.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Most of the companies I work with buy and sell physical goods. They import from three countries, sell to two hundred customers, hold stock in one warehouse and a van, and run the whole thing on an accounting package, a spreadsheet and a WhatsApp group. When they start looking at ERP systems, the vendors show them dashboards. What decides whether the system works is five unglamorous flows, and this post is about testing each one before you sign.</p><p><strong>Short answer:</strong> Five flows decide the system: quote to cash with partial deliveries, purchase to pay with landed cost and foreign currency, stock accuracy across locations, pricing and margin, and credit control. Test each on your own data in a demo; a single-database ERP such as Odoo, SAP Business One or Business Central handles all five if configured properly.</p><p><strong>Key facts</strong></p><ul><li><p>Gross margin in distribution is often 8 to 20 percent, so a 2 percent error in stock value or a forgotten freight bill is the profit.</p></li><li><p>Demo test for partial deliveries: confirm an order for 40, deliver 30, and the system should create a backorder for 10 automatically.</p></li><li><p>A distributor with 95 percent stock accuracy is doing well; below 90 percent, sales promise goods that do not exist.</p></li><li><p>Customers pay at 45 to 75 days while suppliers want 30, so the system should hold a credit limit per customer and warn or block breaches.</p></li><li><p>Accounting software with an inventory app handles flows one and three adequately, flow four partially, and flows two and five badly.</p></li><li><p>A 90-day plan: weeks 1&#8211;2 map the flows, 3&#8211;4 clean the product master, 5&#8211;10 configure and test, 11&#8211;12 count stock and go live.</p></li></ul><p>Sources: the article names no external sources; the figures are the author's working benchmarks from implementation projects.</p><h2>The five flows in 55 seconds</h2><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;21c5cfe5-6536-4fb5-97e6-b074198bfc0b&quot;,&quot;duration&quot;:null}"></div><p>The short version: partial deliveries, landed cost with foreign currency, stock accuracy, pricing and collections decide whether an ERP works for a distributor. Each one can be tested in a demo on your own data, and the sections below show how.</p><h2>Why distributors are different</h2><p>A services firm can run on a ledger and a calendar. A manufacturer lives on the bill of materials. A distributor lives in the gap between what was ordered, what was received, what was shipped and what was paid, and that gap is where money leaks. Margin in distribution is thin, often 8 to 20 percent gross, so a 2 percent error in stock value or a forgotten freight bill is not a rounding difference. It is the profit.</p><p>That is why the evaluation cannot be a feature checklist. It has to be the five flows, run on your own data, with your own exceptions.</p><h2>Flow one: quote to cash with partial deliveries</h2><p>The textbook flow is quote, order, delivery, invoice, payment. The real flow is a customer ordering 40 cartons, receiving 30 today because that is what you have, 10 next week when the container clears, and wanting one invoice, or two, depending on who is asking.</p><p>Test this in the demo: confirm an order for 40, deliver 30, and watch what happens. The system should create a backorder for 10 automatically, let you invoice the 30 now or wait, and show the customer's open balance correctly either way. If the presenter has to "adjust" anything by hand, that adjustment is what your team will do forty times a month. I described how to structure that demo in <a href="https://www.gantry.work/p/odoo-demo-how-to-run-one-properly">how to get an ERP demo that actually tells you something</a>.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!byTy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2824726a-cfe6-4cad-9eb0-c3089fc6f8e5_2560x1440.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!byTy!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2824726a-cfe6-4cad-9eb0-c3089fc6f8e5_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!byTy!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2824726a-cfe6-4cad-9eb0-c3089fc6f8e5_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!byTy!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2824726a-cfe6-4cad-9eb0-c3089fc6f8e5_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!byTy!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2824726a-cfe6-4cad-9eb0-c3089fc6f8e5_2560x1440.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!byTy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2824726a-cfe6-4cad-9eb0-c3089fc6f8e5_2560x1440.png" width="2560" height="1440" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2824726a-cfe6-4cad-9eb0-c3089fc6f8e5_2560x1440.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1440,&quot;width&quot;:2560,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:128748,&quot;alt&quot;:&quot;Five-step demo test for partial deliveries: order 40 cartons; deliver 30 today; backorder for 10 created automatically; invoice the 30 now or wait; the customer's open balance is correct either way&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Five-step demo test for partial deliveries: order 40 cartons; deliver 30 today; backorder for 10 created automatically; invoice the 30 now or wait; the customer's open balance is correct either way" title="Five-step demo test for partial deliveries: order 40 cartons; deliver 30 today; backorder for 10 created automatically; invoice the 30 now or wait; the customer's open balance is correct either way" srcset="https://substackcdn.com/image/fetch/$s_!byTy!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2824726a-cfe6-4cad-9eb0-c3089fc6f8e5_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!byTy!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2824726a-cfe6-4cad-9eb0-c3089fc6f8e5_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!byTy!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2824726a-cfe6-4cad-9eb0-c3089fc6f8e5_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!byTy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2824726a-cfe6-4cad-9eb0-c3089fc6f8e5_2560x1440.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Flow one as a demo script: order 40, deliver 30, and watch what the system does on its own.</figcaption></figure></div><h2>Flow two: purchase to pay with landed cost and foreign currency</h2><p>You order from a supplier in Guangzhou in US dollars, pay a deposit, receive the goods six weeks later, and get bills from the forwarder, the insurer and Singapore Customs in between. The true cost of each carton is the supplier price plus its share of all of that, converted at the right rate.</p><p>Most accounting packages record the supplier bill and expense the freight. That makes every imported product look more profitable than it is and makes your margin reports fiction. The system you want lets you attach the freight and duty bills to the receipt and spreads them across the items, so cost of goods sold at the point of sale includes them. Ask to see landed cost applied to a receipt, and ask what happens when the freight bill arrives after the goods have already been sold.</p><p>Foreign currency is the second half. Supplier bills in USD, customer invoices in SGD, a bank account in each. The system should post exchange differences when the payment clears, not leave someone to calculate them at year end. This is the point where the <a href="https://www.gantry.work/p/odoo-xero-integration-or-replace">Xero or QuickBooks plus an app</a> arrangement usually breaks, because the app does not carry landed cost or FX into the ledger cleanly.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!RvQo!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F131d98fd-be72-47a3-8626-ad4eb6e400c8_2560x1440.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!RvQo!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F131d98fd-be72-47a3-8626-ad4eb6e400c8_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!RvQo!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F131d98fd-be72-47a3-8626-ad4eb6e400c8_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!RvQo!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F131d98fd-be72-47a3-8626-ad4eb6e400c8_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!RvQo!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F131d98fd-be72-47a3-8626-ad4eb6e400c8_2560x1440.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!RvQo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F131d98fd-be72-47a3-8626-ad4eb6e400c8_2560x1440.png" width="2560" height="1440" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/131d98fd-be72-47a3-8626-ad4eb6e400c8_2560x1440.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1440,&quot;width&quot;:2560,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:157398,&quot;alt&quot;:&quot;Comparison of landed cost handling. Accounting package plus app: records the supplier bill, expenses the freight and duty, imports look more profitable, FX worked out at year end. ERP with landed cost: freight and duty bills attached to the receipt, spread across the items received, cost of goods sold includes them, FX posted when the payment clears&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Comparison of landed cost handling. Accounting package plus app: records the supplier bill, expenses the freight and duty, imports look more profitable, FX worked out at year end. ERP with landed cost: freight and duty bills attached to the receipt, spread across the items received, cost of goods sold includes them, FX posted when the payment clears" title="Comparison of landed cost handling. Accounting package plus app: records the supplier bill, expenses the freight and duty, imports look more profitable, FX worked out at year end. ERP with landed cost: freight and duty bills attached to the receipt, spread across the items received, cost of goods sold includes them, FX posted when the payment clears" srcset="https://substackcdn.com/image/fetch/$s_!RvQo!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F131d98fd-be72-47a3-8626-ad4eb6e400c8_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!RvQo!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F131d98fd-be72-47a3-8626-ad4eb6e400c8_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!RvQo!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F131d98fd-be72-47a3-8626-ad4eb6e400c8_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!RvQo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F131d98fd-be72-47a3-8626-ad4eb6e400c8_2560x1440.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Why expensing freight turns margin reports into fiction.</figcaption></figure></div><h2>Flow three: stock accuracy across locations</h2><p>A distributor with 95 percent stock accuracy is doing well. Below 90 percent, sales are promising goods that do not exist and purchasing is reordering goods that do. The capabilities that move accuracy are unexciting: locations that are real records, not free text; transfers between them as documents with a status; lots and expiry where the product needs them; and cycle counts by scanner rather than an annual shutdown.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Ihq5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fc1915a-a53b-40a9-87a9-f454d4504626_2560x1440.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Ihq5!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fc1915a-a53b-40a9-87a9-f454d4504626_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!Ihq5!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fc1915a-a53b-40a9-87a9-f454d4504626_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!Ihq5!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fc1915a-a53b-40a9-87a9-f454d4504626_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!Ihq5!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fc1915a-a53b-40a9-87a9-f454d4504626_2560x1440.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Ihq5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fc1915a-a53b-40a9-87a9-f454d4504626_2560x1440.png" width="2560" height="1440" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8fc1915a-a53b-40a9-87a9-f454d4504626_2560x1440.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1440,&quot;width&quot;:2560,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:102902,&quot;alt&quot;:&quot;Three numbers: 95% stock accuracy means a distributor is doing well; below 90% accuracy, sales start promising goods that do not exist; customers take 45 to 75 days to pay while suppliers want 30&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Three numbers: 95% stock accuracy means a distributor is doing well; below 90% accuracy, sales start promising goods that do not exist; customers take 45 to 75 days to pay while suppliers want 30" title="Three numbers: 95% stock accuracy means a distributor is doing well; below 90% accuracy, sales start promising goods that do not exist; customers take 45 to 75 days to pay while suppliers want 30" srcset="https://substackcdn.com/image/fetch/$s_!Ihq5!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fc1915a-a53b-40a9-87a9-f454d4504626_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!Ihq5!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fc1915a-a53b-40a9-87a9-f454d4504626_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!Ihq5!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fc1915a-a53b-40a9-87a9-f454d4504626_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!Ihq5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fc1915a-a53b-40a9-87a9-f454d4504626_2560x1440.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Stock accuracy and the cash gap, the numbers behind flows three and five.</figcaption></figure></div><p>Check units of measure with particular care. Buying in cartons of 12, selling in pieces, and stocking in pallets is normal in this business, and a system that cannot convert between them will give you a wrong stock value from day one. The full capability list is in the <a href="https://www.gantry.work/p/inventory-management-software-singapore-sme-guide">inventory software guide</a>; for a distributor, the eight items there are all mandatory.</p><h2>Flow four: pricing and margin</h2><p>Distributors run on price lists. A base list, customer-specific prices for the top twenty accounts, volume breaks, a promotion this quarter, and a rule that says nobody sells below cost plus 8 percent without a manager. Today that logic lives in the head of the sales manager and a spreadsheet column marked "special".</p><p>The test is to load your real price list and your three most awkward customers, then raise a quote for each and see whether the right price appears without anyone typing it. Then check that margin is visible on the order line before it is confirmed. A salesperson who can see that a line is at 4 percent margin behaves differently from one who finds out at month-end.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!j3jk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1f79618-efde-47d9-bf1c-dfbf283b0ef3_2560x1440.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!j3jk!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1f79618-efde-47d9-bf1c-dfbf283b0ef3_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!j3jk!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1f79618-efde-47d9-bf1c-dfbf283b0ef3_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!j3jk!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1f79618-efde-47d9-bf1c-dfbf283b0ef3_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!j3jk!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1f79618-efde-47d9-bf1c-dfbf283b0ef3_2560x1440.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!j3jk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1f79618-efde-47d9-bf1c-dfbf283b0ef3_2560x1440.png" width="2560" height="1440" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f1f79618-efde-47d9-bf1c-dfbf283b0ef3_2560x1440.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1440,&quot;width&quot;:2560,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:123856,&quot;alt&quot;:&quot;Checklist for the pricing test: base price list loaded; customer prices for the top 20 accounts; volume breaks; this quarter's promotion; no sale below cost plus 8% without a manager; margin visible on the order line&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Checklist for the pricing test: base price list loaded; customer prices for the top 20 accounts; volume breaks; this quarter's promotion; no sale below cost plus 8% without a manager; margin visible on the order line" title="Checklist for the pricing test: base price list loaded; customer prices for the top 20 accounts; volume breaks; this quarter's promotion; no sale below cost plus 8% without a manager; margin visible on the order line" srcset="https://substackcdn.com/image/fetch/$s_!j3jk!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1f79618-efde-47d9-bf1c-dfbf283b0ef3_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!j3jk!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1f79618-efde-47d9-bf1c-dfbf283b0ef3_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!j3jk!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1f79618-efde-47d9-bf1c-dfbf283b0ef3_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!j3jk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1f79618-efde-47d9-bf1c-dfbf283b0ef3_2560x1440.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">What the price test must show before anyone types a price by hand.</figcaption></figure></div><h2>Flow five: credit control and collections</h2><p>Cash is the constraint in distribution. Customers pay at 45 to 75 days, suppliers want 30, and the container has to be paid before it ships. The system should hold a credit limit per customer, warn or block when an order would breach it, age receivables by customer without a report being built, and let the collections person work from one screen rather than a spreadsheet exported on Monday.</p><p>The reason this matters more than it sounds is that the pattern of a customer's payments is becoming part of how a business itself gets credit. I wrote about that shift in why your books are becoming your credit score. Clean receivables are no longer only an internal matter.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.gantry.work/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">One practical automation each week: a free tool, a tested setup and what it really costs. Free, no spam.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2>Singapore specifics</h2><p>Three local details to check on any shortlist. GST on imports, including the treatment of import GST paid to Customs and the Major Exporter Scheme if you are on it. InvoiceNow, which every GST-registered business will need on <a href="https://www.gantry.work/p/invoicenow-when-your-business-must">a published schedule</a>; confirm the system can send and receive on the network rather than relying on a workaround. And multi-entity, because a surprising number of trading firms here run a Singapore company and a Malaysian or Indonesian one, and consolidating them by hand is a week a quarter.</p><h2>Which systems handle the five flows</h2><p>Honest summary, by tier. Accounting software with an inventory app bolted on handles flows one and three adequately, flow four partially, and flows two and five badly. A single-database ERP such as Odoo, SAP Business One or Business Central handles all five if configured properly, with Odoo generally the least expensive to implement at this size and the mid-market suites stronger on multi-entity consolidation. NetSuite handles all five and is priced for companies larger than most of the firms reading this. The wider comparison is in <a href="https://www.gantry.work/p/odoo-alternatives-2026-honest-comparison">Odoo alternatives</a>.</p><h2>A 90-day plan for a distributor</h2><ul><li><p><strong>Weeks 1 to 2:</strong> map your five flows as they actually run today, with the exceptions. Count how many times one order is retyped between email, quote, order, delivery, invoice and courier portal.</p></li><li><p><strong>Weeks 3 to 4:</strong> clean the product master. One code format, correct units, supplier prices, reorder levels for the top 200 SKUs. This is your team's work, not the vendor's.</p></li><li><p><strong>Weeks 5 to 10:</strong> configure and test the five flows on last month's real orders, including the partial deliveries and the late freight bill.</p></li><li><p><strong>Weeks 11 to 12:</strong> physical count, opening balances, go-live on a Monday, with the old system read-only and a kill date in the calendar. The <a href="https://www.gantry.work/p/erp-parallel-run-go-live-checklist">go-live checklist</a> is the detailed version.</p></li></ul><p>If a vendor cannot show you all five flows on your data, the dashboards do not matter.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!986H!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ce54ed5-f6cf-403b-9514-7d93e4c8b894_2560x1440.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!986H!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ce54ed5-f6cf-403b-9514-7d93e4c8b894_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!986H!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ce54ed5-f6cf-403b-9514-7d93e4c8b894_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!986H!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ce54ed5-f6cf-403b-9514-7d93e4c8b894_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!986H!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ce54ed5-f6cf-403b-9514-7d93e4c8b894_2560x1440.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!986H!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ce54ed5-f6cf-403b-9514-7d93e4c8b894_2560x1440.png" width="2560" height="1440" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3ce54ed5-f6cf-403b-9514-7d93e4c8b894_2560x1440.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1440,&quot;width&quot;:2560,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:110729,&quot;alt&quot;:&quot;90-day plan on a 12-week timeline: weeks 1 to 2 map the five flows with exceptions; weeks 3 to 4 clean the product master; weeks 5 to 10 configure and test on last month's real orders; weeks 11 to 12 physical count and Monday go-live with the old system read-only&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="90-day plan on a 12-week timeline: weeks 1 to 2 map the five flows with exceptions; weeks 3 to 4 clean the product master; weeks 5 to 10 configure and test on last month's real orders; weeks 11 to 12 physical count and Monday go-live with the old system read-only" title="90-day plan on a 12-week timeline: weeks 1 to 2 map the five flows with exceptions; weeks 3 to 4 clean the product master; weeks 5 to 10 configure and test on last month's real orders; weeks 11 to 12 physical count and Monday go-live with the old system read-only" srcset="https://substackcdn.com/image/fetch/$s_!986H!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ce54ed5-f6cf-403b-9514-7d93e4c8b894_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!986H!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ce54ed5-f6cf-403b-9514-7d93e4c8b894_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!986H!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ce54ed5-f6cf-403b-9514-7d93e4c8b894_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!986H!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ce54ed5-f6cf-403b-9514-7d93e4c8b894_2560x1440.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">The 90-day plan for a distributor, week by week.</figcaption></figure></div><p>Which of the five flows leaks the most money in your business today?</p><p><em>The <a href="https://tools.gantry.work/">ERP &amp; Automation ROI calculator</a> will put a number on the retyping and the stock errors in about three minutes.</em></p><p><strong>Want a second pair of eyes on your setup?</strong> Bring the process that keeps going wrong to a free <a href="https://tools.gantry.work/review.html?utm_source=gantry&amp;utm_medium=erp-for-trading-distribution-companies-five-flows&amp;utm_campaign=article-cta&amp;utm_content=cta-end">20-minute systems review</a>. I'll tell you honestly what to fix first, or whether you need anything new yet.</p><p><em>I'm Sayed. I work closely with business owners to automate their operations and build workflows that actually make sense. I write The Gantry about ERP and automation for SMEs.</em></p><p><strong>Working on something similar?</strong> Connect with me on LinkedIn and tell me what you are working on. I read and reply to every message, and the questions people send become the next guides.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.linkedin.com/in/sayedomni&quot;,&quot;text&quot;:&quot;Connect with Sayed on LinkedIn&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.linkedin.com/in/sayedomni"><span>Connect with Sayed on LinkedIn</span></a></p><p><em>How I test everything and how this site makes money: <a href="https://www.gantry.work/p/how-the-gantry-works">How The Gantry works</a>.</em></p><p>Before comparing systems, check whether your business is ready for one. The free ERP Readiness Scorecard takes about three minutes and tells you what to fix first.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://tools.gantry.work/erp-readiness.html?utm_source=gantry&amp;utm_medium=demo&amp;utm_campaign=erp-for-trading-distribution-companies-five-flows&amp;utm_content=uxa" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!aVuU!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e8c53d9-3f42-445f-a05a-491afb85e764_760x578.gif 424w, https://substackcdn.com/image/fetch/$s_!aVuU!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e8c53d9-3f42-445f-a05a-491afb85e764_760x578.gif 848w, https://substackcdn.com/image/fetch/$s_!aVuU!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e8c53d9-3f42-445f-a05a-491afb85e764_760x578.gif 1272w, https://substackcdn.com/image/fetch/$s_!aVuU!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e8c53d9-3f42-445f-a05a-491afb85e764_760x578.gif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!aVuU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e8c53d9-3f42-445f-a05a-491afb85e764_760x578.gif" width="760" height="578" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8e8c53d9-3f42-445f-a05a-491afb85e764_760x578.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:578,&quot;width&quot;:760,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:790182,&quot;alt&quot;:&quot;Demo: The free ERP readiness scorecard at work&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/gif&quot;,&quot;href&quot;:&quot;https://tools.gantry.work/erp-readiness.html?utm_source=gantry&amp;utm_medium=demo&amp;utm_campaign=erp-for-trading-distribution-companies-five-flows&amp;utm_content=uxa&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Demo: The free ERP readiness scorecard at work" title="Demo: The free ERP readiness scorecard at work" srcset="https://substackcdn.com/image/fetch/$s_!aVuU!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e8c53d9-3f42-445f-a05a-491afb85e764_760x578.gif 424w, https://substackcdn.com/image/fetch/$s_!aVuU!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e8c53d9-3f42-445f-a05a-491afb85e764_760x578.gif 848w, https://substackcdn.com/image/fetch/$s_!aVuU!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e8c53d9-3f42-445f-a05a-491afb85e764_760x578.gif 1272w, https://substackcdn.com/image/fetch/$s_!aVuU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e8c53d9-3f42-445f-a05a-491afb85e764_760x578.gif 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><em>The free ERP readiness scorecard at work: a few honest answers and a score with what to fix first. Click the animation to try it.</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://tools.gantry.work/erp-readiness.html?utm_source=gantry&amp;utm_medium=demo&amp;utm_campaign=erp-for-trading-distribution-companies-five-flows&amp;utm_content=uxa&quot;,&quot;text&quot;:&quot;Score your ERP readiness&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://tools.gantry.work/erp-readiness.html?utm_source=gantry&amp;utm_medium=demo&amp;utm_campaign=erp-for-trading-distribution-companies-five-flows&amp;utm_content=uxa"><span>Score your ERP readiness</span></a></p>]]></content:encoded></item><item><title><![CDATA[Warehouse Management System in Singapore: When an SME Needs One, Which to Pick and What It Costs (2026)]]></title><description><![CDATA[An implementer's guide for Singapore distributors, online sellers and small 3PLs: when inventory software is enough, the WMS features that matter, six options with prices checked October 2026, scanners, rollout and the EDGE grant.]]></description><link>https://www.gantry.work/p/warehouse-management-system-singapore</link><guid isPermaLink="false">https://www.gantry.work/p/warehouse-management-system-singapore</guid><dc:creator><![CDATA[Sayed Rashid]]></dc:creator><pubDate>Tue, 06 Oct 2026 05:31:06 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/414b3fe8-4393-4be6-acb5-74235bbb3d8b_2400x1782.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><strong>A warehouse management system in Singapore is worth buying only when bins, pick paths or several clients' stock have become the problem: for most 5 to 100 person distributors and online sellers, an ERP inventory module or inventory app with barcode scanning (Odoo, Zoho Inventory, Cin7 Core) does the job. Small 3PLs are the exception, and should shortlist a true multi-client WMS such as Anchanto or Mintsoft that bills storage and handling per client.</strong> Every price below was checked on the vendor's own page on 6 October 2026.</p><p><em>Part of The Gantry's automation guides. Updated October 2026.</em></p><p>A disclosure: I implement Odoo for a living. It gets the same bullets as everyone else, and it is not the answer for a 3PL billing a dozen clients.</p><h2>The decision in 45 seconds</h2><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;34928cf8-ec14-404e-9d46-9e62f0fe399f&quot;,&quot;duration&quot;:null}"></div><p>The short version: most distributors and online sellers need an inventory module with scanners and bin addresses, not a dedicated WMS. A true WMS earns its cost for a multi-client 3PL or a busy floor where pick sequence is a real cost.</p><h2>Quick verdict: which warehouse system fits</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!D4xf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F414b3fe8-4393-4be6-acb5-74235bbb3d8b_2400x1782.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!D4xf!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F414b3fe8-4393-4be6-acb5-74235bbb3d8b_2400x1782.png 424w, https://substackcdn.com/image/fetch/$s_!D4xf!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F414b3fe8-4393-4be6-acb5-74235bbb3d8b_2400x1782.png 848w, https://substackcdn.com/image/fetch/$s_!D4xf!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F414b3fe8-4393-4be6-acb5-74235bbb3d8b_2400x1782.png 1272w, https://substackcdn.com/image/fetch/$s_!D4xf!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F414b3fe8-4393-4be6-acb5-74235bbb3d8b_2400x1782.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!D4xf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F414b3fe8-4393-4be6-acb5-74235bbb3d8b_2400x1782.png" width="2400" height="1782" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/414b3fe8-4393-4be6-acb5-74235bbb3d8b_2400x1782.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1782,&quot;width&quot;:2400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:392297,&quot;alt&quot;:&quot;Three-step ladder for Singapore SMEs: inventory software, an ERP inventory module with scanners, or a dedicated WMS, with the signs that move you up and example products at each step&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Three-step ladder for Singapore SMEs: inventory software, an ERP inventory module with scanners, or a dedicated WMS, with the signs that move you up and example products at each step" title="Three-step ladder for Singapore SMEs: inventory software, an ERP inventory module with scanners, or a dedicated WMS, with the signs that move you up and example products at each step" srcset="https://substackcdn.com/image/fetch/$s_!D4xf!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F414b3fe8-4393-4be6-acb5-74235bbb3d8b_2400x1782.png 424w, https://substackcdn.com/image/fetch/$s_!D4xf!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F414b3fe8-4393-4be6-acb5-74235bbb3d8b_2400x1782.png 848w, https://substackcdn.com/image/fetch/$s_!D4xf!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F414b3fe8-4393-4be6-acb5-74235bbb3d8b_2400x1782.png 1272w, https://substackcdn.com/image/fetch/$s_!D4xf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F414b3fe8-4393-4be6-acb5-74235bbb3d8b_2400x1782.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><ul><li><p><strong>Zoho Inventory:</strong> best for a small distributor or online seller that wants bins, picklists and stock counts at a low SGD price.</p></li><li><p><strong>Odoo Inventory with Barcode:</strong> best when sales, purchasing, warehouse and accounts should be one system, with putaway rules, wave picking and FEFO included.</p></li><li><p><strong>Cin7 Core:</strong> best for a multi-channel brand or distributor on Xero or QuickBooks that wants a warehouse app on top.</p></li><li><p><strong>SiteGiant WMS:</strong> best for a Shopee, Lazada and TikTok Shop seller that wants marketplace orders and picking in one place.</p></li><li><p><strong>Anchanto WMS:</strong> best for a marketplace-heavy brand or a 3PL running fulfilment across Southeast Asia.</p></li><li><p><strong>Mintsoft:</strong> best for a small 3PL that needs client billing and a client portal at a published price.</p></li></ul><h2>Do you need a warehouse management system in Singapore, or is inventory software enough?</h2><p>You need a real WMS when you run multi-client stock, more than ten to fifteen pickers, or dense bin slotting; below that, inventory software with scanners is enough.</p><p>An inventory system records what you own and what it is worth; a WMS runs the floor: which bin, which picker, in what order. The full line is drawn in <a href="https://www.gantry.work/p/erp-vs-wms-what-a-warehouse-or-3pl-actually-needs">ERP vs WMS: what a warehouse or 3PL actually needs</a>. Three tiers cover Singapore SMEs:</p><ol><li><p><strong>Inventory app or accounting stock module:</strong> one location, a few hundred items, no batches. See <a href="https://www.gantry.work/p/best-inventory-software-small-business">the best inventory software for small business</a>.</p></li><li><p><strong>ERP inventory module or advanced inventory app, with scanners:</strong> one or two warehouses, bins, batches and expiry, a handful of pickers. Most distributors belong here; see <a href="https://www.gantry.work/p/inventory-management-software-singapore-sme-guide">inventory management software in Singapore</a>.</p></li><li><p><strong>Dedicated WMS:</strong> a 3PL holding stock for several owners, or a high-volume floor where pick sequence is a measurable cost.</p></li></ol><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!jLUS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c32f465-2098-43fe-8ebc-599b26e4e3ff_2560x1440.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!jLUS!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c32f465-2098-43fe-8ebc-599b26e4e3ff_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!jLUS!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c32f465-2098-43fe-8ebc-599b26e4e3ff_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!jLUS!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c32f465-2098-43fe-8ebc-599b26e4e3ff_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!jLUS!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c32f465-2098-43fe-8ebc-599b26e4e3ff_2560x1440.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!jLUS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c32f465-2098-43fe-8ebc-599b26e4e3ff_2560x1440.png" width="2560" height="1440" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2c32f465-2098-43fe-8ebc-599b26e4e3ff_2560x1440.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1440,&quot;width&quot;:2560,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:92324,&quot;alt&quot;:&quot;Three tiers: an inventory app for one location, a few hundred items and no batches; an ERP inventory module with scanners for one or two warehouses with bins, batches and a few pickers; a dedicated WMS for a multi-client 3PL or a dense high-volume floor&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Three tiers: an inventory app for one location, a few hundred items and no batches; an ERP inventory module with scanners for one or two warehouses with bins, batches and a few pickers; a dedicated WMS for a multi-client 3PL or a dense high-volume floor" title="Three tiers: an inventory app for one location, a few hundred items and no batches; an ERP inventory module with scanners for one or two warehouses with bins, batches and a few pickers; a dedicated WMS for a multi-client 3PL or a dense high-volume floor" srcset="https://substackcdn.com/image/fetch/$s_!jLUS!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c32f465-2098-43fe-8ebc-599b26e4e3ff_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!jLUS!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c32f465-2098-43fe-8ebc-599b26e4e3ff_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!jLUS!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c32f465-2098-43fe-8ebc-599b26e4e3ff_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!jLUS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c32f465-2098-43fe-8ebc-599b26e4e3ff_2560x1440.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">The three tiers that cover Singapore SMEs.</figcaption></figure></div><p>If you cannot say how many cartons arrived yesterday, fix receiving first with a proper <a href="https://www.gantry.work/p/goods-received-note-grn">goods received note</a>.</p><h2>Which WMS features actually matter?</h2><p>Eight features separate a warehouse system from a stock list: bins, scanning, grouped picking, putaway rules, cycle counts, batch and expiry control, client billing and integrations.</p><ul><li><p><strong>Bin locations:</strong> every SKU has an address (rack, level, bin), so new staff can pick on day one.</p></li><li><p><strong>Barcode or RF scanning:</strong> a scan confirms the right item and quantity at receipt, pick and count.</p></li><li><p><strong>Wave and batch picking:</strong> batch picking collects several orders in one walk; wave picking splits order lines and regroups them by location.</p></li><li><p><strong>Putaway rules:</strong> the system tells the receiver where stock goes, by product, category or storage type.</p></li><li><p><strong>Cycle counts:</strong> count a slice of stock every day rather than shutting for a full stocktake.</p></li><li><p><strong>Batch and expiry (FEFO):</strong> first expired, first out, for anything with a shelf life.</p></li><li><p><strong>Multi-client billing:</strong> for 3PLs, storage and handling charged per client from the system's own activity log.</p></li><li><p><strong>Carrier and marketplace integrations:</strong> orders in from Shopee, Lazada, Shopify or TikTok Shop, labels out to couriers. Trust only integrations a vendor lists on its own site.</p></li></ul><h2>Warehouse management software in Singapore: six options compared</h2><p>Six products cover most Singapore SME cases, from free plans to quote-only, and each gets the same five attributes.</p><h3>Zoho Inventory</h3><ul><li><p><strong>Best for:</strong> small distributors and online sellers that want bins and stock counts cheaply.</p></li><li><p><strong>Price from:</strong> Free (50 orders a month, 1 user). Standard S$39, Professional S$109, Premium S$169, Enterprise S$329 a month billed annually, as shown to a Singapore visitor. Extra users S$10 and extra locations S$12 a month.</p></li><li><p><strong>Strengths:</strong> multi-warehouse, picklists that group several orders, putaway to bins and partial stock counts from mobile; batch and serial tracking from Professional; bins (2,000 per location) and stock counting from Premium.</p></li><li><p><strong>Limits:</strong> Premium includes only 2 users; expiry-based picking is not stated on the pricing page, so test it.</p></li><li><p><strong>Singapore notes:</strong> SGD pricing. Zoho's warehouse page names Shopify, WooCommerce and Zoho Commerce, with UPS, FedEx, Easyship and Envia for shipping; Shopee and Lazada are not listed.</p></li></ul><h3>Odoo Inventory with Barcode</h3><ul><li><p><strong>Best for:</strong> firms where sales, purchasing, warehouse and accounts should run as one system.</p></li><li><p><strong>Price from:</strong> One App Free (one app, unlimited users). Standard US$16.90 per user a month billed yearly, with a first-year rate of US$13.50 for initial users; all apps, including Inventory and Barcode, are included.</p></li><li><p><strong>Strengths:</strong> storage locations, putaway rules, cycle counts, batch, cluster and wave transfers, and FIFO, FEFO and other removal strategies in the standard documentation. The Barcode app runs on USB scanners, mobile computers or a phone camera, and supports GS1 barcodes.</p></li><li><p><strong>Limits:</strong> there is no standard per-client storage billing for 3PLs in the documentation I checked, and it needs a proper implementation, which costs more than the licences.</p></li><li><p><strong>Singapore notes:</strong> Odoo 19 has Shopee and Lazada connectors that list Shopee.sg and Lazada.sg, syncing orders in and stock out. Ninja Van, J&amp;T and SingPost are not among its native shipping connectors.</p></li></ul><h3>Cin7 Core</h3><ul><li><p><strong>Best for:</strong> multi-channel brands and distributors running Xero or QuickBooks Online.</p></li><li><p><strong>Price from:</strong> Standard US$349 a month (5 users, 6,000 sales orders a year, 2 integrations). Pro US$599 (10 users, 24,000 orders). Advanced US$1,199 (15 users, 120,000 orders). USD, excluding taxes.</p></li><li><p><strong>Strengths:</strong> unlimited locations on every plan. Standard includes a warehouse app to pick, pack, restock and put away with barcode scanning, for one warehouse location.</p></li><li><p><strong>Limits:</strong> advanced warehouse management (multiple warehouse locations, kitting picks, FIFO/FEFO pick enforcement) is listed separately from the standard warehouse app and is not part of Standard; ask Cin7 which plan or add-on you need and what it costs, as the add-on price is not published. 3PL connections run via API and partner solutions.</p></li><li><p><strong>Singapore notes:</strong> priced in USD; its integrations page names Shopify, Amazon and WooCommerce but not Shopee or Lazada.</p></li></ul><h3>SiteGiant WMS</h3><ul><li><p><strong>Best for:</strong> marketplace sellers who want orders, stock sync and picking in one tool.</p></li><li><p><strong>Price from:</strong> price on quote. SiteGiant's Singapore pricing page shows ERP plans without prices and Omnichannel plans only as first-year prices after a grant subsidy (from S$133 a month), not as list prices.</p></li><li><p><strong>Strengths:</strong> listed integrations with Shopee, Lazada, TikTok Shop, Zalora, Shopify and WooCommerce; picking by PDA or smartphone scan; picking modes chosen after an on-site audit.</p></li><li><p><strong>Limits:</strong> ERP plans cap SKUs and warehouses: 500 SKUs on Mini, 12,000 on Value Plus, unlimited on Premium; one warehouse until Premium, which allows 3.</p></li><li><p><strong>Singapore notes:</strong> ask whether the grant-subsidised prices still apply now that EDGE has replaced PSG, and get the full price in writing.</p></li></ul><h3>Anchanto WMS</h3><ul><li><p><strong>Best for:</strong> marketplace-heavy brands and 3PLs fulfilling across Southeast Asia.</p></li><li><p><strong>Price from:</strong> price on quote; no price is published.</p></li><li><p><strong>Strengths:</strong> virtual racks, shelves and bins; wave picking, batch picking and pick by location; batch and expiry management; serialised items; per-customer billing reports for 3PLs. Its integrations page lists Shopee, Lazada, TikTok Shop, Qoo10, Shopify, Ninja Van and SingPost.</p></li><li><p><strong>Limits:</strong> quote-only with no published entry plan, so you cannot size the cost before a sales call; it is a broader e-commerce suite than a single-warehouse distributor needs.</p></li><li><p><strong>Singapore notes:</strong> Anchanto lists Singapore among its offices, and the local couriers and marketplaces are on its own integration list.</p></li></ul><h3>Mintsoft</h3><ul><li><p><strong>Best for:</strong> small 3PLs that need client billing and a client portal at a published price.</p></li><li><p><strong>Price from:</strong> Starter from &#163;375 a month (3,000 orders a month, 10 clients), Medium &#163;649 (5,000 orders, 15 clients), Large from &#163;899 (7,500 orders, 20 clients).</p></li><li><p><strong>Strengths:</strong> unlimited browser users, 3PL client portal and client billing on every plan, 131 standard integrations.</p></li><li><p><strong>Limits:</strong> mobile app users need licences; modules and onboarding are priced separately.</p></li><li><p><strong>Singapore notes:</strong> priced in pounds; check that your couriers and marketplaces are among those 131 integrations before you book a demo.</p></li></ul><p>For larger 3PLs, <strong>Logiwa IO</strong>, a cloud WMS for 3PLs and brands, is quote-only, priced on fulfilment volume and complexity.</p><h2>Which one should you pick?</h2><p>Pick by who owns the stock and where orders come from, not by the longest feature list.</p><ul><li><p><strong>Distributor, 1 to 2 warehouses, B2B orders:</strong> Odoo if you also want sales, purchasing and accounts in one place; Zoho Inventory Premium if you want bins and counts at the lowest licence cost.</p></li><li><p><strong>Online seller, mostly Shopee and Lazada:</strong> SiteGiant or Odoo with its marketplace connectors. Cin7 Core if Shopify and Amazon matter more.</p></li><li><p><strong>Brand selling through many channels on Xero:</strong> Cin7 Core, confirming with Cin7 which plan gives you FEFO enforcement if you need it.</p></li><li><p><strong>Small 3PL with several clients:</strong> Mintsoft or Anchanto, connected to an accounting system or ERP that carries the billing events.</p></li></ul><p><strong>Not sure which tier your warehouse needs?</strong> Bring your SKU count, pickers per shift and the spreadsheets you rebuild every week to a free <a href="https://tools.gantry.work/review.html?utm_source=gantry&amp;utm_medium=warehouse-management-system-singapore&amp;utm_campaign=article-cta">20-minute systems review</a>. I will tell you whether you need a WMS, an inventory module, or just better receiving.</p><h2>How much does a warehouse management system cost in Singapore?</h2><p>From free plans and S$39 a month (Zoho Inventory Standard) to quote-only for Anchanto and Logiwa, before scanners, labels and setup.</p><h3>Worked example: a 2,000-SKU distributor (illustrative)</h3><p>A typical distributor: 2,000 active SKUs, one warehouse, 6 logins, about 400 orders a month (4,800 a year), and some products with expiry dates. Year-one licences at list price:</p><ol><li><p><strong>Zoho Inventory Premium:</strong> S$169 &#215; 12 = S$2,028, plus 4 extra users &#215; S$10 &#215; 12 = S$480. Total <strong>S$2,508</strong>. Bins and stock counting included; test expiry handling.</p></li><li><p><strong>Cin7 Core Pro:</strong> six logins is one more than Standard's 5 users, so Pro (10 users, 24,000 orders a year) is the published fit: US$599 &#215; 12 = <strong>US$7,188</strong>. Advanced warehouse management, including FEFO pick enforcement, may cost more on top; Cin7 does not publish that price.</p></li><li><p><strong>Odoo Standard:</strong> 6 &#215; US$16.90 &#215; 12 = <strong>US$1,216.80</strong> at the regular yearly rate, before implementation.</p></li></ol><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!gGh_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc82e6c81-0622-475e-8357-f0fc677798a7_2560x1440.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!gGh_!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc82e6c81-0622-475e-8357-f0fc677798a7_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!gGh_!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc82e6c81-0622-475e-8357-f0fc677798a7_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!gGh_!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc82e6c81-0622-475e-8357-f0fc677798a7_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!gGh_!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc82e6c81-0622-475e-8357-f0fc677798a7_2560x1440.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!gGh_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc82e6c81-0622-475e-8357-f0fc677798a7_2560x1440.png" width="2560" height="1440" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c82e6c81-0622-475e-8357-f0fc677798a7_2560x1440.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1440,&quot;width&quot;:2560,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:136005,&quot;alt&quot;:&quot;Illustrative year-one licences for a 2,000-SKU distributor with 6 logins: Zoho Inventory Premium S$2,508; Cin7 Core Pro US$7,188 before any advanced warehouse add-on; Odoo Standard US$16.90 per user a month, US$1,216.80 for 6 users&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Illustrative year-one licences for a 2,000-SKU distributor with 6 logins: Zoho Inventory Premium S$2,508; Cin7 Core Pro US$7,188 before any advanced warehouse add-on; Odoo Standard US$16.90 per user a month, US$1,216.80 for 6 users" title="Illustrative year-one licences for a 2,000-SKU distributor with 6 logins: Zoho Inventory Premium S$2,508; Cin7 Core Pro US$7,188 before any advanced warehouse add-on; Odoo Standard US$16.90 per user a month, US$1,216.80 for 6 users" srcset="https://substackcdn.com/image/fetch/$s_!gGh_!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc82e6c81-0622-475e-8357-f0fc677798a7_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!gGh_!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc82e6c81-0622-475e-8357-f0fc677798a7_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!gGh_!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc82e6c81-0622-475e-8357-f0fc677798a7_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!gGh_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc82e6c81-0622-475e-8357-f0fc677798a7_2560x1440.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Year-one licences at list price, checked 6 October 2026. Implementation, scanners and labels are extra.</figcaption></figure></div><p>Now the counting load. Split the 2,000 SKUs by value: 200 A items counted monthly, 600 B items quarterly, 1,200 C items twice a year. That is 200 + (600 &#247; 3) + (1,200 &#247; 6) = 600 counts a month, or about 27 a day over 22 working days. With bin addresses and a scanner, that is a small daily task for one person. Without them, counting drifts back into the annual shutdown stocktake you are trying to escape.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!PV7k!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ac339c6-fe6d-4bd9-8cd6-af34bc74945d_2560x1440.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!PV7k!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ac339c6-fe6d-4bd9-8cd6-af34bc74945d_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!PV7k!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ac339c6-fe6d-4bd9-8cd6-af34bc74945d_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!PV7k!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ac339c6-fe6d-4bd9-8cd6-af34bc74945d_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!PV7k!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ac339c6-fe6d-4bd9-8cd6-af34bc74945d_2560x1440.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!PV7k!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ac339c6-fe6d-4bd9-8cd6-af34bc74945d_2560x1440.png" width="2560" height="1440" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7ac339c6-fe6d-4bd9-8cd6-af34bc74945d_2560x1440.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1440,&quot;width&quot;:2560,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:117555,&quot;alt&quot;:&quot;Cycle count calculation: 200 A items counted monthly (200 counts), 600 B items counted quarterly (200), 1,200 C items counted twice a year (200), giving 600 counts a month or about 27 a working day&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Cycle count calculation: 200 A items counted monthly (200 counts), 600 B items counted quarterly (200), 1,200 C items counted twice a year (200), giving 600 counts a month or about 27 a working day" title="Cycle count calculation: 200 A items counted monthly (200 counts), 600 B items counted quarterly (200), 1,200 C items counted twice a year (200), giving 600 counts a month or about 27 a working day" srcset="https://substackcdn.com/image/fetch/$s_!PV7k!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ac339c6-fe6d-4bd9-8cd6-af34bc74945d_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!PV7k!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ac339c6-fe6d-4bd9-8cd6-af34bc74945d_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!PV7k!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ac339c6-fe6d-4bd9-8cd6-af34bc74945d_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!PV7k!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ac339c6-fe6d-4bd9-8cd6-af34bc74945d_2560x1440.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">ABC cycle counting turns the annual stocktake into about 27 counts a day.</figcaption></figure></div><h2>What does WMS implementation actually take?</h2><p>Expect weeks of data and floor preparation before go-live; software setup is the smaller part.</p><p><strong>The data you need:</strong></p><ul><li><p>A clean SKU master: code, unit of measure, carton quantity, weight and barcode.</p></li><li><p>A bin map: every rack, level and bin named consistently (for example A-01-03), with a label on each.</p></li><li><p>Opening stock by bin, with batch numbers and expiry dates where they apply.</p></li><li><p>Reorder rules, set from real lead times using <a href="https://www.gantry.work/p/safety-stock-reorder-point">safety stock and reorder points</a>.</p></li><li><p>Item costs that include freight and duty, so margins are right from day one; see <a href="https://www.gantry.work/p/landed-cost">landed cost</a>.</p></li></ul><p><strong>The hardware:</strong></p><ul><li><p>Scanners: phone cameras for a pilot, rugged Android handhelds for full shifts.</p></li><li><p>A thermal label printer for bin, product and carton labels.</p></li><li><p>Reliable Wi-Fi in every aisle.</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!IOfr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8ba4984-632c-4e27-ab3e-898250d01b93_2560x1440.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!IOfr!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8ba4984-632c-4e27-ab3e-898250d01b93_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!IOfr!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8ba4984-632c-4e27-ab3e-898250d01b93_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!IOfr!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8ba4984-632c-4e27-ab3e-898250d01b93_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!IOfr!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8ba4984-632c-4e27-ab3e-898250d01b93_2560x1440.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!IOfr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8ba4984-632c-4e27-ab3e-898250d01b93_2560x1440.png" width="2560" height="1440" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d8ba4984-632c-4e27-ab3e-898250d01b93_2560x1440.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1440,&quot;width&quot;:2560,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:122699,&quot;alt&quot;:&quot;Checklist of data to prepare before go-live: a clean SKU master with barcodes, a bin map with every bin labelled, opening stock by bin from a real count, batch numbers and expiry dates, reorder rules from real lead times, item costs that include freight and duty&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Checklist of data to prepare before go-live: a clean SKU master with barcodes, a bin map with every bin labelled, opening stock by bin from a real count, batch numbers and expiry dates, reorder rules from real lead times, item costs that include freight and duty" title="Checklist of data to prepare before go-live: a clean SKU master with barcodes, a bin map with every bin labelled, opening stock by bin from a real count, batch numbers and expiry dates, reorder rules from real lead times, item costs that include freight and duty" srcset="https://substackcdn.com/image/fetch/$s_!IOfr!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8ba4984-632c-4e27-ab3e-898250d01b93_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!IOfr!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8ba4984-632c-4e27-ab3e-898250d01b93_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!IOfr!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8ba4984-632c-4e27-ab3e-898250d01b93_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!IOfr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8ba4984-632c-4e27-ab3e-898250d01b93_2560x1440.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">The preparation that decides the go-live date.</figcaption></figure></div><p><strong>Timeline, as rough planning ranges rather than promises:</strong> an inventory module or app with scanners in one warehouse takes weeks to a few months, mostly on the SKU master and labelling. A dedicated WMS integrated with an ERP takes longer, because integration and billing rules need testing.</p><p><strong>Common pitfalls:</strong></p><ul><li><p>Labelling bins after go-live, so the first weeks of scans have no addresses.</p></li><li><p>Importing opening stock from the books instead of a physical count.</p></li><li><p>Skipping receiving discipline, so the system is wrong from the first delivery.</p></li><li><p>For 3PLs, finding after signing that billing events must be retyped into accounting.</p></li></ul><h2>Can the EDGE grant pay for a WMS?</h2><p>Possibly, but no WMS is automatically covered: check eligibility with Enterprise Singapore and apply before you sign or pay anything.</p><p>The EDGE grant replaced PSG, EDG and MRA on 30 September 2026. Enterprise Singapore's <a href="https://www.enterprisesg.gov.sg/resources/all-faqs/edge-grant">EDGE FAQ</a> says SMEs get up to 50% support, and that within the S$100,000 annual cap a company can use up to S$30,000 on single-function digital solutions, integrated enterprise systems and pre-scoped equipment. An integrated system must include at least 3 core functions. Processing takes about 1 week with a pre-approved vendor and 10 weeks with your own. Any work started or deposit paid before you apply makes the application retrospective, and it will not be supported.</p><p>As arithmetic only: if a project were approved with S$20,000 of qualifying cost, 50% would be S$10,000, inside the S$30,000 sub-cap. Run your numbers in the free <a href="https://tools.gantry.work/edge-grant-calculator.html?utm_source=gantry&amp;utm_medium=article&amp;utm_campaign=warehouse-management-system-singapore">EDGE grant calculator</a>, and read <a href="https://www.gantry.work/p/edge-grant-erp-singapore-what-changed">the EDGE grant for ERP: what changed</a> before you talk to vendors.</p><p><em>Stuck on a step? <a href="https://tools.gantry.work/automation-help/?from=warehouse-management-system-singapore">Tell me where you're stuck</a> and you'll get the fix, or a free 20-minute review if it's worth one.</em></p><h2>Frequently asked questions</h2><p><strong>What is a warehouse management system?</strong> Software that directs work inside a warehouse: where stock is put away, which bin to pick from, in what order, and how counts are done.</p><p><strong>How much does a warehouse management system cost in Singapore?</strong> In this list, from S$39 a month (Zoho Inventory Standard) or US$16.90 per user a month (Odoo Standard) to quote-only for Anchanto and Logiwa, plus scanners, label printers and setup.</p><p><strong>Is Odoo a WMS?</strong> Odoo Inventory covers most WMS features a small warehouse needs, including bins, putaway rules, wave picking, cycle counts and FEFO. It lacks standard per-client 3PL storage billing.</p><p><strong>Which warehouse management software works with Shopee and Lazada?</strong> From this list, Odoo, SiteGiant and Anchanto name Shopee and Lazada on their own sites. Zoho Inventory and Cin7 Core do not list them on the pages checked.</p><p><strong>Does the EDGE grant cover warehouse management software?</strong> It can support digital solutions and integrated systems up to the S$30,000 sub-cap, but eligibility depends on the activity and vendor. Confirm with Enterprise Singapore and apply before signing.</p><h2>Related guides</h2><p><a href="https://www.gantry.work/p/erp-vs-wms-what-a-warehouse-or-3pl-actually-needs">ERP vs WMS</a> &#183; <a href="https://www.gantry.work/p/best-inventory-software-small-business">Best inventory software for small business</a> &#183; <a href="https://www.gantry.work/p/inventory-management-software-singapore-sme-guide">Inventory management software in Singapore</a> &#183; <a href="https://www.gantry.work/p/goods-received-note-grn">Goods received note</a> &#183; <a href="https://www.gantry.work/p/safety-stock-reorder-point">Safety stock and reorder point</a></p><h2>Sources</h2><p>All checked 6 October 2026.</p><ul><li><p><a href="https://www.enterprisesg.gov.sg/resources/all-faqs/edge-grant">Enterprise Singapore: EDGE grant FAQ</a>: EDGE replaces EDG, MRA and PSG, launch 30 September 2026, 50% SME support, S$100,000 cap and S$30,000 sub-cap, 3 core functions, processing times, retrospective rule.</p></li><li><p><a href="https://www.zoho.com/inventory/pricing/">Zoho Inventory pricing</a> and <a href="https://www.zoho.com/us/inventory/warehouse-inventory-management/">Zoho Inventory warehouse management</a>: SGD plans, users, locations, bins per location, add-on prices; bins, putaway, picklists, counts, mobile scanning, listed integrations.</p></li><li><p><a href="https://www.odoo.com/pricing">Odoo pricing</a>: plans, first-year rate, apps included.</p></li><li><p><a href="https://www.odoo.com/documentation/19.0/applications/inventory_and_mrp/inventory.html">Odoo 19 Inventory docs</a>, <a href="https://www.odoo.com/documentation/19.0/applications/inventory_and_mrp/inventory/shipping_receiving/picking_methods/wave.html">wave transfers</a>, <a href="https://www.odoo.com/documentation/19.0/applications/inventory_and_mrp/inventory/shipping_receiving/removal_strategies/fefo.html">FEFO</a> and <a href="https://www.odoo.com/documentation/19.0/applications/inventory_and_mrp/barcode.html">Barcode</a>: locations, putaway rules, cycle counts, batch, cluster and wave picking, removal strategies, scanner hardware, GS1.</p></li><li><p><a href="https://www.odoo.com/documentation/19.0/applications/sales/sales/shopee_connector/features.html">Odoo 19 Shopee connector</a>, <a href="https://www.odoo.com/documentation/19.0/applications/sales/sales/lazada_connector/features.html">Lazada connector</a> and <a href="https://www.odoo.com/documentation/19.0/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/third_party_shipper.html">shipping connectors</a>: Singapore marketplaces, synced data, native carrier list.</p></li><li><p><a href="https://www.cin7.com/pricing/">Cin7 pricing</a> and <a href="https://www.cin7.com/integrations/">Cin7 integrations</a>: plans, users, order caps, Standard and Advanced warehouse management, 3PL connections, listed integrations.</p></li><li><p><a href="https://sitegiant.sg/pricing/">SiteGiant Singapore pricing</a> and <a href="https://sitegiant.sg/warehouse-management-system/">SiteGiant WMS</a>: plan limits, grant-subsidised prices, marketplace integrations, PDA picking, picking modes.</p></li><li><p><a href="https://anchanto.com/en-sg/products/warehouse-management/">Anchanto WMS</a>, <a href="https://anchanto.com/en-sg/integrations/">Anchanto integrations</a> and <a href="https://anchanto.com/about-us/">Anchanto about us</a>: WMS features, 3PL billing reports, marketplace and courier integrations, Singapore office.</p></li><li><p><a href="https://www.mintsoft.com/3pl-third-party-logistics/pricing/">Mintsoft 3PL pricing</a>: plans, order and client limits, inclusions, separately priced items.</p></li><li><p><a href="https://www.logiwa.com/pricing">Logiwa pricing</a>: quote-only pricing and inclusions.</p></li></ul><p><em>Want this handled properly? I do a free <a href="https://tools.gantry.work/review.html?utm_source=gantry&amp;utm_medium=article&amp;utm_campaign=warehouse-management-system-singapore">20-minute systems review</a>. No pitch, just your questions answered.</em></p><p><em>I'm Sayed. I work closely with business owners to automate their operations and build workflows that actually make sense. I write The Gantry about ERP and automation for SMEs.</em></p>]]></content:encoded></item><item><title><![CDATA[CRM in Singapore: The Best CRM Software for SMEs in 2026 (Honest Picks)]]></title><description><![CDATA[HubSpot, Pipedrive, Zoho CRM, monday CRM, Salesforce Starter, Odoo and the WhatsApp-first platforms, with prices checked 6 October 2026, PDPA and WhatsApp consent, data residency, EDGE, and a first-year cost example.]]></description><link>https://www.gantry.work/p/crm-singapore-sme</link><guid isPermaLink="false">https://www.gantry.work/p/crm-singapore-sme</guid><dc:creator><![CDATA[Sayed Rashid]]></dc:creator><pubDate>Tue, 06 Oct 2026 04:10:53 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/9d615698-bbb9-4a03-8212-4ad00ea8ccdf_2400x1770.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>Some links on this page are affiliate links. If you sign up through them, The Gantry may earn a commission at no extra cost to you. I only recommend tools I would use on a client project.</em></p><p><strong>The best CRM in Singapore for most 5 to 50 person SMEs is Zoho CRM or HubSpot for a classic B2B sales team, Pipedrive for the simplest pipeline, and a WhatsApp-first platform such as WATI or SleekFlow when customers buy through chat. Choose Odoo CRM instead when quotes, stock and invoices must live in the same system as your leads.</strong> Every price below was checked on vendor pages on 6 October 2026.</p><p><em>Part of The Gantry's automation guides. Updated October 2026.</em></p><p>A disclosure: I implement Odoo for a living. Most companies reading this do not need an ERP yet, and I say so below.</p><h2>The picks in 45 seconds</h2><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;0942a2d9-8809-4bc0-bf0c-567dc242cac6&quot;,&quot;duration&quot;:null}"></div><p>The short version: choose by team size and how your customers buy, expect setup to cost more than year-one licences, and add consent fields before any WhatsApp marketing. The picks and prices are below.</p><h2>Quick verdict: the best CRM in Singapore by situation</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!JGAK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d615698-bbb9-4a03-8212-4ad00ea8ccdf_2400x1770.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!JGAK!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d615698-bbb9-4a03-8212-4ad00ea8ccdf_2400x1770.png 424w, https://substackcdn.com/image/fetch/$s_!JGAK!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d615698-bbb9-4a03-8212-4ad00ea8ccdf_2400x1770.png 848w, https://substackcdn.com/image/fetch/$s_!JGAK!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d615698-bbb9-4a03-8212-4ad00ea8ccdf_2400x1770.png 1272w, https://substackcdn.com/image/fetch/$s_!JGAK!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d615698-bbb9-4a03-8212-4ad00ea8ccdf_2400x1770.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!JGAK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d615698-bbb9-4a03-8212-4ad00ea8ccdf_2400x1770.png" width="2400" height="1770" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9d615698-bbb9-4a03-8212-4ad00ea8ccdf_2400x1770.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1770,&quot;width&quot;:2400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:362919,&quot;alt&quot;:&quot;Decision card: which CRM fits a Singapore SME by sales motion, from free starter CRMs to Pipedrive, Zoho CRM, HubSpot, WhatsApp-first platforms such as WATI and SleekFlow, and Odoo when quotes, stock and invoices must connect&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Decision card: which CRM fits a Singapore SME by sales motion, from free starter CRMs to Pipedrive, Zoho CRM, HubSpot, WhatsApp-first platforms such as WATI and SleekFlow, and Odoo when quotes, stock and invoices must connect" title="Decision card: which CRM fits a Singapore SME by sales motion, from free starter CRMs to Pipedrive, Zoho CRM, HubSpot, WhatsApp-first platforms such as WATI and SleekFlow, and Odoo when quotes, stock and invoices must connect" srcset="https://substackcdn.com/image/fetch/$s_!JGAK!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d615698-bbb9-4a03-8212-4ad00ea8ccdf_2400x1770.png 424w, https://substackcdn.com/image/fetch/$s_!JGAK!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d615698-bbb9-4a03-8212-4ad00ea8ccdf_2400x1770.png 848w, https://substackcdn.com/image/fetch/$s_!JGAK!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d615698-bbb9-4a03-8212-4ad00ea8ccdf_2400x1770.png 1272w, https://substackcdn.com/image/fetch/$s_!JGAK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d615698-bbb9-4a03-8212-4ad00ea8ccdf_2400x1770.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><ul><li><p><strong>HubSpot:</strong> best for teams where marketing and sales share one contact list, and for starting free.</p></li><li><p><strong>Pipedrive:</strong> best for a small B2B sales team that wants a visual pipeline and nothing else.</p></li><li><p><strong>Zoho CRM:</strong> best value for a growing sales team, priced in Singapore dollars.</p></li><li><p><strong>monday CRM:</strong> best if your company already runs projects on monday.com.</p></li><li><p><strong>Salesforce Starter:</strong> best if you expect to grow into the Salesforce ecosystem.</p></li><li><p><strong>Odoo CRM:</strong> best when a won deal must flow into a quotation, a delivery and an invoice without retyping.</p></li><li><p><strong>WATI, SleekFlow or respond.io:</strong> best for WhatsApp-heavy B2C sales, where the chat is the pipeline.</p></li></ul><h2>Do you need a CRM, or is a spreadsheet still enough?</h2><p>You need a CRM once more than one person follows up leads, or leads go cold because nobody knew whose turn it was. A spreadsheet is fine for one salesperson with a few dozen open deals. Warning signs: two people quote the same customer, or a departing salesperson takes the history with their phone.</p><p>Not there yet? <a href="https://www.gantry.work/p/google-sheets-lead-automation">Google Sheets lead automation</a> captures leads automatically, and the free <a href="https://tools.gantry.work/quotation-generator.html?utm_source=gantry&amp;utm_medium=article&amp;utm_campaign=crm-singapore-sme">Quotation Generator</a> makes a clean quote with GST in a minute.</p><h2>The best CRM software for SMEs in Singapore: honest picks</h2><p>Each pick gets the same five attributes. US dollar prices exclude tax; I convert at S$1.28 per US dollar, the mid-market rate on 6 October 2026.</p><h3>HubSpot</h3><p>HubSpot is a US marketing, sales and service platform with a free CRM at its core.</p><ul><li><p><strong>Best for:</strong> teams that run marketing and sales from one contact database.</p></li><li><p><strong>Price from:</strong> free for 2 users and 1,000 contacts. Sales Hub Starter lists at US$20 per seat per month billed monthly; on 6 October 2026 new customers were offered US$7 per seat per month on an annual commitment. Professional is US$90 per seat per month billed annually (US$100 monthly) plus a one-off US$1,500 onboarding fee.</p></li><li><p><strong>Strengths:</strong> polished, easy to adopt, strong email and marketing tools.</p></li><li><p><strong>Limits:</strong> costs jump at Professional, and connecting WhatsApp to the inbox needs Marketing Hub or Service Hub Professional or Enterprise.</p></li><li><p><strong>Singapore notes:</strong> billed in US dollars; no Singapore data centre.</p></li></ul><h3>Pipedrive</h3><p>Pipedrive is a sales pipeline CRM built around deals moving through stages.</p><ul><li><p><strong>Best for:</strong> a 3 to 15 person B2B sales team that lives in its pipeline.</p></li><li><p><strong>Price from:</strong> US$14 per seat per month billed annually (Lite) or US$24 billed monthly; Growth is US$39 billed annually or US$49 monthly. Billing currency depends on your location, so confirm the price shown to you.</p></li><li><p><strong>Strengths:</strong> the clearest pipeline view here, and quick to set up.</p></li><li><p><strong>Limits:</strong> little beyond sales. Its own WhatsApp integration is a Growth-and-above beta not yet available to all customers, so most teams use a Marketplace app.</p></li><li><p><strong>Singapore notes:</strong> billing currency depends on your location.</p></li></ul><h3>Zoho CRM</h3><p>Zoho CRM is the sales CRM from Zoho, an Indian business software company with dozens of apps.</p><ul><li><p><strong>Best for:</strong> growing sales teams that want depth (workflows, territories, forecasting) at a low price.</p></li><li><p><strong>Price from:</strong> free for 3 users. Standard S$17 per user per month billed yearly (S$26 monthly), Professional S$28 (S$46 monthly), Enterprise S$50 (S$65 monthly), local taxes extra.</p></li><li><p><strong>Strengths:</strong> Singapore dollar pricing, very configurable, part of a wider suite.</p></li><li><p><strong>Limits:</strong> deep settings, so someone must own the configuration.</p></li><li><p><strong>Singapore notes:</strong> WhatsApp works in the trial and all paid editions (it needs a verified Meta business account), and Zoho lists Singapore data centres. See also <a href="https://www.gantry.work/p/odoo-vs-zoho-which-is-better-for-sme">Odoo vs Zoho</a>.</p></li></ul><h3>monday CRM</h3><p>monday CRM is the sales product of monday.com, the work-management platform.</p><ul><li><p><strong>Best for:</strong> companies already running projects on monday.com.</p></li><li><p><strong>Price from:</strong> US$12 per seat per month billed yearly (Basic), US$17 Standard, US$28 Pro. Plans start from 3 users; there is a 14-day trial, not a free plan.</p></li><li><p><strong>Strengths:</strong> flexible boards that suit sales teams handing work to delivery.</p></li><li><p><strong>Limits:</strong> seat minimums hurt very small teams.</p></li><li><p><strong>Singapore notes:</strong> billed in US dollars; ask monday about WhatsApp.</p></li></ul><h3>Salesforce Starter</h3><p>Salesforce Starter Suite is the small-business entry point to Salesforce, the enterprise CRM vendor.</p><ul><li><p><strong>Best for:</strong> firms that expect to need Salesforce-grade customisation later.</p></li><li><p><strong>Price from:</strong> US$25 per user per month, billed monthly or annually. Pro Suite is US$100, billed annually with a contract.</p></li><li><p><strong>Strengths:</strong> a route to the full Salesforce platform.</p></li><li><p><strong>Limits:</strong> a steep jump to Pro Suite, and serious customisation usually needs a partner.</p></li><li><p><strong>Singapore notes:</strong> the Asia pricing page shows US dollars only.</p></li></ul><h3>Odoo CRM</h3><p>Odoo is a Belgian ERP whose CRM app shares one database with sales, inventory and accounting.</p><ul><li><p><strong>Best for:</strong> traders and service firms where a lead becomes a quotation, an order, a delivery and an invoice.</p></li><li><p><strong>Price from:</strong> free if CRM is your only app (One App Free, unlimited users). Standard, all apps, is US$16.90 per user per month billed yearly (US$13.50 in the first year) or US$21.10 monthly.</p></li><li><p><strong>Strengths:</strong> no retyping between sales and operations, and a WhatsApp app on paid plans.</p></li><li><p><strong>Limits:</strong> beyond CRM it becomes an implementation project, and its marketing tools trail HubSpot's.</p></li><li><p><strong>Singapore notes:</strong> Odoo Online's Asia and Pacific region runs production in Singapore and Taiwan. Full costs in <a href="https://www.gantry.work/p/what-odoo-actually-costs-in-2026">what Odoo actually costs in 2026</a>.</p></li></ul><h2>Which is the best WhatsApp CRM in Singapore?</h2><p>For WhatsApp-heavy sales, a WhatsApp platform with CRM features usually beats a classic CRM with WhatsApp added. Meta's per-message charges come on top; see <a href="https://www.gantry.work/p/whatsapp-business-api-pricing">WhatsApp Business API pricing</a>.</p><h3>WATI</h3><ul><li><p><strong>Best for:</strong> one to five people answering WhatsApp, running broadcasts and Shopify messages.</p></li><li><p><strong>Price from:</strong> Growth S$119 a month billed yearly (S$159 monthly) for 3 users; Pro S$329 billed yearly (S$429 monthly) for 5 users.</p></li><li><p><strong>Strengths:</strong> shared inbox with assignment, contacts and tags. <a href="https://tools.gantry.work/go/?u=https%3A%2F%2Faffiliates.wati.io%2Fgantry-trial%3Fsid1%3Dcrm-singapore-sme">Start a WATI trial</a>.</p></li><li><p><strong>Limits:</strong> a messaging CRM, not a deal pipeline with forecasting.</p></li><li><p><strong>Singapore notes:</strong> priced in Singapore dollars.</p></li></ul><h3>SleekFlow</h3><ul><li><p><strong>Best for:</strong> omnichannel retail and service teams wanting AI agents.</p></li><li><p><strong>Price from:</strong> Pro S$199 a month billed yearly (S$269 monthly) for 3 users and 500 monthly active contacts, plus S$19 a month WhatsApp number hosting.</p></li><li><p><strong>Strengths:</strong> one inbox for WhatsApp, Instagram and web chat.</p></li><li><p><strong>Limits:</strong> HubSpot and Zoho CRM integration needs Premium, S$479 a month billed yearly.</p></li><li><p><strong>Singapore notes:</strong> priced in Singapore dollars.</p></li></ul><h3>respond.io</h3><ul><li><p><strong>Best for:</strong> sales teams working leads across WhatsApp, email and other channels.</p></li><li><p><strong>Price from:</strong> Starter US$79 a month billed yearly (US$99 monthly) with 5 users.</p></li><li><p><strong>Strengths:</strong> lifecycle stages and sales-style workflows.</p></li><li><p><strong>Limits:</strong> WhatsApp fees are topped up separately.</p></li><li><p><strong>Singapore notes:</strong> billed in US dollars.</p></li></ul><p>More in <a href="https://www.gantry.work/p/whatsapp-crm-small-business">WhatsApp CRM for small business</a>.</p><h2>What about AI CRM in Singapore?</h2><p>Every vendor sells AI now: HubSpot Starter includes 500 HubSpot Credits, monday CRM has AI tiers that enrich leads, SleekFlow includes AI agents from Pro, and Odoo puts agentic AI on its Custom plan. Buy the CRM for its pipeline, not its AI.</p><h2>CRM vs ERP: which does a Singapore SME need first?</h2><p>Most SMEs need a CRM first, because the pain starts with lost leads. An ERP comes first when the pain is after the sale: wrong stock, slow invoices, retyped quotes. The full reasoning is in <a href="https://www.gantry.work/p/erp-vs-crm-which-does-a-small-business-need-first">ERP vs CRM: which does a small business need first?</a>.</p><h2>What does the PDPA mean for customer data in a CRM?</h2><p>The Personal Data Protection Act (PDPA) applies to the personal data a CRM holds; the Personal Data Protection Commission (PDPC) lists ten main obligations, including consent, protection and transfer limitation. Three points matter for setup:</p><ul><li><p><strong>Business contact information is excluded.</strong> The data protection provisions do not apply to a work name, title, business phone or email not provided solely for personal purposes. A B2B pipeline is mostly this; a consumer's personal mobile is not.</p></li><li><p><strong>Your CRM vendor is a data intermediary.</strong> You keep the same obligations as if you processed the data yourself.</p></li><li><p><strong>WhatsApp marketing falls under the Do Not Call rules.</strong> The PDPC's guidelines name WhatsApp among apps that use a Singapore number. Before a marketing message to a consumer, check the DNC Register (results valid 21 days) or hold clear and unambiguous consent in evidential form; act on withdrawals within 21 days. Messages to an organisation for its business purposes are excluded.</p></li></ul><p>So add fields for consent source, date and channel, and let opt-outs update the record.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!KxcU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c6d2950-691b-48c9-b397-f552196ef4e9_2560x1440.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!KxcU!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c6d2950-691b-48c9-b397-f552196ef4e9_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!KxcU!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c6d2950-691b-48c9-b397-f552196ef4e9_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!KxcU!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c6d2950-691b-48c9-b397-f552196ef4e9_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!KxcU!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c6d2950-691b-48c9-b397-f552196ef4e9_2560x1440.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!KxcU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c6d2950-691b-48c9-b397-f552196ef4e9_2560x1440.png" width="2560" height="1440" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7c6d2950-691b-48c9-b397-f552196ef4e9_2560x1440.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1440,&quot;width&quot;:2560,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:116418,&quot;alt&quot;:&quot;WhatsApp marketing under the PDPA in four steps: 1 a consumer's number, where WhatsApp uses a Singapore number so Do Not Call rules apply; 2 check the DNC Register, with results valid for 21 days; 3 or hold clear, unambiguous consent in evidential form; 4 act on opt-outs within 21 days and update the record&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="WhatsApp marketing under the PDPA in four steps: 1 a consumer's number, where WhatsApp uses a Singapore number so Do Not Call rules apply; 2 check the DNC Register, with results valid for 21 days; 3 or hold clear, unambiguous consent in evidential form; 4 act on opt-outs within 21 days and update the record" title="WhatsApp marketing under the PDPA in four steps: 1 a consumer's number, where WhatsApp uses a Singapore number so Do Not Call rules apply; 2 check the DNC Register, with results valid for 21 days; 3 or hold clear, unambiguous consent in evidential form; 4 act on opt-outs within 21 days and update the record" srcset="https://substackcdn.com/image/fetch/$s_!KxcU!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c6d2950-691b-48c9-b397-f552196ef4e9_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!KxcU!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c6d2950-691b-48c9-b397-f552196ef4e9_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!KxcU!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c6d2950-691b-48c9-b397-f552196ef4e9_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!KxcU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c6d2950-691b-48c9-b397-f552196ef4e9_2560x1440.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">WhatsApp marketing to consumers falls under the Do Not Call rules.</figcaption></figure></div><h2>Where does your CRM data live?</h2><p>It varies by vendor, and the PDPA's Transfer Limitation Obligation applies once personal data leaves Singapore. HubSpot hosts paid accounts in the EU, Canada, Australia or the US by sign-up location, and free-only accounts in the US. Zoho lists data centres at Tai Seng and Sunview in Singapore, chosen by your sign-up country; confirm yours. Odoo Online's Asia and Pacific region runs production in Singapore and Taiwan, with backups in Europe and Canada. Ask the others before you sign.</p><h2>Can the EDGE grant pay for a CRM?</h2><p>Possibly, so check before you assume. Enterprise Singapore's EDGE grant, which replaced PSG on 30 September 2026, supports SMEs at up to 50%, with single-function digital solutions and integrated enterprise systems sharing a S$30,000 annual sub-cap. Integrated ERP packages need at least 3 core functions, so a CRM inside such a system may be supported; a standalone CRM may not. Single-function solutions are browsed on IMDA's SMEs Go Digital platform, so check your exact package. Paying a supplier before applying rules you out. More in <a href="https://www.gantry.work/p/edge-grant-erp-singapore-what-changed">the EDGE grant for ERP</a>.</p><h2>What does a CRM cost in the first year?</h2><p>An illustration, not a quote: a typical 12-person Singapore trading company where 6 people use the CRM. One year of licences at the list prices above:</p><ul><li><p><strong>HubSpot Sales Hub Starter, monthly billing:</strong> 6 &#215; US$20 &#215; 12 = US$1,440, about S$1,843.20.</p></li><li><p><strong>Pipedrive Growth, billed annually:</strong> 6 &#215; US$39 &#215; 12 = US$2,808, about S$3,594.24.</p></li><li><p><strong>Zoho CRM Professional, billed yearly:</strong> 6 &#215; S$28 &#215; 12 = S$2,016 plus local taxes.</p></li><li><p><strong>Salesforce Starter:</strong> 6 &#215; US$25 &#215; 12 = US$1,800, about S$2,304.</p></li><li><p><strong>Odoo:</strong> S$0 for CRM alone. Standard with all apps, year one: 6 &#215; US$13.50 &#215; 12 = US$972, about S$1,244.16, plus an implementation project.</p></li></ul><p>A full stack: Zoho CRM Professional (S$2,016) plus WATI Growth billed yearly (S$119 &#215; 12 = S$1,428) plus S$3,000 for setup and data import (my assumption) is <strong>S$6,444</strong>, before Meta's message charges. Setup and clean data, not licences, are the big number.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!C6lO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0ffc7a9-52f0-4338-bf93-046559e8dc00_2560x1440.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!C6lO!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0ffc7a9-52f0-4338-bf93-046559e8dc00_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!C6lO!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0ffc7a9-52f0-4338-bf93-046559e8dc00_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!C6lO!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0ffc7a9-52f0-4338-bf93-046559e8dc00_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!C6lO!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0ffc7a9-52f0-4338-bf93-046559e8dc00_2560x1440.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!C6lO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0ffc7a9-52f0-4338-bf93-046559e8dc00_2560x1440.png" width="2560" height="1440" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f0ffc7a9-52f0-4338-bf93-046559e8dc00_2560x1440.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1440,&quot;width&quot;:2560,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:191110,&quot;alt&quot;:&quot;Bar chart of one year of CRM licences for six users at list prices on 6 October 2026, US dollars at S$1.28: Odoo CRM alone S$0; Odoo Standard with all apps S$1,244.16 in year one plus an implementation project; HubSpot Starter at monthly list price S$1,843.20; Zoho CRM Professional S$2,016 plus local taxes; Salesforce Starter S$2,304; Pipedrive Growth S$3,594.24&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Bar chart of one year of CRM licences for six users at list prices on 6 October 2026, US dollars at S$1.28: Odoo CRM alone S$0; Odoo Standard with all apps S$1,244.16 in year one plus an implementation project; HubSpot Starter at monthly list price S$1,843.20; Zoho CRM Professional S$2,016 plus local taxes; Salesforce Starter S$2,304; Pipedrive Growth S$3,594.24" title="Bar chart of one year of CRM licences for six users at list prices on 6 October 2026, US dollars at S$1.28: Odoo CRM alone S$0; Odoo Standard with all apps S$1,244.16 in year one plus an implementation project; HubSpot Starter at monthly list price S$1,843.20; Zoho CRM Professional S$2,016 plus local taxes; Salesforce Starter S$2,304; Pipedrive Growth S$3,594.24" srcset="https://substackcdn.com/image/fetch/$s_!C6lO!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0ffc7a9-52f0-4338-bf93-046559e8dc00_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!C6lO!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0ffc7a9-52f0-4338-bf93-046559e8dc00_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!C6lO!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0ffc7a9-52f0-4338-bf93-046559e8dc00_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!C6lO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff0ffc7a9-52f0-4338-bf93-046559e8dc00_2560x1440.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Six users, one year of licences. An illustration, not a quote.</figcaption></figure></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!pZoA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd20dbefc-0307-4cf5-bc21-e11b38a2a670_2560x1440.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!pZoA!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd20dbefc-0307-4cf5-bc21-e11b38a2a670_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!pZoA!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd20dbefc-0307-4cf5-bc21-e11b38a2a670_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!pZoA!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd20dbefc-0307-4cf5-bc21-e11b38a2a670_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!pZoA!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd20dbefc-0307-4cf5-bc21-e11b38a2a670_2560x1440.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!pZoA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd20dbefc-0307-4cf5-bc21-e11b38a2a670_2560x1440.png" width="2560" height="1440" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d20dbefc-0307-4cf5-bc21-e11b38a2a670_2560x1440.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1440,&quot;width&quot;:2560,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:119901,&quot;alt&quot;:&quot;A full CRM stack in year one: Zoho CRM Professional for 6 users S$2,016, plus WATI Growth billed yearly S$1,428, plus setup and data import assumed at S$3,000, totals S$6,444 before Meta's message charges&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="A full CRM stack in year one: Zoho CRM Professional for 6 users S$2,016, plus WATI Growth billed yearly S$1,428, plus setup and data import assumed at S$3,000, totals S$6,444 before Meta's message charges" title="A full CRM stack in year one: Zoho CRM Professional for 6 users S$2,016, plus WATI Growth billed yearly S$1,428, plus setup and data import assumed at S$3,000, totals S$6,444 before Meta's message charges" srcset="https://substackcdn.com/image/fetch/$s_!pZoA!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd20dbefc-0307-4cf5-bc21-e11b38a2a670_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!pZoA!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd20dbefc-0307-4cf5-bc21-e11b38a2a670_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!pZoA!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd20dbefc-0307-4cf5-bc21-e11b38a2a670_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!pZoA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd20dbefc-0307-4cf5-bc21-e11b38a2a670_2560x1440.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Setup and clean data, not licences, are the big number.</figcaption></figure></div><h2>How to choose: a checklist by team size and sales motion</h2><ul><li><p><strong>1 to 4 people:</strong> start free with HubSpot (2 users), Zoho CRM (3 users) or Odoo CRM alone.</p></li><li><p><strong>5 to 20 people, B2B sales with quotes:</strong> Pipedrive for simplicity, Zoho CRM for depth, HubSpot if marketing shares the list.</p></li><li><p><strong>Customers buy on WhatsApp:</strong> WATI for small teams and broadcasts, SleekFlow for omnichannel, respond.io for multi-channel sales.</p></li><li><p><strong>Sales depends on stock:</strong> Odoo, so salespeople see stock while quoting.</p></li><li><p><strong>20 to 50 people, heavy customisation ahead:</strong> Salesforce or HubSpot Professional.</p></li></ul><h2>My recommendation</h2><p>For a B2B team of 5 to 20, Zoho CRM is the best value and Pipedrive the easiest to adopt. If WhatsApp is where you sell, start with a WhatsApp platform. If the real problems are quotes, stock and invoices, look at Odoo, eyes open about the project.</p><p><strong>Choosing between a CRM and a full system?</strong> Bring your sales process (who handles a lead, where quotes are made, which tools you use) to a free <a href="https://tools.gantry.work/review.html?utm_source=gantry&amp;utm_medium=crm-singapore-sme&amp;utm_campaign=article-cta">20-minute systems review</a>. I will tell you honestly which CRM fits, or whether your spreadsheet is fine for now.</p><h2>CRM setup mistakes to avoid</h2><ol><li><p><strong>Importing a dirty spreadsheet.</strong> Remove duplicates and dead leads first, or nobody trusts the CRM in week one.</p></li><li><p><strong>Too many stages.</strong> Five to seven meaningful stages beat fifteen nobody updates.</p></li><li><p><strong>No owner.</strong> One named person keeps fields, stages and users tidy.</p></li><li><p><strong>No consent fields.</strong> Add them before your first WhatsApp broadcast.</p></li><li><p><strong>Keeping the old sheet alive.</strong> Set a cut-over date and stop updating it.</p></li></ol><p><em>Stuck on a step? <a href="https://tools.gantry.work/automation-help/?from=crm-singapore-sme">Tell me where you're stuck</a> and you'll get the fix, or a free 20-minute review if it's worth one.</em></p><p>Down to two? HubSpot vs Pipedrive compares plan limits and a 5-rep cost for year one and year two.</p><h2>Frequently asked questions</h2><p><strong>What is the best CRM in Singapore for small businesses?</strong> For most B2B teams, Zoho CRM or HubSpot; for the simplest pipeline, Pipedrive; for WhatsApp-led sales, WATI or SleekFlow. Choose Odoo when sales must connect to stock and invoicing.</p><p><strong>Is there a free CRM in Singapore?</strong> Yes. HubSpot's free CRM covers 2 users and 1,000 contacts, Zoho CRM is free for 3 users, and Odoo is free for unlimited users if CRM is your only app.</p><p><strong>How much does CRM software cost in Singapore?</strong> Entry and mid-tier plans here run from S$17 (Zoho CRM Standard) to US$39 (Pipedrive Growth) per user per month billed yearly, checked 6 October 2026; professional tiers such as HubSpot Sales Professional cost more. Setup often costs more than year-one licences.</p><p><strong>Is Zoho CRM available in Singapore dollars?</strong> Yes, from S$17 per user per month billed yearly for Standard, with local taxes added.</p><p><strong>Can I use WhatsApp with a CRM in Singapore?</strong> Yes, through the official WhatsApp Business API, via a WhatsApp platform or a CRM integration. Marketing messages to Singapore numbers fall under the PDPA's Do Not Call rules, so record consent.</p><h2>Related guides</h2><p><a href="https://www.gantry.work/p/erp-vs-crm-which-does-a-small-business-need-first">ERP vs CRM: which does a small business need first?</a> &#183; <a href="https://www.gantry.work/p/whatsapp-crm-small-business">WhatsApp CRM for small business</a> &#183; <a href="https://www.gantry.work/p/wati-alternatives">WATI alternatives</a> &#183; <a href="https://www.gantry.work/p/odoo-vs-zoho-which-is-better-for-sme">Odoo vs Zoho</a> &#183; <a href="https://www.gantry.work/p/google-sheets-lead-automation">Google Sheets lead automation</a></p><h2>Sources</h2><p>All checked 6 October 2026.</p><ul><li><p>HubSpot: <a href="https://www.hubspot.com/pricing/crm">CRM pricing</a>, <a href="https://www.hubspot.com/pricing/sales">Sales Hub pricing</a>, <a href="https://www.hubspot.com/data-centers">data centres</a>, <a href="https://knowledge.hubspot.com/inbox/connect-whatsapp-to-the-conversations-inbox">WhatsApp inbox requirements</a></p></li><li><p>Pipedrive: <a href="https://www.pipedrive.com/en/pricing">pricing</a>, <a href="https://support.pipedrive.com/en/article/whatsapp-integration">WhatsApp integration</a>, <a href="https://support.pipedrive.com/en/article/how-does-pricing-work-in-pipedrive">how pricing works</a></p></li><li><p>Zoho: <a href="https://www.zoho.com/crm/zohocrm-pricing.html">Zoho CRM pricing</a>, <a href="https://help.zoho.com/portal/en/kb/crm/connect-with-customers/business-messaging/articles/business-messaging-using-whatsapp-for-business-integration-with-zoho-crm">WhatsApp integration</a>, <a href="https://www.zoho.com/know-your-datacenter.html">data centres</a></p></li><li><p>monday.com: <a href="https://monday.com/crm/pricing">monday CRM pricing</a></p></li><li><p>Salesforce: <a href="https://www.salesforce.com/ap/products/small-business-pricing/">small business pricing (Asia)</a></p></li><li><p>Odoo: <a href="https://www.odoo.com/pricing">pricing</a>, <a href="https://www.odoo.com/privacy">privacy policy, hosting regions</a></p></li><li><p>WATI: <a href="https://www.wati.io/pricing/">pricing</a>; SleekFlow: <a href="https://sleekflow.io/pricing">pricing</a>; respond.io: <a href="https://respond.io/pricing">pricing</a></p></li><li><p>PDPC: <a href="https://www.pdpc.gov.sg/-/media/Files/PDPC/PDF-Files/Advisory-Guidelines/AG-on-Key-Concepts/Advisory-Guidelines-on-Key-Concepts-in-the-PDPA-1-Oct-2021.pdf">Advisory Guidelines on Key Concepts in the PDPA</a>, <a href="https://www.pdpc.gov.sg/-/media/files/pdpc/pdf-files/advisory-guidelines/advisory-guidelines-on-the-dnc-provisions-1-feb-2021.pdf">Advisory Guidelines on the Do Not Call Provisions</a></p></li><li><p>Enterprise Singapore: <a href="https://www.enterprisesg.gov.sg/resources/all-faqs/edge-grant">EDGE grant FAQ</a></p></li></ul><p><em>Want this handled properly? I do a free <a href="https://tools.gantry.work/review.html?utm_source=gantry&amp;utm_medium=article&amp;utm_campaign=crm-singapore-sme">20-minute systems review</a>. No pitch, just your questions answered.</em></p><p><em>I'm Sayed. I work closely with business owners to automate their operations and build workflows that actually make sense. I write The Gantry about ERP and automation for SMEs.</em></p>]]></content:encoded></item><item><title><![CDATA[WATI vs respond.io (2026): Which WhatsApp Platform Fits Your Team? Plus SleekFlow, Gallabox, AiSensy]]></title><description><![CDATA[Verified October 2026 prices in S$ and US$, what each entry plan leaves out, a worked cost for 2, 4 and 10-person teams, and honest head-to-heads with SleekFlow, Gallabox, AiSensy, Gupshup and Omnichat.]]></description><link>https://www.gantry.work/p/wati-vs-respond-io</link><guid isPermaLink="false">https://www.gantry.work/p/wati-vs-respond-io</guid><dc:creator><![CDATA[Sayed Rashid]]></dc:creator><pubDate>Tue, 06 Oct 2026 04:09:31 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/acb56c32-b231-40ab-8dd8-8f27b935b5c3_2400x1612.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>Updated 27 Oct 2026. WATI prices re-checked on wati.io from Singapore, October 2026.</em></p><p><strong>What you'll get: </strong>WATI vs respond.io by team size, priced for 2, 4 and 10 people, plus a free 7-day trial plan for a shared WhatsApp inbox: chat owners, tags, and Growth or Pro on day 7.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://tools.gantry.work/go/?u=https%3A%2F%2Faffiliates.wati.io%2Fgantry-trial%3Fsid1%3Dwati-vs-respond-io-top&quot;,&quot;text&quot;:&quot;Start WATI's 7-day free trial&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://tools.gantry.work/go/?u=https%3A%2F%2Faffiliates.wati.io%2Fgantry-trial%3Fsid1%3Dwati-vs-respond-io-top"><span>Start WATI's 7-day free trial</span></a></p><p><em>Affiliate link: The Gantry may earn a commission if you sign up, at no extra cost to you.</em> <em><a href="https://www.gantry.work/p/how-the-gantry-works">How I test tools and how this site makes money.</a></em></p><p><strong>In the respond.io vs WATI decision, WATI is the better fit for teams of up to three people who mainly sell and support on WhatsApp: from Singapore, S$119 a month billed yearly buys a shared inbox, broadcasts and Shopify order messages. respond.io is the better fit for five or more people working leads across WhatsApp, email, Instagram and calls, but its US$79 Starter plan has no broadcasts or workflows, so the fair match is respond.io Growth (US$159 a month billed yearly, 10 users) against WATI Pro (S$329, 5 users).</strong> Whichever you pick, Meta's message charges come on top; the free <a href="https://tools.gantry.work/whatsapp-api-cost-calculator.html?utm_source=gantry&amp;utm_medium=article&amp;utm_campaign=wati-vs-respond-io">WhatsApp API cost calculator</a> adds them to the plan fee for you.</p><p>WATI is the only affiliate link on this page, so weigh my view accordingly; every other platform gets its genuine wins below.</p><h2>The comparison in 50 seconds</h2><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;0964b950-1ca4-4c40-8325-da601aebe370&quot;,&quot;duration&quot;:null}"></div><p>The short version: WATI is cheaper for small WhatsApp-first teams and bills in S$; respond.io gives more users per dollar from its Growth plan and wins from about four users. Prices, the worked example and the catches are below.</p><h2>Quick verdict: which WhatsApp platform fits which team?</h2><ul><li><p><strong>WATI:</strong> best for 1 to 5 people running WhatsApp broadcasts, Shopify order messages and a shared inbox, billed in S$.</p></li><li><p><strong>respond.io:</strong> best for sales teams of 5 to 10 or more working leads across many channels, with HubSpot or Salesforce.</p></li><li><p><strong>SleekFlow:</strong> best for Singapore retail and services teams wanting AI agents, broadcasts and Shopify on the entry plan, billed in S$.</p></li><li><p><strong>Gallabox:</strong> best for lead-qualification teams that need 6 users and HubSpot for less than most rivals.</p></li><li><p><strong>AiSensy:</strong> best for broadcast-heavy teams on the tightest budget, with 5 agent seats from US$45 a month.</p></li><li><p><strong>Gupshup:</strong> best for developers and high volumes: no plan fee on self-serve, US$0.001 per message.</p></li><li><p><strong>Omnichat:</strong> best for retail brands that need LINE, WeChat and SHOPLINE alongside WhatsApp.</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!RakX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facb56c32-b231-40ab-8dd8-8f27b935b5c3_2400x1612.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!RakX!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facb56c32-b231-40ab-8dd8-8f27b935b5c3_2400x1612.png 424w, https://substackcdn.com/image/fetch/$s_!RakX!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facb56c32-b231-40ab-8dd8-8f27b935b5c3_2400x1612.png 848w, https://substackcdn.com/image/fetch/$s_!RakX!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facb56c32-b231-40ab-8dd8-8f27b935b5c3_2400x1612.png 1272w, https://substackcdn.com/image/fetch/$s_!RakX!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facb56c32-b231-40ab-8dd8-8f27b935b5c3_2400x1612.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!RakX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facb56c32-b231-40ab-8dd8-8f27b935b5c3_2400x1612.png" width="2400" height="1612" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/acb56c32-b231-40ab-8dd8-8f27b935b5c3_2400x1612.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1612,&quot;width&quot;:2400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:359102,&quot;alt&quot;:&quot;WATI vs respond.io by team size on yearly billing: 1 to 3 people WATI Growth S$119 a month is cheaper; 4 to 5 people respond.io Growth US$159 beats WATI Pro S$329; 6 to 10 people respond.io Growth with 10 users beats WATI Pro plus extra users at S$504&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="WATI vs respond.io by team size on yearly billing: 1 to 3 people WATI Growth S$119 a month is cheaper; 4 to 5 people respond.io Growth US$159 beats WATI Pro S$329; 6 to 10 people respond.io Growth with 10 users beats WATI Pro plus extra users at S$504" title="WATI vs respond.io by team size on yearly billing: 1 to 3 people WATI Growth S$119 a month is cheaper; 4 to 5 people respond.io Growth US$159 beats WATI Pro S$329; 6 to 10 people respond.io Growth with 10 users beats WATI Pro plus extra users at S$504" srcset="https://substackcdn.com/image/fetch/$s_!RakX!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facb56c32-b231-40ab-8dd8-8f27b935b5c3_2400x1612.png 424w, https://substackcdn.com/image/fetch/$s_!RakX!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facb56c32-b231-40ab-8dd8-8f27b935b5c3_2400x1612.png 848w, https://substackcdn.com/image/fetch/$s_!RakX!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facb56c32-b231-40ab-8dd8-8f27b935b5c3_2400x1612.png 1272w, https://substackcdn.com/image/fetch/$s_!RakX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facb56c32-b231-40ab-8dd8-8f27b935b5c3_2400x1612.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>WATI vs respond.io: what is the real difference?</h2><p>WATI is built around WhatsApp marketing and e-commerce messaging; respond.io is built around routing conversations from many channels to a sales team.</p><p>WATI, a WhatsApp Business API platform with a shared team inbox, broadcasts and chatbots, starts with campaigns: promotions to opted-in customers, abandoned-cart recovery, order confirmations. Its inbox also takes Facebook, Instagram and TikTok messages.</p><p>respond.io, a conversation management platform for sales and support teams, starts with the inbox: chats from WhatsApp, Instagram, Messenger, TikTok, Telegram, LINE, WeChat, email, website chat and VoIP calls land in one place, get assigned and move through lifecycle stages.</p><h2>WATI vs respond.io pricing and features in 2026</h2><p>WATI is cheaper for up to 3 users and bills in S$; respond.io includes more users per dollar from its Growth plan up, billed in US$.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!MlT4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b885536-aa10-492e-a24d-cba5902c85ec_2560x1440.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!MlT4!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b885536-aa10-492e-a24d-cba5902c85ec_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!MlT4!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b885536-aa10-492e-a24d-cba5902c85ec_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!MlT4!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b885536-aa10-492e-a24d-cba5902c85ec_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!MlT4!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b885536-aa10-492e-a24d-cba5902c85ec_2560x1440.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!MlT4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b885536-aa10-492e-a24d-cba5902c85ec_2560x1440.png" width="2560" height="1440" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8b885536-aa10-492e-a24d-cba5902c85ec_2560x1440.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1440,&quot;width&quot;:2560,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:186018,&quot;alt&quot;:&quot;Bar chart of monthly plan fees billed yearly, in S$, checked 6 October 2026: AiSensy Basic about S$57.60 (US$45, 5 agent seats); WATI Growth S$119 (3 users); SleekFlow Pro S$199 (3 users); respond.io Growth about S$203.52 (US$159, 10 users); Gallabox Essential about S$317.44 (US$248, 6 users); WATI Pro S$329 (5 users)&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Bar chart of monthly plan fees billed yearly, in S$, checked 6 October 2026: AiSensy Basic about S$57.60 (US$45, 5 agent seats); WATI Growth S$119 (3 users); SleekFlow Pro S$199 (3 users); respond.io Growth about S$203.52 (US$159, 10 users); Gallabox Essential about S$317.44 (US$248, 6 users); WATI Pro S$329 (5 users)" title="Bar chart of monthly plan fees billed yearly, in S$, checked 6 October 2026: AiSensy Basic about S$57.60 (US$45, 5 agent seats); WATI Growth S$119 (3 users); SleekFlow Pro S$199 (3 users); respond.io Growth about S$203.52 (US$159, 10 users); Gallabox Essential about S$317.44 (US$248, 6 users); WATI Pro S$329 (5 users)" srcset="https://substackcdn.com/image/fetch/$s_!MlT4!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b885536-aa10-492e-a24d-cba5902c85ec_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!MlT4!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b885536-aa10-492e-a24d-cba5902c85ec_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!MlT4!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b885536-aa10-492e-a24d-cba5902c85ec_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!MlT4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b885536-aa10-492e-a24d-cba5902c85ec_2560x1440.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Plan fees side by side, before Meta's message charges. US$ plans at S$1.28.</figcaption></figure></div><h3>WATI</h3><ul><li><p><strong>Best for:</strong> small teams whose customers live on WhatsApp, especially Shopify sellers.</p></li><li><p><strong>Price from:</strong> Growth S$119 a month billed yearly (S$1,428 a year) or S$159 monthly; Pro S$329 a month billed yearly (S$3,948 a year) or S$429 monthly; Business on quote.</p></li><li><p><strong>Users:</strong> Growth 3, with no extra users allowed; Pro 5, extra users S$35 a month each.</p></li><li><p><strong>Strengths:</strong> 15,000 broadcasts a month on Growth, unlimited on Pro; WhatsApp catalogue and Shopify abandoned-cart and order templates from Growth; help with the official API and green tick; 7-day free trial, no setup fee.</p></li><li><p><strong>Limits:</strong> Growth has 2 commerce or CRM integrations, 10,000 API calls a month, no webhooks and 1,000 automation triggers. HubSpot needs Pro, Salesforce needs Business, and the Astra AI agents are an add-on priced separately.</p></li><li><p><strong>Singapore notes:</strong> WATI's Singapore page bills in S$; messages are charged from WATI's rate card.</p></li></ul><h3>respond.io</h3><ul><li><p><strong>Best for:</strong> teams of 5 or more handling sales conversations on several channels.</p></li><li><p><strong>Price from (US$, all plans):</strong> Starter US$79 a month billed yearly (US$948) or US$99 monthly; Growth US$159 yearly (US$1,908) or US$199 monthly; Advanced US$279 yearly (US$3,348) or US$349 monthly; Enterprise on quote.</p></li><li><p><strong>Users:</strong> Starter 5 (extra US$12 a month yearly, US$15 monthly); Growth 10 (US$20 or US$25); Advanced 10 (US$24 or US$30).</p></li><li><p><strong>Contacts:</strong> Starter has unlimited monthly active contacts; Growth starts with 1,000, then US$12 per 100 extra on demand; Advanced US$15 per 100.</p></li><li><p><strong>Strengths:</strong> the widest channel list here; lifecycle stages and team inboxes on every plan; Growth adds workflows, AI agents, broadcasts, HubSpot, Zapier, Make, n8n and the developer API; Advanced adds Salesforce and webhooks. respond.io's blog says it passes Meta's rates through without markup.</p></li><li><p><strong>Limits:</strong> Starter has no broadcasts, workflows, AI agents, HubSpot or API. Shopify is a chat widget; order and contact sync goes through Make, n8n or Zapier.</p></li><li><p><strong>Singapore notes:</strong> billed in US dollars, so your cost moves with the exchange rate.</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!zR_M!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb110a09-e1f9-4a8f-a8b0-484074f9b5b5_2560x1440.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!zR_M!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb110a09-e1f9-4a8f-a8b0-484074f9b5b5_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!zR_M!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb110a09-e1f9-4a8f-a8b0-484074f9b5b5_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!zR_M!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb110a09-e1f9-4a8f-a8b0-484074f9b5b5_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!zR_M!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb110a09-e1f9-4a8f-a8b0-484074f9b5b5_2560x1440.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!zR_M!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb110a09-e1f9-4a8f-a8b0-484074f9b5b5_2560x1440.png" width="2560" height="1440" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fb110a09-e1f9-4a8f-a8b0-484074f9b5b5_2560x1440.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1440,&quot;width&quot;:2560,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:154973,&quot;alt&quot;:&quot;Checklist before signing: respond.io Starter has no broadcasts or workflows; WATI Growth has 3 users and no extras; WATI needs Pro for HubSpot; respond.io sends Shopify orders via Make or n8n; respond.io bills in US$ so it moves with exchange rates; Meta's message charges come on top&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Checklist before signing: respond.io Starter has no broadcasts or workflows; WATI Growth has 3 users and no extras; WATI needs Pro for HubSpot; respond.io sends Shopify orders via Make or n8n; respond.io bills in US$ so it moves with exchange rates; Meta's message charges come on top" title="Checklist before signing: respond.io Starter has no broadcasts or workflows; WATI Growth has 3 users and no extras; WATI needs Pro for HubSpot; respond.io sends Shopify orders via Make or n8n; respond.io bills in US$ so it moves with exchange rates; Meta's message charges come on top" srcset="https://substackcdn.com/image/fetch/$s_!zR_M!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb110a09-e1f9-4a8f-a8b0-484074f9b5b5_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!zR_M!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb110a09-e1f9-4a8f-a8b0-484074f9b5b5_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!zR_M!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb110a09-e1f9-4a8f-a8b0-484074f9b5b5_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!zR_M!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb110a09-e1f9-4a8f-a8b0-484074f9b5b5_2560x1440.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">The plan limits that change which tier you actually need.</figcaption></figure></div><h2>Worked example: the same team on each platform</h2><p>WATI wins for small teams, respond.io from about 4 users. An illustration at list prices, yearly billing, S$1.28 to the US dollar (mid-market, 6 October 2026). Meta's message charges are left out: the underlying rates are the same on both.</p><ul><li><p><strong>2 people, Shopify store, monthly promotions:</strong> respond.io Starter cannot broadcast, so the match is Growth: US$1,908 &#215; 1.28 = S$2,442.24 a year. WATI Growth is S$1,428. <strong>WATI is S$1,014.24 a year cheaper.</strong></p></li><li><p><strong>4 people, HubSpot needed:</strong> WATI Growth stops at 3 users and has no HubSpot, so it is Pro at S$3,948 a year. respond.io Growth is S$2,442.24. <strong>respond.io is S$1,505.76 a year cheaper</strong>, while you stay under 1,000 active contacts a month.</p></li><li><p><strong>10 people across channels:</strong> WATI Pro with 5 extra users is S$329 + (5 &#215; S$35) = S$504 a month. respond.io Growth includes 10 users for US$159, about S$203.52. <strong>respond.io is about S$300 a month cheaper.</strong></p></li></ul><p>Two caveats. At 1,500 active contacts in a month, respond.io adds US$12 &#215; 5 = US$60. And on respond.io, Shopify order messages need a Make or n8n scenario; WATI ships them as templates.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!eow-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c625401-0612-4ae7-8fd4-0862d8c21865_2560x1440.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!eow-!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c625401-0612-4ae7-8fd4-0862d8c21865_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!eow-!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c625401-0612-4ae7-8fd4-0862d8c21865_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!eow-!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c625401-0612-4ae7-8fd4-0862d8c21865_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!eow-!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c625401-0612-4ae7-8fd4-0862d8c21865_2560x1440.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!eow-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c625401-0612-4ae7-8fd4-0862d8c21865_2560x1440.png" width="2560" height="1440" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6c625401-0612-4ae7-8fd4-0862d8c21865_2560x1440.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1440,&quot;width&quot;:2560,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:144005,&quot;alt&quot;:&quot;Worked comparison at list prices: 2 people with Shopify and monthly promotions, WATI is S$1,014.24 a year cheaper; 4 people needing HubSpot, respond.io is S$1,505.76 a year cheaper; 10 people across channels, respond.io is about S$300 a month cheaper; the crossover is about 4 users&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Worked comparison at list prices: 2 people with Shopify and monthly promotions, WATI is S$1,014.24 a year cheaper; 4 people needing HubSpot, respond.io is S$1,505.76 a year cheaper; 10 people across channels, respond.io is about S$300 a month cheaper; the crossover is about 4 users" title="Worked comparison at list prices: 2 people with Shopify and monthly promotions, WATI is S$1,014.24 a year cheaper; 4 people needing HubSpot, respond.io is S$1,505.76 a year cheaper; 10 people across channels, respond.io is about S$300 a month cheaper; the crossover is about 4 users" srcset="https://substackcdn.com/image/fetch/$s_!eow-!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c625401-0612-4ae7-8fd4-0862d8c21865_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!eow-!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c625401-0612-4ae7-8fd4-0862d8c21865_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!eow-!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c625401-0612-4ae7-8fd4-0862d8c21865_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!eow-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c625401-0612-4ae7-8fd4-0862d8c21865_2560x1440.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">The same team priced on both platforms, Meta charges left out.</figcaption></figure></div><h2>Free checklist: run the 7-day WATI trial as a shared team inbox</h2><p>Seven days is short. Plan it, and you finish the week knowing whether one number on three screens works for your team.</p><h3>Day 1: connect and invite</h3><ul><li><p>Admin access to your Meta business account, your business website, and the number you will use. A new number is quickest; your current one usually has to come off the WhatsApp app first.</p></li><li><p>Invite everyone who answers WhatsApp today. Growth has 3 users and no extra seats; Pro has 5, plus S$35 a month per extra user (checked October 2026).</p></li><li><p>Add an opt-in line wherever customers first message you, for example: "By messaging [Your business] on WhatsApp you agree to receive replies and order updates here."</p></li></ul><h3>Days 2 to 6: run real chats with these rules</h3><ul><li><p>Every new chat gets an owner within 15 minutes; one person per shift watches the unassigned queue.</p></li><li><p>Five tags only: New enquiry, Order, Paid, Delivery, Complaint.</p></li><li><p>Quick replies for your ten most common questions, written once and used by everyone.</p></li><li><p>Close a chat when it is done. If the customer writes again, it reopens with its history.</p></li><li><p>One person owns templates and broadcasts, so customers do not get two offers in a day.</p></li></ul><h3>Day 7: decide</h3><ul><li><p>Three people or fewer, broadcasts and Shopify messages: stay on Growth.</p></li><li><p>A fourth person, HubSpot, webhooks or advanced chatbots: Pro, or compare respond.io Growth if you also work email and Instagram leads.</p></li><li><p>Nobody used the inbox: the free WhatsApp Business app may still be enough. That is a fine answer too.</p></li></ul><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://tools.gantry.work/go/?u=https%3A%2F%2Faffiliates.wati.io%2Fgantry-trial%3Fsid1%3Dwati-vs-respond-io-mid&quot;,&quot;text&quot;:&quot;Start WATI's 7-day free trial&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://tools.gantry.work/go/?u=https%3A%2F%2Faffiliates.wati.io%2Fgantry-trial%3Fsid1%3Dwati-vs-respond-io-mid"><span>Start WATI's 7-day free trial</span></a></p><p><em>What happens when you click: WATI's website opens with The Gantry's affiliate code. Click Try for Free to start the 7-day trial; there is no setup fee.</em></p><h2>WATI vs Gallabox</h2><p>Gallabox wins once you need 6 users and HubSpot; WATI wins at entry level, with monthly billing and S$ pricing.</p><ul><li><p><strong>Price from (shown in &#8377;, US$ and AED; quarterly or yearly billing, no monthly):</strong> Basic US$112 a month billed yearly or US$150 billed quarterly (&#8377;2,399 or &#8377;2,999); Essential US$248 yearly or US$331 quarterly; Advanced US$474 or US$632.</p></li><li><p><strong>Users:</strong> Basic 3 (hard cap); Essential 6, extra US$18; Advanced 10, extra US$24.</p></li><li><p><strong>Strengths:</strong> Basic includes chatbot flows, WhatsApp, Instagram and a web widget, and Shopify, Stripe and Zoho Books integrations. Essential adds HubSpot, the full API, webhooks and AI agents on WhatsApp and Instagram. Free trial, no card.</p></li><li><p><strong>Limits:</strong> Basic has only the message and contact API and no webhooks; Salesforce and Pipedrive need Advanced.</p></li></ul><p>Essential (about S$317.44 a month) gives 6 users and HubSpot; WATI Pro is S$329 for 5. At 3 users, WATI Growth (S$119) beats Gallabox Basic (about S$143.36).</p><h2>WATI vs AiSensy</h2><p>AiSensy is the cheaper broadcast tool; WATI includes more chat automation and Shopify templates in the plan price.</p><p>AiSensy shows rupee prices on its main page and US dollars on <a href="https://aisensy.com/pricing/usd">its USD page</a>.</p><ul><li><p><strong>Price from:</strong> Free Forever (API and green-tick application, no broadcasting); Basic US$45 a month, or US$486 a year; Pro US$99 a month, or US$1,069.20 a year; Premium US$299 a month.</p></li><li><p><strong>Users:</strong> 5 agent seats on Basic and Pro, 9 on Premium; unlimited contacts.</p></li><li><p><strong>Strengths:</strong> lowest entry price here; prepaid message credits cap your spend; Click-to-WhatsApp ads manager on every plan.</p></li><li><p><strong>Limits:</strong> the chatbot builder is a US$80 a month add-on and the AI agent builder US$50; webhooks start on Premium.</p></li></ul><p>For a team that mainly broadcasts, AiSensy Basic at about S$57.60 a month is hard to beat; with the chatbot add-on it costs more than WATI Growth.</p><h2>respond.io vs SleekFlow</h2><p>respond.io gives you more users and channels per dollar; SleekFlow puts broadcasts, AI agents and Shopify on its entry plan and bills Singapore customers in S$.</p><ul><li><p><strong>SleekFlow price from:</strong> Pro S$199 a month billed yearly (S$2,388) or S$269 monthly, with 3 users and 500 monthly active contacts; Premium S$479 yearly (S$5,748) or S$549 monthly, with 5 users and 1,000 contacts. A WhatsApp number costs S$19 a month on top.</p></li><li><p><strong>SleekFlow strengths:</strong> Pro includes AI agents, an omnichannel inbox for chat, email and calls, broadcasts, a flow builder, and Shopify, Google Sheets and API integrations. Human chat support in APAC hours from Premium. 7-day trial, no card.</p></li><li><p><strong>SleekFlow limits:</strong> HubSpot, Zoho and webhooks need Premium; Salesforce needs Enterprise.</p></li></ul><p>respond.io Growth (about S$203.52 a month, 10 users) and SleekFlow Pro (S$199, 3 users) cost about the same. A 3-person retail team sending promotions gets more from SleekFlow Pro; a 10-person sales team with HubSpot gets far more from respond.io Growth than from SleekFlow Premium at S$479.</p><h2>WATI vs Gupshup</h2><p>Gupshup, a conversational messaging platform with a self-serve WhatsApp API, suits developers; WATI suits staff who need an inbox tomorrow.</p><p>Gupshup's self-serve page charges US$0.001 per message (outgoing templates, and incoming and outgoing session messages), with Meta's fees billed at actuals and no plan fee listed. 10,000 messages a month cost US$10 in Gupshup fees. Enterprise features are on quote. You get an API, not an inbox: someone builds the logic, or connects a tool such as <a href="https://www.gantry.work/p/n8n-whatsapp-order-automation">n8n</a>.</p><h2>SleekFlow vs Omnichat</h2><p>SleekFlow wins on transparent pricing and monthly billing; Omnichat wins for brands that sell on LINE, WeChat and SHOPLINE.</p><p>Omnichat, an omnichannel chat-commerce platform with Hong Kong and Southeast Asia sites, quotes every plan privately: Basic (10,000 contacts, 3 users), Pro (25,000 contacts, 3 users), Enterprise (100,000 contacts, 10 users) and Customisation. Billing is annual only, with a 14-day free trial. It covers WhatsApp, Messenger, Instagram, WeChat, LINE and live chat, and integrates with Shopify, Magento, SHOPLINE, Salesforce, Microsoft Dynamics and SAP. Plan fees exclude WhatsApp and LINE API charges.</p><h2>Is the WhatsApp Business API free?</h2><p>No. Meta charges per delivered template message, by category and the customer's country, on top of every platform above.</p><p>What changed this month: Gupshup's pricing page says Meta charges for service messages (your replies inside the 24-hour window) from 1 October 2026, and Gupshup and AiSensy say the first 1,000 a month per number stay free. Meta's own WhatsApp Business pricing page still called those replies free on 6 October 2026, so check your October invoice.</p><p>How each platform bills messages:</p><ul><li><p><strong>WATI and SleekFlow:</strong> from their own rate cards.</p></li><li><p><strong>respond.io:</strong> Meta bills you; respond.io says it adds no markup.</p></li><li><p><strong>Gupshup:</strong> Meta's fee plus US$0.001 per message.</p></li><li><p><strong>AiSensy:</strong> prepaid conversation credits.</p></li><li><p><strong>Gallabox and Omnichat:</strong> separate from the plan fee.</p></li></ul><p>Singapore's per-category rates and a worked monthly bill are in <a href="https://www.gantry.work/p/whatsapp-business-api-pricing">WhatsApp Business API pricing</a>. Run your own numbers in the free <a href="https://tools.gantry.work/whatsapp-api-cost-calculator.html?utm_source=gantry&amp;utm_medium=article&amp;utm_campaign=wati-vs-respond-io">WhatsApp API cost calculator</a>.</p><h2>WATI or respond.io: my recommendation</h2><ul><li><p><strong>1 to 3 people, WhatsApp-first, promotions and Shopify:</strong> WATI Growth. <a href="https://tools.gantry.work/go/?u=https%3A%2F%2Faffiliates.wati.io%2Fgantry-trial%3Fsid1%3Dwati-vs-respond-io">Start the 7-day WATI trial</a> with your real number.</p></li><li><p><strong>4 to 5 people who need Shopify templates and unlimited broadcasts:</strong> WATI Pro. If you want a walkthrough first, <a href="https://tools.gantry.work/go/?u=https%3A%2F%2Faffiliates.wati.io%2Fgantry-demo%3Fsid1%3Dwati-vs-respond-io">book a WATI demo</a>.</p></li><li><p><strong>5 or more people, several channels, HubSpot:</strong> respond.io Growth.</p></li><li><p><strong>Retail team of 3 wanting AI agents and Shopify, billed in S$:</strong> SleekFlow Pro.</p></li><li><p><strong>Lowest price for broadcasts:</strong> AiSensy. <strong>6 users with HubSpot:</strong> Gallabox Essential.</p></li><li><p><strong>Automated messages from your own systems, no inbox:</strong> Gupshup or Meta's Cloud API with n8n. More options in <a href="https://www.gantry.work/p/wati-alternatives">WATI alternatives</a>.</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!AaIL!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94617497-d566-4a91-8ef4-2c6468279605_2560x1440.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!AaIL!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94617497-d566-4a91-8ef4-2c6468279605_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!AaIL!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94617497-d566-4a91-8ef4-2c6468279605_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!AaIL!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94617497-d566-4a91-8ef4-2c6468279605_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!AaIL!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94617497-d566-4a91-8ef4-2c6468279605_2560x1440.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!AaIL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94617497-d566-4a91-8ef4-2c6468279605_2560x1440.png" width="2560" height="1440" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/94617497-d566-4a91-8ef4-2c6468279605_2560x1440.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1440,&quot;width&quot;:2560,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:140920,&quot;alt&quot;:&quot;Plan ladder by team: broadcasts on the tightest budget, AiSensy; 1 to 3 people WhatsApp-first, WATI Growth; retail team of 3 wanting AI agents and Shopify, SleekFlow Pro; 4 to 5 people needing Shopify templates and unlimited broadcasts, WATI Pro; 5 or more across channels with HubSpot, respond.io Growth&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Plan ladder by team: broadcasts on the tightest budget, AiSensy; 1 to 3 people WhatsApp-first, WATI Growth; retail team of 3 wanting AI agents and Shopify, SleekFlow Pro; 4 to 5 people needing Shopify templates and unlimited broadcasts, WATI Pro; 5 or more across channels with HubSpot, respond.io Growth" title="Plan ladder by team: broadcasts on the tightest budget, AiSensy; 1 to 3 people WhatsApp-first, WATI Growth; retail team of 3 wanting AI agents and Shopify, SleekFlow Pro; 4 to 5 people needing Shopify templates and unlimited broadcasts, WATI Pro; 5 or more across channels with HubSpot, respond.io Growth" srcset="https://substackcdn.com/image/fetch/$s_!AaIL!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94617497-d566-4a91-8ef4-2c6468279605_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!AaIL!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94617497-d566-4a91-8ef4-2c6468279605_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!AaIL!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94617497-d566-4a91-8ef4-2c6468279605_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!AaIL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94617497-d566-4a91-8ef4-2c6468279605_2560x1440.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Which plan fits, as the team grows.</figcaption></figure></div><p><strong>Not sure which one fits your team, or whether you need the API at all?</strong> Book a free <a href="https://tools.gantry.work/review.html?utm_source=gantry&amp;utm_medium=wati-vs-respond-io&amp;utm_campaign=article-cta">20-minute WhatsApp setup check</a>. Bring your team size, monthly chats and your apps; I will tell you which plan fits, or whether the free WhatsApp Business app is still enough.</p><p><em>Stuck on a step? <a href="https://tools.gantry.work/automation-help/?from=wati-vs-respond-io">Tell me where you're stuck</a> and you'll get the fix, or a free 20-minute review if it's worth one.</em></p><h2>Frequently asked questions</h2><p><strong>Is respond.io better than WATI?</strong> For multi-channel sales teams of 5 or more, yes: Growth includes 10 users, workflows and HubSpot for US$159 a month billed yearly. For small WhatsApp-first teams running promotions and Shopify messages, WATI is simpler and cheaper.</p><p><strong>Is WhatsApp Business API free?</strong> No. Meta charges per delivered template message by category and country, and Meta partners say replies beyond 1,000 a month per number are charged from 1 October 2026. Your platform's plan fee comes on top.</p><p><strong>What is the cost for WhatsApp Business API?</strong> A platform plan (from S$119 a month on WATI, US$79 on respond.io, US$45 on AiSensy, or US$0.001 per message on Gupshup) plus Meta's per-message charges. Our <a href="https://www.gantry.work/p/whatsapp-business-api-pricing">pricing guide</a> works through a Singapore month.</p><p><strong>Does respond.io Starter include broadcasts?</strong> No. Broadcasts, workflows, AI agents and HubSpot start on Growth, according to respond.io's pricing page.</p><h2>Sources</h2><p>All checked on 6 October 2026, from Singapore. WATI re-checked on 27 October 2026 (unchanged).</p><ul><li><p>WATI Singapore pricing: <a href="https://www.wati.io/en-sg/pricing/">wati.io/en-sg/pricing</a></p></li><li><p>respond.io pricing: <a href="https://respond.io/pricing">respond.io/pricing</a></p></li><li><p>respond.io Shopify integration: <a href="https://respond.io/integrations/shopify">respond.io/integrations/shopify</a></p></li><li><p>respond.io on message fees: <a href="https://respond.io/blog/whatsapp-pricing-change-2026">WhatsApp pricing change 2026</a></p></li><li><p>SleekFlow Singapore pricing: <a href="https://sleekflow.io/en-sg/pricing">sleekflow.io/en-sg/pricing</a></p></li><li><p>Gallabox pricing: <a href="https://gallabox.com/pricing">gallabox.com/pricing</a></p></li><li><p>AiSensy pricing: <a href="https://aisensy.com/pricing">aisensy.com/pricing</a> and <a href="https://aisensy.com/pricing/usd">aisensy.com/pricing/usd</a></p></li><li><p>Gupshup self-serve pricing: <a href="https://www.gupshup.ai/isv-partners/whatsapp-api/pricing">gupshup.ai WhatsApp API pricing</a></p></li><li><p>Omnichat pricing and integrations: <a href="https://www.omnichat.ai/pricing/">omnichat.ai/pricing</a> and <a href="https://www.omnichat.ai/customer-service/">omnichat.ai/customer-service</a></p></li><li><p>Meta: <a href="https://whatsappbusiness.com/products/platform-pricing/">WhatsApp Business Platform pricing</a></p></li></ul><blockquote><p><strong>Up to three people on WhatsApp? Start with WATI Growth</strong></p><p>S$119 a month billed yearly or S$159 monthly for 3 users, with the shared inbox, broadcasts and Shopify templates (checked October 2026). Meta's message charges are extra. Use the 7-day plan above so the trial answers the question.</p></blockquote><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://tools.gantry.work/go/?u=https%3A%2F%2Faffiliates.wati.io%2Fgantry-trial%3Fsid1%3Dwati-vs-respond-io-end&quot;,&quot;text&quot;:&quot;Start WATI's 7-day free trial&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://tools.gantry.work/go/?u=https%3A%2F%2Faffiliates.wati.io%2Fgantry-trial%3Fsid1%3Dwati-vs-respond-io-end"><span>Start WATI's 7-day free trial</span></a></p><p><em>Affiliate link: The Gantry may earn a commission if you sign up, at no extra cost to you.</em></p><h2>Next read</h2><ul><li><p><a href="https://www.gantry.work/p/wati-alternatives">WATI alternatives</a>: SleekFlow, AiSensy, Interakt, Twilio and going direct, with SG prices</p></li><li><p><a href="https://www.gantry.work/p/whatsapp-business-api-pricing">WhatsApp Business API pricing</a>: what Meta charges per message in Singapore</p></li><li><p><a href="https://www.gantry.work/p/n8n-whatsapp-order-automation">WhatsApp order automation</a>: turn chat orders into a logged order list</p></li></ul><p><strong>Free tool: </strong><a href="https://tools.gantry.work/whatsapp-api-cost-calculator.html?utm_source=gantry&amp;utm_medium=nextread&amp;utm_campaign=wati-vs-respond-io">WhatsApp API cost calculator</a>. Your plan plus message charges, for your own volumes.</p><p><strong>Rather have someone look at your setup? </strong>Book a <a href="https://tools.gantry.work/review.html?utm_source=gantry&amp;utm_medium=nextread&amp;utm_campaign=wati-vs-respond-io">free 20-minute systems review</a>. Bring the process that keeps going wrong; you get an honest answer on whether to automate it, and how.</p><p><em>I'm Sayed. I work closely with business owners to automate their operations and build workflows that actually make sense. I write The Gantry about ERP and automation for SMEs.</em></p>]]></content:encoded></item><item><title><![CDATA[Best Inventory Software for Small Business (2026): Honest Picks by Business Type]]></title><description><![CDATA[An implementer's guide for 5 to 50 person firms: when a spreadsheet or Xero is enough, picks for retailers, distributors, light manufacturers and service teams, prices checked October 2026, free tiers, scanners and landed cost.]]></description><link>https://www.gantry.work/p/best-inventory-software-small-business</link><guid isPermaLink="false">https://www.gantry.work/p/best-inventory-software-small-business</guid><dc:creator><![CDATA[Sayed Rashid]]></dc:creator><pubDate>Tue, 06 Oct 2026 04:08:56 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/3c5f8735-90ac-4db2-a25b-3fa8a7a9ba0d_2400x1732.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><strong>The best inventory software for a small business depends on what your stock does: Zoho Inventory or inFlow for a simple retailer or online seller, Cin7 Core or Unleashed for a distributor with several locations, Katana for a light manufacturer, and Sortly for a service business tracking parts. If you hold a few hundred items in one place, the stock module in Xero or QuickBooks Online is usually enough, and paying for a separate system is premature.</strong> Every price below was checked on the vendor's own pricing page on 6 October 2026.</p><p><em>Part of The Gantry's automation guides. Updated October 2026.</em></p><p>A disclosure: I implement Odoo for a living. It gets the same bullets as everyone else, and for most small businesses it is not the first answer.</p><h2>The whole guide in 55 seconds</h2><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;de712107-edcb-4f15-bd84-7690dbef7eb4&quot;,&quot;duration&quot;:null}"></div><p>The short version: four features decide the shortlist, the headline price is the smallest part of the bill, and one location with a few hundred items rarely needs a separate system. The picks and prices are below.</p><h2>Quick verdict: the best inventory software for small business</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Be17!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c5f8735-90ac-4db2-a25b-3fa8a7a9ba0d_2400x1732.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Be17!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c5f8735-90ac-4db2-a25b-3fa8a7a9ba0d_2400x1732.png 424w, https://substackcdn.com/image/fetch/$s_!Be17!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c5f8735-90ac-4db2-a25b-3fa8a7a9ba0d_2400x1732.png 848w, https://substackcdn.com/image/fetch/$s_!Be17!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c5f8735-90ac-4db2-a25b-3fa8a7a9ba0d_2400x1732.png 1272w, https://substackcdn.com/image/fetch/$s_!Be17!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c5f8735-90ac-4db2-a25b-3fa8a7a9ba0d_2400x1732.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Be17!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c5f8735-90ac-4db2-a25b-3fa8a7a9ba0d_2400x1732.png" width="2400" height="1732" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3c5f8735-90ac-4db2-a25b-3fa8a7a9ba0d_2400x1732.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1732,&quot;width&quot;:2400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:388234,&quot;alt&quot;:&quot;Which inventory software fits by business type: retailer or online seller, multi-location distributor, light manufacturer, service business with parts, with the signs you have outgrown it&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Which inventory software fits by business type: retailer or online seller, multi-location distributor, light manufacturer, service business with parts, with the signs you have outgrown it" title="Which inventory software fits by business type: retailer or online seller, multi-location distributor, light manufacturer, service business with parts, with the signs you have outgrown it" srcset="https://substackcdn.com/image/fetch/$s_!Be17!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c5f8735-90ac-4db2-a25b-3fa8a7a9ba0d_2400x1732.png 424w, https://substackcdn.com/image/fetch/$s_!Be17!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c5f8735-90ac-4db2-a25b-3fa8a7a9ba0d_2400x1732.png 848w, https://substackcdn.com/image/fetch/$s_!Be17!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c5f8735-90ac-4db2-a25b-3fa8a7a9ba0d_2400x1732.png 1272w, https://substackcdn.com/image/fetch/$s_!Be17!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c5f8735-90ac-4db2-a25b-3fa8a7a9ba0d_2400x1732.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><ul><li><p><strong>Xero or QuickBooks Online (built-in stock):</strong> best for one location, a few hundred items, and an accountant who already lives there.</p></li><li><p><strong>Zoho Inventory:</strong> best for a small retailer or online seller who wants a free start and low monthly cost.</p></li><li><p><strong>inFlow Inventory:</strong> best for a small wholesaler or retailer that wants a friendly app and a supplied barcode scanner.</p></li><li><p><strong>Sortly:</strong> best for a service business tracking parts, tools and consumables across vans or sites.</p></li><li><p><strong>Katana:</strong> best for a light manufacturer or kitting business that sells through Shopify.</p></li><li><p><strong>Cin7 Core:</strong> best for a multi-location distributor selling through several channels on top of Xero or QuickBooks.</p></li><li><p><strong>Unleashed:</strong> best for a distributor or light manufacturer that needs strong costing and batch tracking.</p></li><li><p><strong>Odoo Inventory:</strong> best when sales, purchasing, stock and accounts all need to live in one system.</p></li></ul><h2>When is a spreadsheet or your accounting software enough?</h2><p>A spreadsheet or your accounting package's stock module is enough while you have one location, a few hundred items, one person who updates stock, and no batches or serial numbers.</p><p>Xero's Singapore inventory page describes managing up to 4,000 finished items. In the US, Xero also sells Inventory Plus, a US$39 a month add-on for multiple locations and up to 10,000 orders a month, but Xero states it is only available in the United States. QuickBooks Online includes inventory on its Plus and Advanced plans; in the US those list at US$140 and US$340 a month before promotions. Intuit's help centre says QuickBooks Online values stock on FIFO, with moving average cost offered as a second option.</p><p>If you can answer "how many do we have and what did they cost?" in under a minute, stay put and get the basics right: <a href="https://www.gantry.work/p/safety-stock-reorder-point">safety stock and reorder points</a>, a <a href="https://www.gantry.work/p/goods-received-note-grn">goods received note</a> for every delivery, and clean purchase orders (the free <a href="https://tools.gantry.work/purchase-order-generator.html?utm_source=gantry&amp;utm_medium=article&amp;utm_campaign=best-inventory-software-small-business">purchase order generator</a> handles GST and numbering if you are still on paper).</p><h2>The four features that decide the shortlist</h2><p>Barcode scanning, multiple locations, landed cost and accounting integration separate these products far more than dashboards do.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!_z3C!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7450f8d-39ee-49f3-9764-de41e3bb5b32_2560x1440.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!_z3C!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7450f8d-39ee-49f3-9764-de41e3bb5b32_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!_z3C!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7450f8d-39ee-49f3-9764-de41e3bb5b32_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!_z3C!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7450f8d-39ee-49f3-9764-de41e3bb5b32_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!_z3C!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7450f8d-39ee-49f3-9764-de41e3bb5b32_2560x1440.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!_z3C!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7450f8d-39ee-49f3-9764-de41e3bb5b32_2560x1440.png" width="2560" height="1440" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c7450f8d-39ee-49f3-9764-de41e3bb5b32_2560x1440.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1440,&quot;width&quot;:2560,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:93597,&quot;alt&quot;:&quot;Four features that decide the shortlist: barcode scanning, now mostly by phone camera; multiple locations, meaning stock held and transferred rather than a report tag; landed cost, putting freight, duty and insurance into unit cost; accounting sync, agreeing FIFO or weighted average early&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Four features that decide the shortlist: barcode scanning, now mostly by phone camera; multiple locations, meaning stock held and transferred rather than a report tag; landed cost, putting freight, duty and insurance into unit cost; accounting sync, agreeing FIFO or weighted average early" title="Four features that decide the shortlist: barcode scanning, now mostly by phone camera; multiple locations, meaning stock held and transferred rather than a report tag; landed cost, putting freight, duty and insurance into unit cost; accounting sync, agreeing FIFO or weighted average early" srcset="https://substackcdn.com/image/fetch/$s_!_z3C!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7450f8d-39ee-49f3-9764-de41e3bb5b32_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!_z3C!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7450f8d-39ee-49f3-9764-de41e3bb5b32_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!_z3C!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7450f8d-39ee-49f3-9764-de41e3bb5b32_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!_z3C!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7450f8d-39ee-49f3-9764-de41e3bb5b32_2560x1440.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">The four features that separate these products.</figcaption></figure></div><h3>Inventory software for small business with a scanner</h3><p>Most products now scan with a phone camera, so hardware is optional. Sortly scans in-app on every plan, including Free. Katana includes barcode scanning on Free and Core. Cin7 Core includes a warehouse app with barcode scanning on Standard. inFlow sells its own Smartphone Scanner and offers a Stockroom scan-in, scan-out app from US$39 a month as an add-on. Zoho Inventory lists barcode generation from its Premium plan.</p><h3>Multi-location stock</h3><p>Multi-location means stock held and transferred between warehouses, shops or vans, not a reporting tag. QuickBooks Online's pricing page lists "class and location tracking", which tags transactions for reports; if you need stock by warehouse, test it in the trial. Cin7 Core includes unlimited locations on every plan. Katana Core includes one and charges for each extra.</p><h3>Landed cost</h3><p>Landed cost adds freight, duty and insurance to the unit cost so your margins are real. Katana, Cin7 Core, Unleashed, Zoho Inventory, inFlow and Odoo all document a way to spread these costs onto items. Sortly does not cost stock this way. Read <a href="https://www.gantry.work/p/landed-cost">landed cost explained</a> before you trust any margin report, then check your prices with the free <a href="https://tools.gantry.work/profit-margin-calculator.html?utm_source=gantry&amp;utm_medium=article&amp;utm_campaign=best-inventory-software-small-business">profit margin calculator</a>.</p><h3>Accounting integration</h3><p>The best accounting and inventory software for small business is usually two synced products: Xero or QuickBooks Online for the books, an inventory app for stock. Cin7 Core, Katana, Unleashed, inFlow and Fishbowl all integrate with both. Sortly integrates with QuickBooks Online on Premium and above. Zoho Inventory pairs with Zoho Books. Odoo is the exception: accounting is part of the same database. Agree on <a href="https://www.gantry.work/p/fifo-vs-weighted-average-inventory">FIFO or weighted average</a> early; both systems must match.</p><h2>The best inventory software for small business, product by product</h2><h3>Zoho Inventory</h3><ul><li><p><strong>Best for:</strong> retailers and online sellers with modest order volumes.</p></li><li><p><strong>Price from:</strong> Free (50 orders a month, 1 user, 2 locations). Standard S$39, Professional S$109, Premium S$169, Enterprise S$329 a month billed annually, as shown to a Singapore visitor, excluding local taxes. Other regions see their own currency and price.</p></li><li><p><strong>Strengths:</strong> cheap entry, serial and batch tracking from Professional, extra users S$10 and extra locations S$12 a month.</p></li><li><p><strong>Limits:</strong> Standard and Professional include only 2 users; order caps (500 a month on Standard) bite as you grow.</p></li><li><p><strong>Singapore notes:</strong> the only dedicated inventory app here that shows SGD prices to Singapore buyers.</p></li></ul><h3>inFlow Inventory</h3><ul><li><p><strong>Best for:</strong> small wholesalers and retailers wanting a simple app plus scanning hardware.</p></li><li><p><strong>Price from:</strong> Lite US$99, Core US$299, Pro US$499, Max US$699 a month billed annually. No free plan; a 14-day trial.</p></li><li><p><strong>Strengths:</strong> unlimited products, sales and purchases on every plan; freight and duties spread onto product cost; Xero and QuickBooks Online integrations.</p></li><li><p><strong>Limits:</strong> Lite has 2 users and 1 location; lot and serial numbers are add-ons on most plans; the page shows a US$499 one-time onboarding package, optional on Lite and listed as required above it.</p></li><li><p><strong>Singapore notes:</strong> priced in USD.</p></li></ul><h3>Sortly</h3><ul><li><p><strong>Best for:</strong> service, maintenance and trade businesses tracking parts, tools and consumables.</p></li><li><p><strong>Price from:</strong> Free (100 items, 1 user). Advanced US$49 a month monthly, or US$24 a month billed yearly in the first year (US$288). Ultra US$149 monthly or US$74 yearly; Premium US$299 monthly or US$149 yearly.</p></li><li><p><strong>Strengths:</strong> photos, check-in and check-out, in-app scanning on all plans.</p></li><li><p><strong>Limits:</strong> the yearly prices carry a 50% first-year discount that drops to 20% at renewal; purchase orders start on Ultra; QuickBooks Online on Premium only. It tracks, it does not cost stock.</p></li><li><p><strong>Singapore notes:</strong> priced in USD.</p></li></ul><h3>Katana</h3><ul><li><p><strong>Best for:</strong> light manufacturers and kitting businesses, especially on Shopify.</p></li><li><p><strong>Price from:</strong> Free (30 SKUs, unlimited users and locations). Core from US$299 a month, then usage-based on sales orders delivered and extra locations.</p></li><li><p><strong>Strengths:</strong> unlimited users, barcode scanning and purchase added costs included; QuickBooks Online and Xero integrations.</p></li><li><p><strong>Limits:</strong> add-ons cost extra on Core: manufacturing routings and insights US$199, batch and serial traceability US$249, warehouse management US$149 a month. Optional onboarding US$2,000. Annual billing carries a small premium.</p></li><li><p><strong>Singapore notes:</strong> priced in USD; the Free plan's ecommerce link is Shopify only for now.</p></li></ul><h3>Cin7 Core</h3><ul><li><p><strong>Best for:</strong> distributors and brands selling through several channels and locations.</p></li><li><p><strong>Price from:</strong> Standard US$349 a month (5 users, 6,000 sales orders a year, 2 ecommerce or app integrations). Pro US$599, Advanced US$1,199, excluding taxes.</p></li><li><p><strong>Strengths:</strong> unlimited locations on every plan, assembly with BOMs, batch and serial tracking, landed costs, Xero or QuickBooks Online integration.</p></li><li><p><strong>Limits:</strong> a high entry price for a five-person firm; POS, B2B portal and MRP are add-ons.</p></li><li><p><strong>Singapore notes:</strong> priced in USD.</p></li></ul><h3>Unleashed</h3><ul><li><p><strong>Best for:</strong> distributors and light manufacturers who care about accurate costing.</p></li><li><p><strong>Price from:</strong> Core US$399 a month (3 users, 100 sales orders a month), or US$4,389 a year. Pro US$729 a month (5 users), excluding taxes.</p></li><li><p><strong>Strengths:</strong> multi-warehouse, batch and serial tracking, units of measure and landed costs listed as standard; Xero and QuickBooks integrations.</p></li><li><p><strong>Limits:</strong> extra users US$69 to US$89 a month each; onboarding US$449 to US$5,549 one-off; 100 orders a month is low for a busy seller.</p></li><li><p><strong>Singapore notes:</strong> priced in USD.</p></li></ul><h3>Odoo Inventory</h3><ul><li><p><strong>Best for:</strong> firms where sales, purchasing, stock and accounts should be one system.</p></li><li><p><strong>Price from:</strong> One App Free (one app, unlimited users). Standard US$16.90 per user a month billed yearly, with a current first-year rate of US$13.50 for initial users. Custom US$32.00 (first year US$25.50).</p></li><li><p><strong>Strengths:</strong> multi-warehouse, landed costs, lots and serials, and accounting in the same database.</p></li><li><p><strong>Limits:</strong> sales and purchase orders are separate apps, so most firms move to a paid plan; it needs a proper implementation, which costs more than the licences. See <a href="https://www.gantry.work/p/what-odoo-actually-costs-in-2026">what Odoo actually costs in 2026</a>.</p></li><li><p><strong>Singapore notes:</strong> Odoo prepares GST F5 figures; compare it with local options in <a href="https://www.gantry.work/p/autocount-vs-xero-vs-odoo">AutoCount vs Xero vs Odoo</a>.</p></li></ul><p>For QuickBooks users, <strong>Fishbowl Inventory</strong> lists Essentials at US$229 a month billed annually (2 users, mobile scanning, QuickBooks Online and Xero sync); manufacturing sits in its separately quoted Advanced product.</p><h2>Picks by business type</h2><p><strong>Simple retailer or online seller:</strong> Zoho Inventory Free or Standard; inFlow Lite if you want supplied scanning hardware; Katana Free to test bundles on Shopify with 30 SKUs.</p><p><strong>Wholesaler or distributor with several locations:</strong> Cin7 Core Standard if you sell across channels; Unleashed Core if costing and batches matter more than channels. Both sit on top of Xero or QuickBooks Online.</p><p><strong>Light manufacturer or kitting:</strong> Katana. Budget the add-ons you will actually use, because traceability and routings are priced separately on Core.</p><p><strong>Service business with parts:</strong> Sortly. It tracks what is on each van and who took it, which is the real problem for a service team.</p><p><strong>Not sure which tier you need?</strong> Bring your item count, locations and the reports you rebuild in Excel to a free <a href="https://tools.gantry.work/review.html?utm_source=gantry&amp;utm_medium=best-inventory-software-small-business&amp;utm_campaign=article-cta">20-minute systems review</a>. I will tell you which tool fits, or whether your accounting software is still enough.</p><h2>How much does inventory management software cost?</h2><p><strong>Inventory management software costs from free to US$1,199 a month across the products in this guide, and add-ons, extra users and onboarding decide what you actually pay.</strong> The plan name is the smallest part of the decision. The lines below it are where two quotes for the same business drift thousands apart.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!0cO3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F028eeed6-b08c-4f3f-a0ad-d78c91883245_2560x1440.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!0cO3!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F028eeed6-b08c-4f3f-a0ad-d78c91883245_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!0cO3!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F028eeed6-b08c-4f3f-a0ad-d78c91883245_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!0cO3!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F028eeed6-b08c-4f3f-a0ad-d78c91883245_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!0cO3!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F028eeed6-b08c-4f3f-a0ad-d78c91883245_2560x1440.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!0cO3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F028eeed6-b08c-4f3f-a0ad-d78c91883245_2560x1440.png" width="2560" height="1440" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/028eeed6-b08c-4f3f-a0ad-d78c91883245_2560x1440.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1440,&quot;width&quot;:2560,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:155747,&quot;alt&quot;:&quot;Bar chart of paid entry plans in US dollars a month: Sortly Advanced US$49 billed monthly; inFlow Lite US$99 billed annually with 2 users; Katana Core from US$299, then usage-based; Cin7 Core Standard US$349 with 5 users and unlimited locations; Unleashed Core US$399 with 3 users and 100 orders a month. Zoho Inventory starts at S$39 a month billed annually&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Bar chart of paid entry plans in US dollars a month: Sortly Advanced US$49 billed monthly; inFlow Lite US$99 billed annually with 2 users; Katana Core from US$299, then usage-based; Cin7 Core Standard US$349 with 5 users and unlimited locations; Unleashed Core US$399 with 3 users and 100 orders a month. Zoho Inventory starts at S$39 a month billed annually" title="Bar chart of paid entry plans in US dollars a month: Sortly Advanced US$49 billed monthly; inFlow Lite US$99 billed annually with 2 users; Katana Core from US$299, then usage-based; Cin7 Core Standard US$349 with 5 users and unlimited locations; Unleashed Core US$399 with 3 users and 100 orders a month. Zoho Inventory starts at S$39 a month billed annually" srcset="https://substackcdn.com/image/fetch/$s_!0cO3!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F028eeed6-b08c-4f3f-a0ad-d78c91883245_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!0cO3!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F028eeed6-b08c-4f3f-a0ad-d78c91883245_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!0cO3!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F028eeed6-b08c-4f3f-a0ad-d78c91883245_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!0cO3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F028eeed6-b08c-4f3f-a0ad-d78c91883245_2560x1440.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Headline prices, checked 6 October 2026. The add-ons come next.</figcaption></figure></div><h3>The cost lines owners forget</h3><ul><li><p><strong>Users beyond the bundle:</strong> Zoho Inventory Professional includes 2 users, extra users are S$10 a month each on yearly billing. Unleashed Core includes 3, extra users are US$69 a month each. inFlow Core includes 5, then US$29 a month per team member.</p></li><li><p><strong>Locations:</strong> Zoho Inventory charges S$12 a month per extra location, inFlow US$39. Katana Core includes one location and bills each extra one at a rate its page does not publish.</p></li><li><p><strong>Order caps:</strong> Unleashed Core includes 100 sales orders a month; 500 a month costs US$70 more, unlimited US$490. Katana bills per sales order delivered, again without a published rate. Ask for a written quote at your real volume.</p></li><li><p><strong>Batch, serial and scanning add-ons:</strong> inFlow charges US$39 a month each for lot numbers and serial numbers, and its Stockroom scanning app starts at US$39 a month. Katana's traceability add-on is US$249 a month. Unleashed lists batch and serial tracking as standard but charges US$49 per warehouse device.</p></li><li><p><strong>Onboarding:</strong> inFlow's US$499 package is required on most plans. Unleashed onboarding runs from US$449 (self-service) to US$5,549 (full). Katana's is US$2,000, optional on Core.</p></li><li><p><strong>Hardware:</strong> a phone camera works for most apps. A rugged scanner is real money: inFlow's own Smartphone Scanner is listed at US$999.</p></li><li><p><strong>Integrations:</strong> Unleashed includes 3 basic integrations on Core and charges US$39 a month for each extra one.</p></li><li><p><strong>Your own team's time:</strong> someone has to clean the item list, load opening stock and count every location before go-live. It never appears on an invoice, and it is usually the biggest cost.</p></li></ul><h3>Worked example: 12 months for a 5-user, 2-location business</h3><p>An illustration using list prices checked on each vendor's page on 6 October 2026, billed yearly and excluding tax. A typical wholesaler: 5 people need logins, a warehouse plus a showroom, about 250 sales orders a month, and batch tracking for expiry dates.</p><ol><li><p><strong>Zoho Inventory Professional:</strong> S$109 &#215; 12 = S$1,308, covering 2 users, 4 locations, 3,000 orders a month and batch tracking. Add 3 users &#215; S$10 &#215; 12 = S$360. Total <strong>S$1,668</strong>.</p></li><li><p><strong>inFlow Core:</strong> US$299 &#215; 12 = US$3,588, covering 5 team members and 5 locations. Add lot numbers at US$39 &#215; 12 = US$468 and the US$499 onboarding package. Total <strong>US$4,555</strong>. One Smartphone Scanner takes it to US$5,554, or US$5,304 after the US$250 hardware credit inFlow offers new Core customers.</p></li><li><p><strong>Unleashed Core:</strong> US$4,389 a year, covering 3 users and 100 orders a month, with batch tracking included. Add 2 users &#215; US$69 &#215; 12 = US$1,656, the 500-order upgrade at US$70 &#215; 12 = US$840, and self-service onboarding at US$449. Total <strong>US$7,334</strong>.</p></li></ol><p>Same business, same year. On Unleashed the extras add 67% to the headline plan (US$2,945 on US$4,389); on Zoho and inFlow they add a little over a quarter. Price the plan you will need in 12 months, with every add-on, before you compare.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!sNxr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb59c4266-7446-41be-8e54-ef13d961fb2b_2560x1440.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!sNxr!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb59c4266-7446-41be-8e54-ef13d961fb2b_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!sNxr!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb59c4266-7446-41be-8e54-ef13d961fb2b_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!sNxr!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb59c4266-7446-41be-8e54-ef13d961fb2b_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!sNxr!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb59c4266-7446-41be-8e54-ef13d961fb2b_2560x1440.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!sNxr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb59c4266-7446-41be-8e54-ef13d961fb2b_2560x1440.png" width="2560" height="1440" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b59c4266-7446-41be-8e54-ef13d961fb2b_2560x1440.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1440,&quot;width&quot;:2560,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:147209,&quot;alt&quot;:&quot;Unleashed Core for 5 users and 2 locations over one year: Core plan billed yearly US$4,389, plus 2 extra users at US$69 times 12, US$1,656, plus the 500-order upgrade at US$70 times 12, US$840, plus self-service onboarding US$449, equals US$7,334&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Unleashed Core for 5 users and 2 locations over one year: Core plan billed yearly US$4,389, plus 2 extra users at US$69 times 12, US$1,656, plus the 500-order upgrade at US$70 times 12, US$840, plus self-service onboarding US$449, equals US$7,334" title="Unleashed Core for 5 users and 2 locations over one year: Core plan billed yearly US$4,389, plus 2 extra users at US$69 times 12, US$1,656, plus the 500-order upgrade at US$70 times 12, US$840, plus self-service onboarding US$449, equals US$7,334" srcset="https://substackcdn.com/image/fetch/$s_!sNxr!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb59c4266-7446-41be-8e54-ef13d961fb2b_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!sNxr!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb59c4266-7446-41be-8e54-ef13d961fb2b_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!sNxr!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb59c4266-7446-41be-8e54-ef13d961fb2b_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!sNxr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb59c4266-7446-41be-8e54-ef13d961fb2b_2560x1440.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">How a US$4,389 plan becomes US$7,334 at list price.</figcaption></figure></div><p>Run your own numbers in <a href="https://tools.gantry.work/inventory-software-cost-calculator.html?utm_source=gantry&amp;utm_medium=article&amp;utm_campaign=best-inventory-software-small-business">the free inventory software cost calculator</a>.</p><p>Sources, checked 6 October 2026: <a href="https://www.zoho.com/inventory/pricing/">Zoho Inventory pricing</a>, <a href="https://www.inflowinventory.com/software-pricing-inflow">inFlow pricing</a>, <a href="https://www.inflowinventory.com/hardware/smart-scanner">inFlow Smartphone Scanner</a>, <a href="https://www.unleashedsoftware.com/pricing/">Unleashed pricing</a>, <a href="https://katanamrp.com/pricing/">Katana pricing</a>, <a href="https://www.cin7.com/pricing/">Cin7 pricing</a>.</p><h3>Is there free inventory software for small business?</h3><p>Yes, with tight limits. Zoho Inventory Free allows 50 orders a month and 1 user; Sortly Free 100 items and 1 user; Katana Free 30 SKUs; Odoo One App Free one app for unlimited users. inFlow, Cin7 and Unleashed offer trials, not free plans.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!lJ8q!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F12c899a3-9f0a-4104-afdd-a3ec95d87468_2560x1440.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!lJ8q!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F12c899a3-9f0a-4104-afdd-a3ec95d87468_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!lJ8q!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F12c899a3-9f0a-4104-afdd-a3ec95d87468_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!lJ8q!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F12c899a3-9f0a-4104-afdd-a3ec95d87468_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!lJ8q!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F12c899a3-9f0a-4104-afdd-a3ec95d87468_2560x1440.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!lJ8q!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F12c899a3-9f0a-4104-afdd-a3ec95d87468_2560x1440.png" width="2560" height="1440" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/12c899a3-9f0a-4104-afdd-a3ec95d87468_2560x1440.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1440,&quot;width&quot;:2560,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:78158,&quot;alt&quot;:&quot;Free plan limits: Zoho Inventory Free, 50 orders a month and 1 user; Sortly Free, 100 items and 1 user; Katana Free, 30 SKUs with unlimited users&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Free plan limits: Zoho Inventory Free, 50 orders a month and 1 user; Sortly Free, 100 items and 1 user; Katana Free, 30 SKUs with unlimited users" title="Free plan limits: Zoho Inventory Free, 50 orders a month and 1 user; Sortly Free, 100 items and 1 user; Katana Free, 30 SKUs with unlimited users" srcset="https://substackcdn.com/image/fetch/$s_!lJ8q!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F12c899a3-9f0a-4104-afdd-a3ec95d87468_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!lJ8q!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F12c899a3-9f0a-4104-afdd-a3ec95d87468_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!lJ8q!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F12c899a3-9f0a-4104-afdd-a3ec95d87468_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!lJ8q!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F12c899a3-9f0a-4104-afdd-a3ec95d87468_2560x1440.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Free plans, and where they stop.</figcaption></figure></div><h3>Worked example: a 12-person distributor</h3><p>A typical distributor: 6 people need logins, 2 locations, about 400 orders a month. Year-one licences at list price:</p><ol><li><p><strong>Zoho Inventory Professional:</strong> S$109 &#215; 12 = S$1,308, plus 4 extra users &#215; S$10 &#215; 12 = S$480. Total <strong>S$1,788</strong>.</p></li><li><p><strong>inFlow Core:</strong> US$299 &#215; 12 = US$3,588, plus 1 extra member &#215; US$29 &#215; 12 = US$348, plus the US$499 onboarding package. Total <strong>US$4,435</strong>.</p></li><li><p><strong>Cin7 Core Standard:</strong> US$349 &#215; 12 = <strong>US$4,188</strong> for 5 users; 4,800 orders a year fits the 6,000 cap. The sixth user is extra at a price the page does not publish.</p></li><li><p><strong>Odoo Standard:</strong> 6 &#215; US$16.90 &#215; 12 = <strong>US$1,216.80</strong> at the regular rate, before implementation.</p></li></ol><p>Setup, item-master clean-up and a second system to reconcile usually cost more than the licences.</p><h2>When does inventory software stop being enough?</h2><p>Inventory software stops being enough when the pain moves between departments: sales promise stock the warehouse has not got, purchasing runs from a separate sheet, and finance rebuilds margins every month.</p><p>Other signs: several apps syncing into Xero with errors, more than one legal entity, or a warehouse needing bin control. Then compare a full ERP with a warehouse system using <a href="https://www.gantry.work/p/erp-vs-wms-what-a-warehouse-or-3pl-actually-needs">ERP vs WMS: what a warehouse actually needs</a>. Singapore readers weighing local options should also read <a href="https://www.gantry.work/p/inventory-management-software-singapore-sme-guide">inventory management software in Singapore</a> and <a href="https://www.gantry.work/p/odoo-vs-xero-singapore">Odoo vs Xero in Singapore</a>.</p><h2>Decision checklist</h2><ol><li><p>Count active SKUs, locations (including vans) and orders a month.</p></li><li><p>List who needs a login, not who might look once a quarter.</p></li><li><p>Decide whether you need batches, serials or expiry dates.</p></li><li><p>Decide how freight and duty should reach item cost.</p></li><li><p>Confirm the integration with your accounting software, in your country.</p></li><li><p>Price the plan you will need in 12 months, including add-ons and onboarding.</p></li><li><p>Run a trial with your own 50 messiest items before you sign.</p></li></ol><p><em>Stuck on a step? <a href="https://tools.gantry.work/automation-help/?from=best-inventory-software-small-business">Tell me where you're stuck</a> and you'll get the fix, or a free 20-minute review if it's worth one.</em></p><p>Running bins, pick waves or several clients&#8217; stock? Read <a href="https://www.gantry.work/p/warehouse-management-system-singapore">warehouse management system in Singapore</a> before you choose.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!WKl9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0a749a1-8bd7-4d84-a7df-9c5ca3903f0c_2560x1440.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!WKl9!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0a749a1-8bd7-4d84-a7df-9c5ca3903f0c_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!WKl9!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0a749a1-8bd7-4d84-a7df-9c5ca3903f0c_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!WKl9!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0a749a1-8bd7-4d84-a7df-9c5ca3903f0c_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!WKl9!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0a749a1-8bd7-4d84-a7df-9c5ca3903f0c_2560x1440.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!WKl9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0a749a1-8bd7-4d84-a7df-9c5ca3903f0c_2560x1440.png" width="2560" height="1440" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d0a749a1-8bd7-4d84-a7df-9c5ca3903f0c_2560x1440.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1440,&quot;width&quot;:2560,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:126958,&quot;alt&quot;:&quot;Checklist before you sign: count SKUs, locations and monthly orders; list who really needs a login; decide on batches, serials or expiry dates; decide how freight and duty reach cost; check the accounting sync in your country; trial it with your 50 messiest items&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Checklist before you sign: count SKUs, locations and monthly orders; list who really needs a login; decide on batches, serials or expiry dates; decide how freight and duty reach cost; check the accounting sync in your country; trial it with your 50 messiest items" title="Checklist before you sign: count SKUs, locations and monthly orders; list who really needs a login; decide on batches, serials or expiry dates; decide how freight and duty reach cost; check the accounting sync in your country; trial it with your 50 messiest items" srcset="https://substackcdn.com/image/fetch/$s_!WKl9!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0a749a1-8bd7-4d84-a7df-9c5ca3903f0c_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!WKl9!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0a749a1-8bd7-4d84-a7df-9c5ca3903f0c_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!WKl9!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0a749a1-8bd7-4d84-a7df-9c5ca3903f0c_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!WKl9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0a749a1-8bd7-4d84-a7df-9c5ca3903f0c_2560x1440.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">The decision checklist, on one page.</figcaption></figure></div><h2>Frequently asked questions</h2><p><strong>What is the best inventory software for a small business?</strong> Zoho Inventory or inFlow for simple retail, Cin7 Core or Unleashed for multi-location distribution, Katana for light manufacturing, Sortly for service teams tracking parts.</p><p><strong>What is the best inventory tracking software for small business on a budget?</strong> Start with Zoho Inventory Free or Sortly Free, or with the stock module already in Xero or QuickBooks Online Plus. Upgrade when the order, item or user limits start to bite.</p><p><strong>How much does inventory management software cost?</strong> In this list, from free up to US$1,199 a month for Cin7 Core Advanced. Paid entry plans run from S$39 a month (Zoho Inventory Standard) to US$399 (Unleashed Core), plus any onboarding fee.</p><p><strong>Can I use inventory software with a barcode scanner?</strong> Yes. Sortly, Katana, Cin7 Core, inFlow, Fishbowl and Odoo all support scanning, mostly through a phone camera app, so a dedicated scanner is optional.</p><p><strong>Do I need inventory software if I already use Xero or QuickBooks?</strong> Not while you have one location, a few hundred items and no batches. Add one when you need several locations, landed costs or traceability.</p><h2>Related guides</h2><p><a href="https://www.gantry.work/p/landed-cost">Landed cost</a> &#183; <a href="https://www.gantry.work/p/safety-stock-reorder-point">Safety stock and reorder point</a> &#183; <a href="https://www.gantry.work/p/perpetual-vs-periodic-inventory">Perpetual vs periodic inventory</a> &#183; <a href="https://www.gantry.work/p/fifo-vs-weighted-average-inventory">FIFO vs weighted average</a> &#183; <a href="https://www.gantry.work/p/odoo-vs-xero-singapore">Odoo vs Xero in Singapore</a></p><h2>Sources</h2><p>All checked 6 October 2026.</p><ul><li><p><a href="https://www.zoho.com/inventory/pricing/">Zoho Inventory pricing</a>: plans, SGD prices, order, user and location limits, add-ons.</p></li><li><p><a href="https://www.zoho.com/us/inventory/kb/bill/landed-cost.html">Zoho Inventory: landed cost</a>: landed cost allocation.</p></li><li><p><a href="https://www.inflowinventory.com/software-pricing-inflow">inFlow pricing</a>: plans, users, locations, add-ons, onboarding.</p></li><li><p><a href="https://www.inflowinventory.com/support/cloud/inflow-cloud-calculate-cost-item-cost-goods-sold">inFlow: cost calculation</a> and <a href="https://www.inflowinventory.com/integrations/xero">inFlow Xero integration</a>: freight and duty in cost; accounting sync.</p></li><li><p><a href="https://www.sortly.com/pricing/">Sortly pricing</a>: plans, item and user limits, discounts, scanning, QuickBooks Online.</p></li><li><p><a href="https://katanamrp.com/pricing/">Katana pricing</a>: Free and Core plans, add-ons, onboarding, usage billing.</p></li><li><p><a href="https://www.cin7.com/pricing/">Cin7 pricing</a> and <a href="https://help.core.cin7.com/hc/en-us/articles/10553625549711-Landed-costs-for-purchases">Cin7 Core landed costs</a>: plans, limits, features.</p></li><li><p><a href="https://www.unleashedsoftware.com/pricing/">Unleashed pricing</a>: plans, users, orders, onboarding, features.</p></li><li><p><a href="https://www.odoo.com/pricing">Odoo pricing</a>, <a href="https://www.odoo.com/documentation/19.0/applications/inventory_and_mrp/inventory.html">Odoo 19 Inventory docs</a>, <a href="https://www.odoo.com/documentation/19.0/applications/inventory_and_mrp/inventory/inventory_valuation/landed_costs.html">landed costs</a> and <a href="https://www.odoo.com/documentation/19.0/applications/inventory_and_mrp/barcode.html">Barcode</a>: plans, first-year discount, One App Free terms, features.</p></li><li><p><a href="https://www.fishbowlinventory.com/pricing">Fishbowl pricing</a>: Essentials plan and integrations.</p></li><li><p><a href="https://www.xero.com/sg/accounting-software/manage-inventory/">Xero Singapore inventory</a>, <a href="https://www.xero.com/us/pricing-plans/">Xero US pricing</a> and <a href="https://www.xero.com/us/accounting-software/manage-inventory/inventory-plus/">Xero Inventory Plus</a>: item limit, Inventory Plus price and availability.</p></li><li><p><a href="https://quickbooks.intuit.com/pricing/">QuickBooks Online pricing (US)</a>, <a href="https://quickbooks.intuit.com/sg/pricing/">QuickBooks Online pricing (Singapore)</a> and <a href="https://quickbooks.intuit.com/learn-support/en-global/help-article/stock-management/fifo-used-inventory-cost-accounting/L1x3hkunE_ROW_en">QuickBooks inventory valuation</a>: plans with inventory, location tracking, FIFO.</p></li></ul><p><em>Want this handled properly? I do a free <a href="https://tools.gantry.work/review.html?utm_source=gantry&amp;utm_medium=article&amp;utm_campaign=best-inventory-software-small-business">20-minute systems review</a>. No pitch, just your questions answered.</em></p><p><em>I'm Sayed. I work closely with business owners to automate their operations and build workflows that actually make sense. I write The Gantry about ERP and automation for SMEs.</em></p>]]></content:encoded></item></channel></rss>