IRS filing season is open. File your IRS for free (early access) →
descodify
← Back to blog
For freelancers

CAE vs CIRS Portugal: What Activity Code Do You Actually Need as a Programmer?

By Mikael

The search query "CAE 1332 Portugal" returns a mix of results, none of which clearly explains the problem: CAE 1332 does not exist. The code you're looking for is CIRS 1332, from a completely separate classification system.

That confusion is the starting point for everything else in this post. Because if you don't understand the difference between CAE and CIRS, you can't understand your own registration, your tax coefficient, or why your obligations are different from what the standard Portuguese freelancer guides describe.

Two systems with one shared purpose but nothing else in common

CAE (Classificacao Portuguesa de Atividades Economicas) is Portugal's implementation of the EU NACE classification. It's maintained by INE (Instituto Nacional de Estatistica), the national statistics office. It classifies economic entities: companies, associations, branches, establishments. When a Lda forms, it picks a CAE. CAE 62010 ("Actividades de programacao informatica") is the code for a company doing programming work.

CIRS Art. 151 is a list maintained by AT (Autoridade Tributaria e Aduaneira), the tax authority. It classifies individual independent professionals, the people Portugal calls trabalhadores independentes who issue Recibos Verdes. When you open your activity at the Portal das Financas as a sole-proprietor freelancer, you choose a code from this list.

Same number, different universe. CAE 62010 for a programming company. CIRS 1332 for a programming freelancer. Neither number is interchangeable with the other system.

See the CAE glossary entry for the full breakdown of both systems side by side, and the CIRS glossary entry for the broader context of what the Codigo do IRS governs and how the Art. 151 table fits into it.

What CIRS 1332 actually covers

Code 1332 in the Art. 151 table is "Programadores informaticos": software developers, web and app developers, systems programmers. If you write code professionally as a freelancer in Portugal, this is almost certainly your code.

Two adjacent codes come up regularly in the same searches: CIRS 1313 ("Analistas de sistemas," systems analysts) and 1320 ("Consultores," consultants). All three carry the 0.75 coefficient. The distinction is about what you primarily do: design and specify systems (1313), write and implement code (1332), consult on business problems (1320). Most people land on 1332 or 1313 depending on their actual work pattern.

There is also CIRS 1519 ("Outros prestadores de servicos," other service providers), which is the catch-all for professions not specifically named in the Art. 151 table. Its coefficient is 0.35, not 0.75. A programmer registering under 1519 when 1332 applies would be misclassifying their activity.

The tax mechanics for CIRS 1332 freelancers

The 0.75 coefficient. Under the simplified regime, 75% of your gross revenue is taxable. The remaining 25% is treated as assumed business costs: you don't need receipts for it, and you can't substitute actual expenses in its place even if your real costs were higher. Social Security contributions are separately deductible on top.

First-year discount. In your first calendar year of activity, only 37.5% of gross revenue is taxable, half the standard rate. In year two, 56.25%. This is based on the calendar year, not 12 months from your start date. Open your activity in March rather than October and you get nine months at the reduced rate instead of two.

To qualify: no employment or pension income in the same year, and no similar activity closed in the last five years.

Documented expense requirement. You still need to prove 15% of gross income in documented expenses: invoices with your NIF registered in the e-fatura system. An automatic specific deduction of roughly €4,587.09 (2026) counts toward this, or your Social Security contributions up to a cap of 10% of your gross, whichever is larger. See the 15% expense rule fact page for the full mechanics.

Withholding from Portuguese clients. When a Portuguese entity pays you for professional services, they're required to withhold 23% at source and send it directly to AT. Since 1 January 2025, that's the default rate (reduced from 25% by OE2025, Lei 45-A/2024, Art. 101 CIRS). You can elect to have them withhold at 25% on the invoice if you prefer larger advance payments.

Withholding from foreign clients: nothing. This is the point that catches expat developers most off guard.

When your Berlin startup client pays you €5,000, all €5,000 lands in your account. No tax has been sent to AT. The IRS liability on that income is real; the mechanism that pre-pays it for Portuguese clients simply doesn't exist for foreign ones. Budget separately.

The expat developer layer

Most guides covering CIRS 1332 are written for Portuguese programmers with Portuguese clients. If you moved from Sweden, the Netherlands, or the UK and your client base is back home or scattered across Europe, several of those guides quietly stop applying to you.

Every platform used to issue legally valid Portuguese invoices must be certified by the AT under Portaria 363/2010. Certified software assigns ATCUD codes to every document, communicates with AT systems, and generates the SAF-T audit file.

Stripe Invoicing is not AT-certified. Neither is QuickBooks, FreshBooks, Wave, or Xero. If you arrived with an existing invoicing stack from abroad, those invoices aren't valid in the Portuguese tax system. This applies to CIRS 1332 freelancers the same as everyone else.

The free fallback is the AT portal itself (Portal das Financas, "Faturas e Recibos Verdes"), certified and free. For more on the certification landscape and what to look for, see the expat freelancer tax automation guide.

Invoicing EU clients: 0% VAT, but not zero obligations

When you invoice a business client in another EU country, you issue at 0% VAT under Art. 6 CIVA. The place of supply is the customer's country; they reverse-charge in Germany, France, or wherever they are. You use exemption code 115.

But 0% VAT is not the same as no VAT obligations. You must file the Declaracao Recapitulativa, a quarterly EU reporting document tracking intra-community B2B service transactions. It is required from your first EU invoice, regardless of whether you are on the Art. 53 VAT exemption (the €15,000.00 threshold for domestic outbound invoicing).

Art. 53 covers what you send to Portuguese clients. It does not exempt you from cross-border reporting. See the Art. 53 exemption glossary entry for the full scope.

Foreign SaaS subscriptions: reverse-charge from day one

Stripe, AWS, GitHub, Google Workspace, Vercel. These are EU-based businesses providing services to a Portuguese-resident business customer (you). Under Art. 2(1)(g) CIVA, you're the sujeito passivo for those acquisitions. You self-assess and file reverse-charge VAT on them through your Declaracao Periodica.

This obligation exists from the first foreign supplier invoice. Art. 53 status does not exempt you from it.

Practical consequence: if you have only Portuguese clients and no foreign subscriptions, you likely have no Declaracao Periodica to file under Art. 53. The moment you subscribe to Stripe or host something on AWS, you have one.

This is the part the standard Portuguese freelancer guides skip, because most of their readers don't encounter it.


The compliance picture for a CIRS 1332 developer with foreign clients: AT-certified invoicing, 0% VAT on EU B2B invoices with Declaracao Recapitulativa filed quarterly, Declaracao Periodica for reverse-charge VAT on foreign SaaS costs, no withholding from foreign payments so you're setting aside your own quarterly tax provision, quarterly Social Security declarations. None of it is complicated once you know it exists.

If you're starting out and want invoicing that's compliant from the first document, Descodify is AT-certified, handles the ATCUD and SAF-T requirements, and produces the Declaracao Recapitulativa for EU clients. The free tier covers invoicing; Completo (€19/month) covers VAT, Social Security, and IRS preparation.

Start your first invoice at descodify.pt.

Related: Why Portuguese tax automation doesn't work for expat freelancers

Related: CIRS: what the Codigo do IRS governs and how Art. 151 classifies your activity

Related: CAE: the economic activity classification for businesses and companies

Descodify handles invoicing, VAT, and IRS reporting so you can focus on your work.

Try Descodify free

Working for yourself in Portugal - monthly

Invoicing, VAT, Social Security, expenses, and tax, explained simply. One email a month.