Services · Mobile app development · Subscription billing apps

Subscription billing built around Saudi tax, payment and data rules.

Codeeo designs and builds subscription billing software for companies that charge Saudi customers on a recurring basis, from SaaS platforms and memberships to education and service contracts. The system issues ZATCA compliant e-invoices, collects through mada, cards, Apple Pay, STC Bank, bank transfer and SADAD where your provider offers it, and handles customer data in line with the PDPL, whether customers sit in one city or across the Kingdom.

Foreign billing tools tend to treat national infrastructure as an add-on. A custom build puts it at the centre: Fatoora clearance, Arabic tax invoices, local payment schemes and identity checks are part of the core design rather than plugins added after launch. That matters most when one set of rules has to hold in every region. It also means a regional manager in Abha and a finance lead in the capital read the same figures.

Built for
Companies billing customers across Saudi Arabia on a recurring basis, from Riyadh, Jeddah and Dammam to Makkah, Madinah and smaller cities.
Typical timeline
Release order and dates are fixed in discovery, after reviewing your plans, payment routes and ZATCA wave status, and recorded in the written scope.
What you own
Code, data, pricing rules, gateway contracts and Fatoora credentials, held by your company and hosted where you choose.
Rated
4.7 / 5 from 23 Google reviews

200+ companies servedFrom a first store to an ADX listed developer

Modon
Majid Al Futtaim
HP
Belkin
Dulsco Group
OneClickDrive
Hanayen
HMS
Clocksprings
Ghezlan

What the platform covers

The national building blocks of a Saudi billing system.

Wherever your customers live in the Kingdom, the same national rules govern how you invoice, collect and store their data. ZATCA's e-invoicing regulations decide how each invoice is generated and shared, SAMA licensing decides which payment providers you can use, and the PDPL decides how personal data is handled. On top of that sit national habits: Arabic first communication, a Friday and Saturday weekend, a public sector payday fixed to the Gregorian calendar, and Ramadan changing when people shop and pay. As a subscription billing software development company in Saudi Arabia with a team in Riyadh, we settle these rules first and only then add regional pricing, branch logic or anything specific to your industry. The components below form that national base, and discovery decides which of them belong in your first release and which can follow later.

Explain your project
  • Fatoora Phase 2 integration

    Device onboarding, cryptographic stamps, QR codes, XML generation, clearance for standard invoices and reporting for simplified ones, all inside the invoice run. ZATCA has brought taxpayers into Phase 2 in waves by turnover, so we plan around the wave and deadline that apply to your company. Wave criteria and deadlines are confirmed on the ZATCA portal for your company rather than assumed.

    Every recurring invoice meets ZATCA's current technical rules.

  • Arabic first invoices and messages

    Tax invoices with the mandatory Arabic content, plus emails, SMS, in-app notices and portal screens written in Arabic first with English alongside. Hijri dates can appear next to Gregorian ones wherever customers expect to see them. Templates are reviewed by a native Arabic writer before release.

    Customers read every message in their own language.

  • National payment methods

    mada, Visa, Mastercard, Apple Pay and STC Bank through SAMA licensed gateways, with tokenised recurring charges where the provider supports them, and bank transfer or SADAD bill payment for customers who prefer it. Each method has its own confirmation and retry logic. Payment method availability can differ by plan, channel or customer type.

    Customers pay the way they already pay everywhere else.

  • Payday aware collection

    Government salaries are paid on the 27th of each Gregorian month, and many private employers pay close to that date. Retry schedules for failed renewals can be timed around it, so a second attempt lands when balances are more likely to cover the charge. Customers can also choose a renewal day that suits their own salary date.

    Fewer involuntary cancellations from failed payments.

  • Identity and company checks

    For high value B2B accounts or regulated services, onboarding can verify individuals through Nafath where your company is approved to integrate it, and capture a commercial registration and VAT number before the first invoice is issued. Checks run once at onboarding and again when a company's details change.

    Accounts are opened by verified people and real companies.

  • PDPL data handling

    Consent records, purpose limits, retention periods, data subject requests and breach logs are built into the data model. Hosting inside the Kingdom is available, and any transfer abroad is designed against the PDPL's transfer rules and your own policy. A register of processing activities can be exported for internal review.

    Billing data you can account for if SDAIA asks.

  • Security controls for sensitive clients

    Role based access, encryption, audit trails and logging designed so the platform can run inside an environment that follows the NCA's Essential Cybersecurity Controls, which matters when you sell to government bodies or critical sectors. Administrator access is protected with multi-factor sign-in and time-limited sessions.

    A billing platform that passes a client's security review.

  • Multi-region pricing and branches

    Prices, promotions and service availability can vary by region or branch while the catalogue stays one list. A plan can launch in the capital first and extend to the Eastern Province and the Makkah region later without a rebuild. Each region can have its own launch date, price list and promotional calendar.

    Expansion to a new city is a configuration change.

  • VAT, revenue and ERP reporting

    Recurring revenue, churn, deferred revenue, VAT summaries and receivables ageing, with invoice and payment data posted to your ERP. VAT return preparation draws on exactly the same records as the invoices themselves. Seasonal campaigns, such as Ramadan offers or National Day promotions, can be scheduled for every region from the same screen.

    Finance closes and files from one consistent source.

  • Dunning and recovery workflows

    A defined sequence of reminders, retries, grace periods and service limits for unpaid accounts, with different paths for individual subscribers and corporate clients on credit terms. Messages are sent in Arabic and English, and every step is logged so collection staff know exactly what the customer has already received. Every reminder and retry is visible on the customer record for support staff.

    Overdue accounts recovered without heavy handed service cuts.

Who this is for

Four national situations we are asked to solve.

National billing problems usually appear when a company grows past one city, enters the Saudi market from abroad, or is pulled into a new ZATCA integration wave. The four situations below are the most common. Each needs the same national foundations but a different first release, and our subscription billing software developers in Saudi Arabia plan that release with you before anything is built. Customers in smaller cities expect the same Arabic invoices and payment choices as those in the largest ones.

01

A foreign SaaS company entering the Saudi market

Your global billing platform handles card payments in dollars well, but Saudi customers expect Arabic tax invoices, local VAT treatment, mada and Fatoora compliance. We build a Saudi billing layer that either takes subscriptions from your global system or replaces it for Saudi accounts, depending on how your group reports revenue. Saudi revenue then reports back to head office in the structure your group finance team uses.

We review your global setup before recommending either path.

02

A brand expanding from one city to several

Billing that worked in one city starts to break once regions have different prices, delivery areas or branch rules. We restructure the catalogue and the customer model so the next city becomes a configuration change, and plan the move of existing customers without disrupting their renewal dates. Regional managers can then see their own subscribers and revenue without seeing other regions' data.

03

A company newly inside a ZATCA integration wave

Your current billing tool produces invoices, but not in the format Phase 2 requires, and your deadline is set by the wave notification. We assess whether the existing tool can be extended or should be replaced, then build or connect the Fatoora integration and test it in ZATCA's simulation environment ahead of your date. Older invoice history stays available for audits even after the new integration takes over.

Confirm your wave status on the ZATCA portal; we plan from that.

04

A provider selling to government or critical sectors

Clients in these sectors ask about NCA controls, hosting location, audit logs and data handling before they sign. We design the billing platform so those answers are documented and demonstrable, with hosting in the Kingdom and access controls their security teams can inspect. Security documentation is kept current as the platform changes, not written once and forgotten.

A six stage plan for a nationwide billing platform.

  1. 01Discovery and compliance reviewWe document your plans, customers, payment routes and regions, and confirm your ZATCA wave, PDPL obligations and any sector rules that affect billing.
  2. 02National data modelCustomers, companies, plans, regions, tax profiles and consents are modelled once, so every city and sales channel works from the same structure.
  3. 03Payments and identityGateways, SADAD, bank transfer reconciliation and any Nafath or registration checks are integrated and tested in each provider's sandbox.
  4. 04Invoicing and FatooraThe invoice engine, Arabic templates and Fatoora clearance and reporting are built, then validated in ZATCA's simulation environment before production onboarding.
  5. 05Regional rolloutThe first region or customer segment goes live and is checked against the old records, then further regions follow in an agreed order.
  6. 06Compliance upkeepZATCA specification changes, new payment methods and PDPL policy updates are handled after launch under a retainer or a dedicated team.

Technology

What we build this with.

A billing core in Laravel or Node.js on PostgreSQL, portals in Next.js, mobile apps in Flutter or React Native, and hosting in a cloud region inside Saudi Arabia when residency matters. The stack is chosen so that your own engineers, or another Saudi supplier, can maintain it without depending on us.

01Mobile

  • Swift
  • Kotlin
  • Flutter
  • React Native

02Data and cloud

  • PostgreSQL
  • MySQL
  • MongoDB
  • AWS
  • Azure
  • Docker

03Marketing and tracking

  • GA4
  • Google Tag Manager
  • Search Console
  • Meta Pixel
  • Looker Studio

National questions about billing software in the Kingdom.

E-invoicing, VAT and personal data rules at minimum.

ZATCA's e-invoicing rules govern how each invoice is created, stamped and shared, VAT rules govern what it charges, and the PDPL governs the personal data in every customer record. Depending on your sector, SAMA, CST or NCA requirements may apply too. We list the obligations that apply to you during discovery so the design covers them from the start. Industry rules, such as those for telecom services under CST, can change billing requirements in specific ways.

Tell us what the business needs. We will tell you what to build first.

Schedule a free consultation and get a written recommendation, with costs, before you commit to anything.

Get in touch

PROVEN RESULTS

4.7 / 5from 23 Google reviews