Pricing
Starting prices.
Then a written proposal.
Floors in CAD for each slice — web, CRM, Salesforce, SAP, design, copy, marketing, social, SEO/GEO, monthly support, 365, IT. Not a fake $8,000 package. Ninety minutes in Montreal hours, then a scope with dates.
Fixed-scope build
A first slice: landing, site, shop, CRM, Salesforce, SAP, or 365. Written scope after a 90-minute call. You keep the stack.
What's included:
- Starting from a single money page
- PHP, Shopify, WordPress, Drupal, OpenCart, Joomla
- Salesforce, HubSpot, Dynamics, Zoho, Pipedrive, SAP
- SEO/GEO in the build — not a plugin after
- Keys, hosting, CRM org, SAP landscape, and repo in your name
Design & copy
A brand people can reuse, UI editors can keep, and copy a person actually wrote — EN, FR, or both. Source files stay yours.
What's included:
- Visual identity first slice from $4,800
- Web copy from $1,800 — a person, not a paste
- EN/FR as planned fields, not Google Translate
- Figma, type, and copy docs you can open without us
- Tied to the money page, not a 80-page brand book
Monthly support
Keep the site, the shop, and the tenant boring after launch. Updates, backups, small edits, a human in Montreal hours.
What's included:
- Site Care from $450 · Shopify Care from $650
- Core, theme, and app updates on a calendar
- Backup plus a restore you have seen
- Small edits, 9–17 ET, next business day
- Stop anytime — stack stays yours
Growth + SEO/GEO
The next money page, Search Console, GEO so AI answers can cite you. Not a quarterly rebrand.
What's included:
- SEO/GEO retainer from $1,800/mo
- Growth retainer from $2,400/mo
- One shippable change you can forward
- Coverage, 404s, schema after theme updates
- Stop anytime — analytics stays in your GA4
Social & content
A calendar that points at real URLs. LinkedIn, Instagram, Facebook, or Google Business — same NAP as the site. No bought followers.
What's included:
- Two platforms, eight posts from $1,800/mo
- Captions a person wrote; CASL if DMs become a list
- Same hours, phone, and city as schema
- Ads management from $1,200/mo — spend on your card
- Stop anytime — accounts, pixels, and pages stay yours
IT desk or bench
Hands-off IT if you have no hire. IT bench if your admins are drowning. Written hours. You keep the tenant.
What's included:
- Hands-off IT from $1,800/mo (small team)
- IT bench from $160/hr or a 16h block
- MFA, backups restored on a date
- 365 / Azure kept boring
- No hostage admin accounts
Floors by category
CAD, before GST/QST. A floor is the smallest first slice we will write a proposal for — not a package you pick from a menu. After a 90-minute call the number can go up (languages, catalogue size, Magento vs a landing page, S/4 vs a HubSpot form, EN/FR copy vs one language). It does not go below.
Shopify, Microsoft, HubSpot, Salesforce, SAP, Dynamics, ThemeForest, and ads licences stay on your card. Ad spend is yours. Fonts you already licensed stay yours. Discovery is not billed.
Web
Web development
First-slice floors. SEO/GEO, Core Web Vitals, and a form that creates a record are in the build — not billed as a surprise. ThemeForest licence, Shopify plan, and hosting stay on your card.
| Slice | What that means | From |
|---|---|---|
| Landing / money page | One URL sales recognises. Form, schema, indexable HTML, one language, one revision round. Extra language is the Bill 96 add-on. | from $2,800 CAD |
| ThemeForest theme, stripped | Child theme on the stack you already bought. Unused builders out, SEO plugins reduced to one, demo sliders gone. | from $4,500 CAD |
| WordPress marketing site | Up to 8 pages, EN/FR as fields, form → CRM, XML sitemap, Search Console connected. Editors keep the admin. | from $8,500 CAD |
| WordPress + WooCommerce | Catalogue, checkout smoke test, shipping/tax check, Product schema that matches stock. You keep the host. | from $12,000 CAD |
| Shopify Online Store 2.0 | Theme, Markets EN/FR, metafields, Product/Offer JSON-LD, checkout smoke. Shopify plan stays on your card. | from $9,500 CAD |
| Shopify Plus / Hydrogen | Checkout extensibility or a headless storefront worth the complexity. Editors can still change a sentence. | from $22,000 CAD |
| OpenCart shop | Fix, extend, or contain the shop you already sell from. Titles that are not “Home”, Product schema, a restore. | from $7,500 CAD |
| Joomla brochure | Contain or migrate the brochure that still converts. Menu, modules, multilingual switchers that do not 404. | from $6,500 CAD |
| Drupal | Content types, roles, multilingual switchers, a release process. Not a Drupal 7 with a “later” note. | from $22,000 CAD |
| Magento / Adobe Commerce | Heavier catalogue, indexable layers, Product schema that matches stock. Security patches before cosmetics. | from $28,000 CAD |
| Custom PHP / Laravel | Portal, booking, B2B price list — first slice with staging, logs, and a deploy you can repeat. | from $18,000 CAD |
| Booking / appointments | Named slot, confirmation, a record in the CRM. On WordPress, PHP, or Shopify — not a widget that emails nobody. | from $6,500 CAD |
| Next.js / headless | When editors can still change a sentence without a deploy from us. CMS or Shopify behind it stays yours. | from $18,000 CAD |
| CMS or shop migration | Redirect map, 301s, Search Console coverage after cutover. Rankings are not a promise; lost URLs are a failure. | from $6,500 CAD |
| Core Web Vitals sprint | LCP, INP, CLS on the money templates. Images, fonts, and third-party scripts — measured in Search Console, not a Lighthouse screenshot. | from $3,200 CAD |
| WCAG 2.2 AA first pass | Contrast, focus, labels, keyboard. AODA-aware on the templates people use. Not a legal opinion. | from $2,800 CAD |
| Bill 96 French-first modelling | Language as a CMS/Shopify field — add-on to the build above. Metadata and checkout language planned before paint. | from $2,200 CAD |
CRM
CRM development
The object that moves is named the same way on the site, in the shop, and in the pipeline. We keep the CRM you already pay for — Salesforce, HubSpot, Dynamics, Zoho, Pipedrive, and the rest of the desk. You keep the org. Seats and licences stay on your card.
| Slice | What that means | From |
|---|---|---|
| Form → CRM object | Create, notify owner, stamp CASL, refuse a duplicate. Works on the CRM you already open. One object, not three. | from $3,200 CAD |
| HubSpot Sales Hub pipeline | Stages sales already uses, properties, two automations people skip. Portal stays yours. HubSpot seats stay on your card. | from $6,500 CAD |
| HubSpot Marketing / Service Hub | Forms, lists, tickets tied to the same contact. Not a second brain beside Sales Hub. | from $7,500 CAD |
| Salesforce Sales Cloud | Leads, accounts, opportunities, record types sales actually uses. Org stays yours. We do not sell Salesforce seats. | from $9,500 CAD |
| Salesforce Service Cloud | Cases, queues, a console people will open. Not a 40-object demo org. | from $12,000 CAD |
| Salesforce Experience Cloud | A portal customers or dealers log into. Same objects as Sales or Service. | from $14,000 CAD |
| Salesforce CPQ first slice | Quote the way the call already goes. Not a full CPQ religion on day one. | from $18,000 CAD |
| Salesforce Marketing Cloud / Account Engagement | Journeys or Pardot only if the list and CASL fields already exist in the CRM. | from $12,000 CAD |
| Microsoft Dynamics 365 Sales | Same tenant as 365 when that is already the office. You keep the environment. | from $9,500 CAD |
| Dynamics 365 Customer Service / CE | Cases beside Sales. Customer Insights only when the source data is named. | from $12,000 CAD |
| Zoho CRM | Pipeline, fields, form-to-record. For teams that already live in Zoho. | from $4,500 CAD |
| Pipedrive | Deals, activities, a form that creates the deal sales opens. No second login “for marketing”. | from $4,200 CAD |
| Freshsales / Freshworks | Contacts, deals, or Freshdesk tickets — one object named, not three. | from $4,500 CAD |
| Zendesk Sell or Support | The ticket or the deal, not both pretending to be the CRM. | from $4,800 CAD |
| Monday.com CRM | Boards that match the call. We do not turn Monday into an ERP. | from $4,500 CAD |
| Copper (Google Workspace) | People already in Gmail. Pipeline beside the inbox, not a second login. | from $4,200 CAD |
| Odoo CRM | When Odoo is already the ERP. We do not install Odoo to look busy. | from $6,500 CAD |
| SugarCRM / SuiteCRM | On-prem or hosted. You keep the instance and the database. | from $6,500 CAD |
| Bitrix24 | CRM + tasks you already use. We wire the site; we do not replace the intranet. | from $5,500 CAD |
| Creatio | Low-code CRM already in the building. First slice is the object and the form. | from $8,500 CAD |
| Oracle NetSuite CRM / CX | When NetSuite is the system of record. Customers and orders, not a second CRM. | from $18,000 CAD |
| Attio, Close, or Capsule | Small team, honest pipeline. Spreadsheet import if that is still the truth. | from $4,200 CAD |
| Intercom as the desk | Conversations that create a CRM record. Inbox is not a pipeline. | from $4,800 CAD |
| Shopify ↔ CRM | Customers and orders in the record sales opens — no Sunday CSV. HubSpot, Salesforce, Dynamics, Zoho. | from $4,500 CAD |
| CRM migration | HubSpot ↔ Salesforce, Pipedrive → HubSpot, spreadsheet → any of the above. Field map, duplicates, a cutover weekend. | from $8,500 CAD |
| Custom PHP desk | When the SaaS is the bottleneck. You keep the repo and the keys. | from $14,000 CAD |
| Law 25 / CASL fields | Consent, retention, who asked — add-on on the object, on any of these CRMs. Not a PDF in legal. | from $1,800 CAD |
SAP
SAP & ERP integrations
SAP in the formats the landscape already speaks — not a greenfield S/4 programme. IDoc, RFC/BAPI, OData, SOAP, REST, CPI/BTP, PI/PO, SFTP/XML/CSV, EDI. Shopify, Woo, Magento, or the CRM on the other side. SAP licences stay on your card.
| Slice | What that means | From |
|---|---|---|
| File / SFTP / CSV / XML batch | Nightly drop of orders, stock, or customers. Named columns, a reject file, a human if it fails. | from $6,500 CAD |
| REST or SOAP connector | A documented API both sides will still have in a year. Auth, retries, an error queue. | from $9,500 CAD |
| OData first slice (S/4HANA or BTP) | Read/write the object the site or CRM actually needs — not every S/4 entity. | from $14,000 CAD |
| IDoc inbound / outbound map | ORDERS, DESADV, INVOIC, or the IDoc you already run. Partner profile, status, a failed-IDoc path. | from $14,000 CAD |
| RFC / BAPI call | When ECC still speaks RFC. One BAPI sales already trusts, wrapped, logged. | from $16,000 CAD |
| EDI / X12 / EDIFACT first map | A trading partner already sending. One document type, acknowledgements, a reject you can read. | from $14,000 CAD |
| SAP Business One ↔ site or shop | Items, partners, orders, stock. Service Layer or DI API — whichever B1 already exposes. | from $16,000 CAD |
| SAP ECC (IDoc / RFC) first slice | The object that moves between ECC and the site, shop, or CRM. You keep Basis. | from $22,000 CAD |
| SAP S/4HANA first slice | OData or CPI to one object: customer, material, sales order, or stock. Not a full S/4 rollout. | from $28,000 CAD |
| SAP Cloud Integration (CPI / BTP) | An iFlow you can open without us. Mapping, credentials in your BTP subaccount. | from $18,000 CAD |
| SAP PI / PO existing landscape | A new interface on PI/PO you already run. We do not rip PI for fashion. | from $16,000 CAD |
| SAP CX / Sales Cloud / Service Cloud | C/4, Sales Cloud, or Service Cloud beside S/4 or B1. Same customer number as the ERP. | from $18,000 CAD |
| SAP Commerce Cloud (Hybris) | Catalogue, price, order, stock against S/4 or ECC. Indexable storefront still applies. | from $24,000 CAD |
| Shopify or Woo ↔ SAP | Orders, customers, stock, returns. B1, ECC, or S/4. No Sunday CSV from the shop. | from $18,000 CAD |
| Magento / Adobe Commerce ↔ SAP | Heavier catalogue, order status, ATP. Schema on the shop still has to match stock. | from $22,000 CAD |
| CRM ↔ SAP (customer / order) | Salesforce, HubSpot, or Dynamics account and order beside the SAP number. Dual-write only when both sides agree. | from $16,000 CAD |
| MuleSoft, Boomi, or Workato flow | When that is already the bus. One flow, logging, a dead-letter you will look at. | from $8,500 CAD |
| Power Automate / Logic Apps | When 365 is already the office. Named connectors, not a personal flow in someone’s mailbox. | from $7,500 CAD |
| Stripe or payments ↔ ERP | Payout, invoice, or customer in SAP/NetSuite/Odoo. Not a second cashbook in Sheets. | from $6,500 CAD |
Design
Design
Identity, UI, and templates people can reuse on Tuesday — not a Figma graveyard. Source files stay in your drive. ThemeForest and Shopify theme licences stay on your card.
| Slice | What that means | From |
|---|---|---|
| Visual identity first slice | Logo, type, colour, eight applications (site, shop, invoice, social, slide). A one-page kit, not an 80-page book nobody opens. | from $4,800 CAD |
| Logo refresh | When the mark is close and the rest of the kit still works. Vectors, clear space, dark/light. Not a Fiverr pack of 40 options. | from $2,200 CAD |
| Money-page UI | First screen, form, mobile. Tied to the copy and the schema on that URL. One language unless Bill 96 is in scope. | from $2,800 CAD |
| Site UI system (up to 8 templates) | Home, offer, about, contact, article, listing. Components editors can duplicate without a designer on the call. | from $7,500 CAD |
| Shopify theme visual refresh | OS 2.0 sections, product and collection templates, cart. Checkout chrome only where Shopify lets you. Plan stays yours. | from $5,500 CAD |
| Pitch / sales deck | 12–18 slides. Same offer as the money page. You keep the .pptx or Figma. | from $2,400 CAD |
| Social templates kit | Post, story, and cover templates for two platforms. NAP and logo match the site. Canva or Figma — you keep the file. | from $1,800 CAD |
| Packaging / print first SKU | One SKU, dieline you already have, print-ready. We do not invent a factory. | from $3,200 CAD |
| Design retainer | One shippable visual per month: a template, a landing, a deck, or a shop section. Unused hours do not roll unless written. | from $1,800 CAD/mo |
Copy
Copywriting
Sentences a person wrote, a buyer can quote, and a model can cite without inventing your hours. English, French, or both as fields — not Google Translate. Ad spend is not in these floors.
| Slice | What that means | From |
|---|---|---|
| Homepage / first screen | Who it is for, what happens after the form, hours and city that match schema. One language, two revision rounds. | from $1,800 CAD |
| Marketing site copy (up to 8 pages, EN) | Named buyer, one offer per URL, FAQ that is actually on the page. Not lorem, not a ChatGPT paste. | from $3,800 CAD |
| EN/FR pair (Bill 96-aware) | Same facts in both languages. French is written, not machine-flipped. Metadata in the language of the page. | from $6,500 CAD |
| Landing page copy | One campaign URL. Title, H1, proof, form microcopy. Measurable in Search Console after it ships. | from $1,800 CAD |
| Product / collection voice (20 SKUs) | Unique descriptions Shopify or Woo can keep. Manufacturer dumps rewritten. Schema still has to match stock. | from $2,200 CAD |
| Case study or insight article | One URL with a first-screen definition, a result you can stand behind, and internal links to a money page. | from $900 CAD |
| Email sequence (copy only) | Named buyer, CASL-clean, sent by a person. Three to five notes. We do not rent a list. | from $2,400 CAD |
| Copy retainer | One money-page or four shorter assets a month. EN, FR, or both as scoped. Stop anytime — docs stay in your drive. | from $1,600 CAD/mo |
Marketing
Marketing
Positioning and pages that can rank. First touches written by a person. Google, Meta, and LinkedIn when the page can keep the promise. Ad spend and rented lists are not in these floors.
| Slice | What that means | From |
|---|---|---|
| Positioning + first screen | Who it is for, what it costs in time, what happens after the form — on the stack you have. | from $4,800 CAD |
| Written first-touch sequence | Named buyer, CASL-clean, sent by a person — not a blast. Three to five notes, on your ESP. | from $2,400 CAD |
| Campaign landing (SEO-ready) | Unique title, schema, linked from the site, measurable in GSC. Not a parked page in an ads tool. | from $2,800 CAD |
| CASL consent model in CRM | Who, when, to what — a field, not a PDF. Works on HubSpot, Salesforce, Dynamics, or the desk you open. | from $1,800 CAD |
| Google Ads setup | Search or PMax on URLs that already exist. Conversion to the CRM object. Spend stays on your card. | from $2,400 CAD |
| Meta Ads setup | Advantage+ or a simple conversion campaign. Pixel in your Business Manager. Spend stays on your card. | from $2,400 CAD |
| LinkedIn Ads first slice | One offer, one audience sales would recognise. Lead gen that creates a CRM record — not a spreadsheet of names. | from $2,800 CAD |
| Ads management | Google, Meta, or LinkedIn. Weekly note, no vanity ROAS theatre. Spend on your card. Pause anytime. | from $1,200 CAD/mo |
| Nurture beyond first touch | The next three emails after they already said yes. Same CASL field. Same ESP. | from $3,200 CAD |
| Launch kit (site + CRM + two weeks ads) | Money page, form → record, one ads channel live. Spend extra. We do not launch a page that 404s. | from $6,500 CAD |
Search
SEO / GEO
Google, Maps, and AI Overviews. Done on PHP, Shopify, WordPress, Drupal, OpenCart, Joomla — not only on a blog we wish you had. No fake map pin. No guaranteed rankings.
| Slice | What that means | From |
|---|---|---|
| Local SEO pass | GBP hygiene, NAP, LocalBusiness schema. Montreal as hub. Reviews you actually earned. | from $2,200 CAD |
| GEO / AI citation pass | First-screen definition, FAQ that is on the page, llms.txt, schema. Hours and city a model cannot invent. | from $2,800 CAD |
| Technical SEO audit + first fixes | Indexation, canonicals, CWV, hreflang, sitemap, Search Console. Fixes on the templates that leak, not a 60-page PDF. | from $3,500 CAD |
| Shopify SEO audit + first templates | Collection/product duplicates, app JSON-LD fights, canonicals vs filters. Theme stays yours. | from $3,200 CAD |
| Ecommerce SEO templates | Shopify/Woo/OpenCart collections and products that are not duplicates. Product/Offer schema matches stock. | from $4,500 CAD |
| Content hub (1 pillar + 4 spokes) | One money topic, four supporting URLs, internal links. Written to be cited, not to hit a word count. | from $4,800 CAD |
| hreflang EN/FR pair | Switchers that do not 404. Add-on when both languages exist. | from $1,800 CAD |
| SEO / GEO retainer | Coverage, queries that already convert, one on-page ship per month. GEO facts kept true after theme updates. | from $1,800 CAD/mo |
Monthly
Monthly support & retainers
After launch: keep it patched, or keep shipping. Hours are Montreal 9–17 ET unless written. Stop anytime — hosting, DNS, Shopify store, CRM org, and SAP landscape stay yours. Unused hours do not roll unless the proposal says so.
| Slice | What that means | From |
|---|---|---|
| Site Care | WordPress, PHP, or Joomla brochure. Updates, SSL, weekly backup, quarterly restore, 2 small edits. | from $450 CAD/mo |
| Shopify Care | Theme and app updates, checkout smoke test, 3 content edits, theme backup, 404s after deploy. | from $650 CAD/mo |
| Commerce Care | WooCommerce or OpenCart. Staging when it exists, payment/shipping smoke test, security patches. | from $950 CAD/mo |
| Drupal / Magento Care | Security releases, roles, heavier QA before anything hits production. | from $1,400 CAD/mo |
| Hours pack — 8h | Overflow edits, incidents, small builds. Used in Montreal hours. | from $1,280 CAD/mo |
| Hours pack — 16h | Same idea, larger block. Typical for a shop that changes weekly. | from $2,400 CAD/mo |
| Creative hours — 8h | Design or copy overflow beside Care. Unused hours do not roll unless written. | from $1,280 CAD/mo |
| SEO / GEO retainer | Search Console, one money-page or template change, GEO facts kept true. | from $1,800 CAD/mo |
| Growth retainer | Next URL, next CRM field, uptime/restore note. If nothing shipped, the month failed. | from $2,400 CAD/mo |
| Growth + SEO together | One studio, one report, no two vendors arguing about the title tag. | from $3,600 CAD/mo |
| CRM hygiene (Salesforce / HubSpot / Dynamics) | Fields, duplicates, automations people skip, a restore of the last import. Org stays yours. | from $950 CAD/mo |
| SAP interface watch | Failed IDocs, CPI iFlows, SFTP drops. A human opens the queue — not a PDF. | from $1,800 CAD/mo |
| Alerting watch | Logs a human opens, backup restore date, MFA still on. Not a PDF. | from $650 CAD/mo |
| 365 / Azure hygiene | Identity, mail, licences, nobody left as accidental global admin. | from $1,200 CAD/mo |
IT
Hands-off IT & IT bench
The public site is in the same notebook as the tenant. A plugin update is not a weekend outage. After-hours only if written.
| Slice | What that means | From |
|---|---|---|
| Hands-off IT — small team | Up to ~5 people. Tickets, devices, accounts, backups. Weekdays 9–17 ET. | from $1,800 CAD/mo |
| Hands-off IT — growing team | Up to ~15 people. Same desk, more seats, still one named person. | from $3,600 CAD/mo |
| IT bench — hourly overflow | Beside admins you already have. They keep the keys. | from $160 CAD/hr |
| IT bench — 16h block | Migrations, Microsoft work, after-hours deploys with a rollback. | from $2,400 CAD/mo |
| Incident outside retainer | Site down, shop checkout broken, mailbox flooded. Billed if you have no desk. | from $650 CAD/incident |
365
Microsoft 365 / Azure
You keep the tenant. We will not stand up a zoo of unused Azure SKUs. Microsoft licences are yours.
| Slice | What that means | From |
|---|---|---|
| Tenant hardening / MFA | The three proofs: MFA, a log someone reads, a restore with a date. | from $3,800 CAD |
| Mail, files, identity standup | Entra, Exchange, SharePoint. Boring on purpose. | from $4,200 CAD |
| Exchange / mail cutover | From Google Workspace, on-prem, or a messy tenant. MX, SPF, DKIM, DMARC. You keep the domain. | from $4,800 CAD |
| Devices / Intune first slice | When laptops need a policy, not a spreadsheet of who has Admin. | from $6,500 CAD |
| SharePoint intranet first slice | One hub, the three libraries people already use. Not a second internet nobody opens. | from $5,500 CAD |
Security
Alerting & hardening
WordPress, Drupal, Magento, Shopify, and 365 included. A compromised plugin is also an SEO event.
| Slice | What that means | From |
|---|---|---|
| Hardening sprint | MFA on host/Cloudflare/Shopify/WP/365, unused ThemeForest plugins out, restore dated. | from $3,800 CAD |
| Alerting watch | Monthly. Logs a human opens, backup restore date, MFA still on. See support catalog. | from $650 CAD/mo |
How a quote is built
Four things move the number: the stack (a HubSpot form is not S/4HANA), languages (Bill 96 is a field, not Google Translate), whether SEO/GEO is in the first slice (it is, here), and who edits on a Tuesday — including who writes, designs, and posts. We write that on one page with dates. If the retainer or Care plan stops, you keep hosting, DNS, the repo, the Shopify store, the CRM org, the SAP landscape, Figma files, and the social accounts.
Recent insights
Operator notes from Montreal: web, CRM, SEO/GEO, marketing, 365, Hands-off IT, the IT bench, growth, and alerting.
Site web français au Québec : la loi 96 dans le CMS, pas dans un plugin
Le français « en phase 2 » n’arrive pas. Nous traitons fr-CA comme une donnée, avec des pages…
The site, the CRM, and search should be one system
Most briefs we see in Montreal are not a “website problem.” They are a split brain: a site…
SEO and GEO in Montreal without a fake map pin
Local pack still cares about proximity, reviews, and a real profile. AI answers care about complete sentences. We…
Let's write the next step.
Social
Social media
A calendar that points at real URLs. Same NAP as the site and schema. Captions a person wrote. We do not buy followers, comments, or a fake Montreal pin. Ad spend stays on your card.