Skip to main content
Glama

UpGrowth: business data for Algeria, Tunisia and Morocco

Estimate the IFU flat tax

calculate_ifu
Read-only

Estimate the IFU (Impôt Forfaitaire Unique), the flat tax of Algerian micro-businesses, for 2026, with the same formula as the UpGrowth calculator: a rate on the yearly turnover that depends on the regime (auto-entrepreneur or general) and, for the general regime, on the kind of activity, with a minimum tax. Returns the inputs, the base, the rate, whether the minimum applied and the result, and its limitations: read data.limitations before quoting the result. It is an estimate from public texts, not tax or legal advice. For Algeria it does not test eligibility: the IFU is open only to natural persons, traditional art and craft cooperatives and professional civil partnerships (never a SARL or an EURL), up to 8,000,000 DA of turnover (5,000,000 DA for the auto-entrepreneur status), and CIDTA art. 282 ter excludes nineteen activities (real estate promotion, import and wholesale resale, dealers, clinics and laboratories, classified restaurants and hotels, precious metals, public works and building, alcohol outlets, leaf tobacco, caterers, event halls, large stores, vehicle and equipment rental, travel agencies, advertising and communication agencies, training and teaching, insurance agents and brokers). For Tunisia (country TN, regime ae) it estimates the single contribution of the auto-entrepreneur, a yearly amount that does not depend on the turnover (which is only compared with the ceiling of 75,000 dinars): 200 dinars of income tax in a communal zone or 100 dinars elsewhere (zone), plus the social part of the first bracket of the CNSS scale; activity is required and, for a craft activity of the order of 23 July 2002 (crafts), the social part is 7.5 % of two thirds of the hourly SMIG over 200 hours a month (SMIG of décret 2026-67, or smig_monthly_tnd). Tunisia also serves regime forfait (option, zone, rural) and regime general (net_income: the income tax scale). Tunisia needs an API key. For Morocco (country MA) it computes the tax of the auto-entrepreneur on the turnover collected (regime ae only, activity required: 0.5 % for production and commerce up to 500 000 dirhams, 1 % for services up to 200 000 dirhams), with amounts in dirhams (tax_mad); the contribution professionnelle unique is not covered. Morocco needs an API key.

Input Schema

NameRequiredDescriptionDefault
langNoLanguage of the labels, notes and attribution text in the answer: fr (French, the default), ar (Arabic) or en (English).fr
zoneNoTunisia only (country TN), required: communal for a person working in a communal zone, within the limits of the communes before 1 January 2015 (200 dinars of income tax a year), other for any other zone (100 dinars). Ignored for Algeria.
ruralNoTunisia only (country TN), regime forfait with option optional: true for a person working in the rural zones and the villages, who pays half the amount.
optionNoTunisia only (country TN), regime forfait: standard for the tariff of article 44 ter (400 dinars in a communal zone, 200 elsewhere, up to 10,000 dinars of turnover, then 3 %) or optional for the optional forfait tax of paragraph 1 (4,000 dinars up to 50,000 of turnover, 5,000 dinars up to 100,000).standard
regimeYesae for the auto-entrepreneur status (ANAE), general for the general IFU regime of the other micro-businesses. Tunisia (country TN): ae (single contribution), forfait (forfait tax of article 44 ter of the income tax code, with option and zone) or general (the income tax scale of article 44 applied to net_income).
countryNoCountry of the data, an ISO 3166-1 alpha-2 code in any letter case: DZ for Algeria, the default, TN for Tunisia or MA for Morocco. Only live countries answer: list_countries shows them and their datasets. Any other country, or a dataset the country does not have (for example the activity nomenclature for Morocco), returns country_not_available. Without an API key only DZ answers: TN and MA return key_required.DZ
activityNoKind of activity: production (goods), commerce (resale in the same state) or services (including liberal professions). Required with the general regime, where it sets the rate; ignored with ae. Tunisia (country TN): required, and crafts means a craft or artisanal activity of the order of 23 July 2002, whose social part is two thirds of the SMIG at 7.5 % (week_hours, smig_monthly_tnd). For Morocco (country MA) it is required with ae: production and commerce are taxed at 0.5 %, services at 1 %.
turnoverYesYearly turnover (chiffre d'affaires) in Algerian dinars (DZD), or in Moroccan dirhams (MAD) for country MA.
net_incomeNoTunisia only (country TN), required with regime general: the net taxable income in Tunisian dinars, after the deductions of the code. The scale of article 44 of the income tax code is applied to it; the turnover only serves the minimum tax.
week_hoursNoTunisia only (country TN): the weekly working-time regime whose SMIG of décret 2026-67 the craftsmen's contribution uses when smig_monthly_tnd is left out: 48 (554.736 dinars a month, the default) or 40 (470.251). The CNSS page of the craftsmen uses the 48 hour regime, so leave it at 48.
smig_monthly_tndNoTunisia only (country TN): the monthly guaranteed minimum wage (SMIG) in dinars, for the craftsmen of the law no. 2002-32 (regime ARTISAN of calculate_casnos, activity crafts of calculate_ifu): their contribution is 7.5 % of two thirds of its hourly value (monthly amount divided by 208 hours at 48 hours a week) over 200 hours a month. Leave it out to use the SMIG of décret 2026-67 (554.736 dinars, 48 hour week; see week_hours).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed8 schema fields changed
    • changedInput schema / properties / activity / description
      Previous value: -"Kind of activity: production (goods), commerce (resale in the same state) or services (including liberal professions). Required with the general regime, where it sets the rate; ignored with ae. Tunisia (country TN): required, and crafts means a craft or artisanal activity of the order of 23 July 2002, whose social part is not calculated. For Morocco (country MA) it is required with ae: production and commerce are taxed at 0.5 %, services at 1 %."New value: +"Kind of activity: production (goods), commerce (resale in the same state) or services (including liberal professions). Required with the general regime, where it sets the rate; ignored with ae. Tunisia (country TN): required, and crafts means a craft or artisanal activity of the order of 23 July 2002, whose social part is two thirds of the SMIG at 7.5 % (week_hours, smig_monthly_tnd). For Morocco (country MA) it is required with ae: production and commerce are taxed at 0.5 %, services at 1 %."
    • addedInput schema / properties / net_income
      Added value: +{
      +  "description": "Tunisia only (country TN), required with regime general: the net taxable income in Tunisian dinars, after the deductions of the code. The scale of article 44 of the income tax code is applied to it; the turnover only serves the minimum tax.",
      +  "maximum": 1000000000000,
      +  "minimum": 0,
      +  "type": "number"
      +}
    • addedInput schema / properties / option
      Added value: +{
      +  "default": "standard",
      +  "description": "Tunisia only (country TN), regime forfait: standard for the tariff of article 44 ter (400 dinars in a communal zone, 200 elsewhere, up to 10,000 dinars of turnover, then 3 %) or optional for the optional forfait tax of paragraph 1 (4,000 dinars up to 50,000 of turnover, 5,000 dinars up to 100,000).",
      +  "enum": [
      +    "standard",
      +    "optional"
      +  ],
      +  "type": "string"
      +}
    • changedInput schema / properties / regime / description
      Previous value: -"ae for the auto-entrepreneur status (ANAE), general for the general IFU regime of the other micro-businesses."New value: +"ae for the auto-entrepreneur status (ANAE), general for the general IFU regime of the other micro-businesses. Tunisia (country TN): ae (single contribution), forfait (forfait tax of article 44 ter of the income tax code, with option and zone) or general (the income tax scale of article 44 applied to net_income)."
    • changedInput schema / properties / regime / enum
      Previous value: -[
      -  "ae",
      -  "general"
      -]New value: +[
      +  "ae",
      +  "general",
      +  "forfait"
      +]
    • addedInput schema / properties / rural
      Added value: +{
      +  "description": "Tunisia only (country TN), regime forfait with option optional: true for a person working in the rural zones and the villages, who pays half the amount.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / smig_monthly_tnd
      Added value: +{
      +  "description": "Tunisia only (country TN): the monthly guaranteed minimum wage (SMIG) in dinars, for the craftsmen of the law no. 2002-32 (regime ARTISAN of calculate_casnos, activity crafts of calculate_ifu): their contribution is 7.5 % of two thirds of its hourly value (monthly amount divided by 208 hours at 48 hours a week) over 200 hours a month. Leave it out to use the SMIG of décret 2026-67 (554.736 dinars, 48 hour week; see week_hours).",
      +  "maximum": 100000,
      +  "minimum": 0,
      +  "type": "number"
      +}
    • addedInput schema / properties / week_hours
      Added value: +{
      +  "default": 48,
      +  "description": "Tunisia only (country TN): the weekly working-time regime whose SMIG of décret 2026-67 the craftsmen's contribution uses when smig_monthly_tnd is left out: 48 (554.736 dinars a month, the default) or 40 (470.251). The CNSS page of the craftsmen uses the 48 hour regime, so leave it at 48.",
      +  "enum": [
      +    40,
      +    48
      +  ],
      +  "type": "integer"
      +}
  2. Changed5 schema fields changed
    • changedInput schema / properties / activity / description
      Previous value: -"Kind of activity: production (goods), commerce (resale in the same state) or services (including liberal professions). Required with the general regime, where it sets the rate; ignored with ae."New value: +"Kind of activity: production (goods), commerce (resale in the same state) or services (including liberal professions). Required with the general regime, where it sets the rate; ignored with ae. Tunisia (country TN): required, and crafts means a craft or artisanal activity of the order of 23 July 2002, whose social part is not calculated. For Morocco (country MA) it is required with ae: production and commerce are taxed at 0.5 %, services at 1 %."
    • changedInput schema / properties / activity / enum
      Previous value: -[
      -  "production",
      -  "commerce",
      -  "services"
      -]New value: +[
      +  "production",
      +  "commerce",
      +  "services",
      +  "crafts"
      +]
    • changedInput schema / properties / country / description
      Previous value: -"Country of the data, an ISO 3166-1 alpha-2 code in any letter case: DZ for Algeria, the default, TN for Tunisia or MA for Morocco. Only live countries answer: list_countries shows them and their datasets. Any other country, or a dataset the country does not have, returns country_not_available."New value: +"Country of the data, an ISO 3166-1 alpha-2 code in any letter case: DZ for Algeria, the default, TN for Tunisia or MA for Morocco. Only live countries answer: list_countries shows them and their datasets. Any other country, or a dataset the country does not have (for example the activity nomenclature for Morocco), returns country_not_available. Without an API key only DZ answers: TN and MA return key_required."
    • changedInput schema / properties / turnover / description
      Previous value: -"Yearly turnover (chiffre d'affaires) in Algerian dinars (DZD)."New value: +"Yearly turnover (chiffre d'affaires) in Algerian dinars (DZD), or in Moroccan dirhams (MAD) for country MA."
    • addedInput schema / properties / zone
      Added value: +{
      +  "description": "Tunisia only (country TN), required: communal for a person working in a communal zone, within the limits of the communes before 1 January 2015 (200 dinars of income tax a year), other for any other zone (100 dinars). Ignored for Algeria.",
      +  "enum": [
      +    "communal",
      +    "other"
      +  ],
      +  "type": "string"
      +}
  3. First observed

TDQS

A4.3/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the readOnlyHint/openWorldHint annotations: it discloses the return shape (inputs, base, rate, minimum-applied flag, result, limitations), instructs the agent to read data.limitations before quoting, flags 'estimate not tax advice', and explains key_required/country_not_available behavior per country.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The core purpose is front-loaded, which is good, but the body is a single dense paragraph interleaving Algeria, Tunisia and Morocco rules, with clauses that duplicate the schema's parameter descriptions. It is information-rich but poorly structured and longer than an agent needs.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an 11-parameter, no-output-schema tool spanning three countries and multiple regimes, the description supplies the output fields, the limitations caveat, country availability, auth requirements and currency behavior. An agent has everything needed to call it and interpret the result.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents every parameter's meaning, enums and defaults. The description adds some cross-cutting context (currency-by-country, activity required/ignored per regime) but largely restates what the schema carries, so the baseline 3 stands.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (Estimate) and resource (the IFU flat tax of Algerian micro-businesses) up front, and extends the scope explicitly to Tunisia and Morocco. It is clearly distinguishable from siblings such as calculate_casnos, which it names, and calculate_ifu's regimes make its role unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives country- and regime-specific conditions for use (regime ae/general/forfait, activity required, zone required, API key needed for TN/MA) and warns that Algeria eligibility is not tested. It does not explicitly route the agent to a sibling for eligibility checks, so it falls just short of full when/when-not coverage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.