Start now for free
14 days free trial - no credit card needed
Hisab
Pricing
Sales: +212 649 22 43 64
Start now for free

14 days free trial - no credit card needed

Login
DGI Compliance
December 9, 202510 min read

ICE, IF, RC: Complete Guide to Moroccan Tax Identifiers

Understanding Morocco's business tax identifiers - ICE (Identifiant Commun de l'Entreprise), IF (Identifiant Fiscal), and RC (Registre de Commerce). Formats, validation, and compliance requirements.

ICE, IF, RC: Complete Guide to Moroccan Tax Identifiers
H

Hisab Team

Updated 12/9/2025

ICE, IF, RC: Complete Guide to Moroccan Tax Identifiers

Every business operating in Morocco must have several official identifiers for tax and legal purposes. Understanding these numbers is crucial for compliance, invoicing, and official communications. This guide explains everything you need to know.

Overview of Moroccan Tax Identifiers

Morocco uses three primary business identifiers:

IdentifierFull NamePurposeFormat
ICEIdentifiant Commun de l'EntrepriseUniversal business ID15 digits
IFIdentifiant FiscalTax administration ID8 digits
RCRegistre de CommerceCommercial registrationVariable

ICE - Identifiant Commun de l'Entreprise

What is ICE?

The ICE (Common Enterprise Identifier) is Morocco's universal business identification number, introduced in 2016 to create a single, unified identifier for all businesses.

ICE Format

The ICE consists of 15 digits divided into three parts:

[000000000] [00000] [00]
└─ 9 digits ─┘└ 5 digits ┘└ 2 digits ┘
   Company ID    Unit ID     Check digits

Example: 001234567000089

ICE Breakdown

PartDigitsDescription
Company ID1-9Unique company identifier
Unit ID10-14Branch or establishment (00000 for main)
Check Digits15Validation checksum

Where to Find Your ICE

  • Tax registration certificate (Attestation d'inscription)
  • Commercial register extract
  • ICE verification portal: www.ice.gov.ma

ICE on Invoices

The ICE is mandatory on all invoices under Morocco's commercial code. Both supplier and customer ICE must appear on:

  • Sales invoices
  • Credit notes
  • Debit notes
  • Quotations (recommended)

IF - Identifiant Fiscal

What is IF?

The IF (Fiscal Identifier) is assigned by the Direction Générale des Impôts (DGI) and is used for all tax-related matters.

IF Format

The IF consists of 8 digits:

12345678

Example: 40678234

IF Usage

The IF is required for:

  • Tax declarations (IS, IR, TVA)
  • DGI correspondence
  • Tax certificates
  • E-invoicing submission
  • Annual financial statements

Where to Find Your IF

  • DGI SIMPL portal account
  • Tax registration certificate
  • Previous tax returns
  • Tax payment receipts

RC - Registre de Commerce

What is RC?

The RC (Commercial Register) is your registration number with the local commercial court (Tribunal de Commerce).

RC Format

The RC format varies by city and includes:

[City Code]-[Number]

Examples:

  • Casablanca: 123456 or RC-CASA-123456
  • Rabat: RC-RABAT-78901
  • Marrakech: RC-MRK-45678

RC Components

ComponentDescription
City CodeTribunal jurisdiction
Sequential NumberRegistration sequence

RC Usage

The RC is required for:

  • Legal contracts
  • Company letterhead
  • Official communications
  • Bank account opening
  • Some invoice requirements

Other Important Identifiers

CNSS Number

DetailDescription
Full NameCaisse Nationale de Sécurité Sociale
PurposeSocial security registration
Format7-8 digits
UsagePayroll, social declarations

Patent Number

DetailDescription
Full NameTaxe Professionnelle
PurposeLocal business tax
FormatVariable (commune-specific)
UsageLocal tax payments, some permits

TP Number

DetailDescription
Full NameTaxe Professionnelle (Business Tax)
PurposeMunicipal business registration
FormatVaries by municipality

Validation Rules

ICE Validation

To validate an ICE number:

  1. Length Check: Must be exactly 15 digits
  2. Numeric Check: Only numbers 0-9
  3. Unit Check: Digits 10-14 must be valid
  4. Checksum: Last digit validates the number
// Simple ICE validation
function validateICE(ice) {
  // Remove spaces and check length
  const clean = ice.replace(/\s/g, '');
  if (clean.length !== 15) return false;

  // Check if all digits
  if (!/^\d{15}$/.test(clean)) return false;

  return true;
}

IF Validation

To validate an IF number:

  1. Length Check: Must be exactly 8 digits
  2. Numeric Check: Only numbers 0-9
  3. DGI Registry: Can be verified on SIMPL portal
// Simple IF validation
function validateIF(ifNumber) {
  const clean = ifNumber.replace(/\s/g, '');
  return /^\d{8}$/.test(clean);
}

Where Each Identifier is Required

Document/ProcessICEIFRC
Sales Invoice✅ Required✅ Required✅ Required
Credit Note✅ Required✅ Required✅ Required
Tax Declaration✅ Required
DGI E-Invoice✅ Required✅ Required✅ Required
Quotation✅ Recommended✅ Recommended✅ Recommended
Contract✅ Required✅ Required
Bank Documents✅ Sometimes✅ Sometimes✅ Required

Common Issues and Solutions

Issue 1: Customer Doesn't Have ICE

Solution: For individual customers (B2C), you may use:

  • National ID (CIN) as alternative
  • Or note "Particulier" without ICE

Issue 2: ICE Validation Fails

Common Causes:

  • Typo in the number
  • Using old/outdated ICE
  • Company not yet registered

Solution: Verify on ice.gov.ma

Issue 3: Multiple ICE for One Company

This is normal for:

  • Companies with multiple branches
  • Different business units
  • Separate legal entities within a group

Issue 4: IF Changed After Reorganization

Action Required:

  • Update all systems with new IF
  • Notify customers and suppliers
  • Update DGI records

Getting Your Identifiers

For New Businesses

  1. Step 1: Register with Tribunal de Commerce → Get RC
  2. Step 2: Register with DGI → Get IF
  3. Step 3: ICE is auto-generated after registration
  4. Step 4: Register with CNSS → Get CNSS number

Timeline

StepTimeframe
RC Registration1-3 days
IF Assignment1-5 days
ICE GenerationAutomatic (1-2 days)
CNSS Registration3-7 days

How Hisab Handles Tax Identifiers

Hisab makes managing tax identifiers easy:

For Your Company

  • Store ICE, IF, RC in organization settings
  • Auto-populate on all invoices
  • Validation ensures correct format

For Customers

  • Customer database stores all identifiers
  • Validation on entry prevents errors
  • Bulk import with validation

For E-Invoicing

  • Automatic inclusion in UBL XML
  • DGI-compliant formatting
  • Validation before submission

Best Practices

  1. Verify Before Adding: Always verify customer identifiers on official portals
  2. Keep Updated: Regularly check for changes
  3. Store Securely: Treat identifiers as sensitive data
  4. Validate Automatically: Use software validation
  5. Train Staff: Ensure team knows identifier requirements

Quick Reference

IdentifierFormatWhere to FindVerification
ICE15 digitsice.gov.maOnline portal
IF8 digitsSIMPL portalDGI records
RCVariableTribunal de CommerceCourt registry
CNSS7-8 digitsCNSS portalCNSS records

Conclusion

Understanding Moroccan tax identifiers is essential for business compliance. The ICE, IF, and RC each serve specific purposes and are required in different contexts. Using a platform like Hisab ensures these identifiers are properly validated and included on all your business documents.

Ready to streamline your invoicing? Start with Hisab and let us handle the compliance details automatically.

ice
if
rc
tax-identifiers
morocco
compliance
business-registration

Ready for e-invoicing?

Start your free trial today and simplify your invoicing