{
  "$schema": "https://govschema.org/spec/v0.3/govschema.schema.json",
  "govschemaVersion": "0.3.0",
  "id": "eg/eta/small-enterprise-tax-declaration",
  "version": "1.0.0",
  "title": "Egypt Small & Micro Enterprise Simplified Tax Declaration (Form No. 25)",
  "description": "File Egypt's annual simplified tax declaration for small and micro enterprises with the Egyptian Tax Authority (ETA), per Form No. 25 (\"Declarations\") — the \"Tax Declaration on Annual Business Volume for Small and Micro Enterprises\" required under SME Development Law No. 152 of 2020 (Article 95) and its Executive Regulations (Prime Ministerial Decree No. 654 of 2021). Enterprises whose annual business volume does not exceed EGP 10 million file this single declaration, computing a flat turnover-based tax in place of a full profit-based corporate/individual income tax computation. This schema models the return's own page 1 (mandatory taxpayer identification, business address, contact details, and tax period) and page 2 (the declaration itself: total business volume, the solidarity-contribution and Comprehensive Health Insurance opt-ins, profit-distribution/capital-gains disclosure questions, reference data used to determine the applicable business-volume bracket, the resulting tax-due computation net of any prior-year credit, payment details, and the declarant's signature block). GovSchema is independent and is not affiliated with, endorsed by, or operated by the Arab Republic of Egypt or the Egyptian Tax Authority.",
  "status": "draft",
  "jurisdiction": {
    "country": "EG",
    "level": "national"
  },
  "authority": {
    "name": "Egyptian Tax Authority",
    "abbreviation": "ETA",
    "url": "https://www.eta.gov.eg/"
  },
  "process": {
    "type": "filing",
    "language": "ar"
  },
  "source": {
    "url": "https://www.eta.gov.eg/sites/default/files/2022-02/%D8%A5%D9%82%D8%B1%D8%A7%D8%B1%20%D8%A7%D9%84%D9%85%D8%B4%D8%B1%D9%88%D8%B9%D8%A7%D8%AA%20%D8%A7%D9%84%D8%B5%D8%BA%D9%8A%D8%B1%D8%A9.pdf",
    "retrievedAt": "2026-07-17",
    "documentRef": "Form No. 25 (\"Declarations\") — \"Tax Declaration on Annual Business Volume for Small and Micro Enterprises\", per SME Development Law No. 152 of 2020"
  },
  "verification": {
    "method": "manual-source-review-v1",
    "lastVerifiedAt": "2026-07-17",
    "verifiedBy": "GovSchema Engineering (Standards Engineer)",
    "nextReviewBy": "2027-01-17",
    "notes": "GovSchema Standard Research cycle GOV-3447. Egypt had been screened as a new-jurisdiction candidate in the GOV-3410 cycle (2026-07-16) and found weak across four of five verticals checked (Visa: reCAPTCHA-gated account creation on visa2egypt.gov.eg; Business Formation: portal.gafi.gov.eg redirects straight to a login-gated account portal; DMV: traffic.moi.gov.eg returns a WAF block page; Passport: emoves.moi.gov.eg unreachable) — but Taxes (eta.gov.eg) was flagged 'inconclusive, not a hard dead end', since unauthenticated employer/withholding-agent payroll forms existed but the individual/self-employed return ('Form 25') itself had not been located as a standalone downloadable specimen, with a note to search again before writing Egypt off entirely. This cycle re-searched specifically for Form 25 and found it: ETA's own 'Small Projects Forms' page (https://www.eta.gov.eg/ar/content/nmadhj-almshrwat-alsghyrt, HTTP 200, plain unauthenticated fetch) links directly to a downloadable, unauthenticated PDF titled 'إقرار المشروعات الصغيرة' (\"Small Enterprise Declaration\"), which is the form itself: its own printed header reads 'نموذج رقم (25) إقرارات' (\"Form No. 25 (Declarations)\"). File identity: genuine PDF (%PDF-1.4 header), 207,394 bytes, sha256:e7ee3d918cac9e224bab3b0f85e9839c6503ef5e4770e2326f5cfbbdce657032, 2 pages. Unlike the AcroForm PDFs this registry has extracted from Cambodia's tax.gov.kh, this is a static/print-layout PDF with no fillable widgets (no /AcroForm, no /Widget annotations) — field boxes are visual table cells identified by printed reference numbers (01–09 on page 2's main declaration block, 021–024 on its reference-data block, 025/030/065/085 on its tax-computation/payment block) rather than named form fields. Extraction method: pdfjs-dist@5 (installed standalone in a scratch directory for extraction only, not added as a repository dependency), text content extracted per page and re-sorted by y/x position to reconstruct reading order, since the PDF's raw content-stream text order does not match visual reading order for this RTL-typeset document. Attempted to additionally render each page to a PNG via pdfjs-dist + node-canvas for visual box-to-label confirmation; the render produced a blank canvas in this sandboxed environment (page.render() resolved without a thrown error, and a minimal node-canvas smoke test confirmed the canvas/PNG pipeline itself works, so the gap is specific to this PDF/pdfjs-dist render path, not tooling generally) — field semantics below are therefore derived from the position-sorted text layer plus corroborating secondary sources, not a pixel-level visual check, and this is disclosed as a methodological limitation rather than silently presented as visually confirmed. Corroborating secondary sources used to resolve reading-order ambiguity: the Comprehensive Health Insurance Authority's own public guide on the 'solidarity contribution' (المساهمة التكافلية, uhia.gov.eg) independently confirms the form's own printed rate of 2.5 per thousand of business volume and the worked example matches; ETA's own 7-page e-services filing-navigation guide (eservice.incometax.gov.eg/ETax/UserGuids/DownloadInstructionSmallProjects) confirms the taxpayer-nature (natural/legal person) distinction referenced in this schema's taxpayerNature field, the April 1 (natural person) / within-4-months-of-fiscal-period-end (legal person) filing deadlines noted in this schema's description, and that the small-enterprise declaration is reached by selecting 'Form 25' from the taxpayer's registered e-services account; and ETA's own 'Small Projects Forms' listing page independently confirms the existence of the two separate dedicated payment forms Form 25's own footnote text references for profit-distribution tax and capital-gains tax (matching this schema's hasProfitDistributions/hasCapitalGainsMachineryEquipment disclosure questions, which are modelled as disclosure-only booleans since the actual payment is made on those separate forms, out of scope here). No submission was made and no live eta.gov.eg/eservice.incometax.gov.eg account was created or required to author this schema."
  },
  "maturity": {
    "level": "structural-reference",
    "criteria": {
      "structuralReference": true,
      "verifiedSchema": false,
      "agentReadySchema": false,
      "executionTestedSchema": false
    },
    "method": "maturity-self-assessment-v1",
    "assertedBy": "GovSchema Engineering (Standards Engineer)",
    "assertedAt": "2026-07-17"
  },
  "license": "CC-BY-4.0",
  "fields": [
    {
      "name": "declarationYear",
      "label": "Declaration year",
      "type": "integer",
      "required": true,
      "description": "The calendar year this tax declaration applies to.",
      "sourceRef": "Page 1, header, \"سنة الإقرار\"",
      "validation": { "minimum": 2000, "maximum": 2100 }
    },
    {
      "name": "taxpayerName",
      "label": "Name of taxpayer",
      "type": "string",
      "required": true,
      "classification": "pii",
      "description": "The registered name of the taxpayer (individual or enterprise) filing this declaration.",
      "sourceRef": "Page 1, header, \"إسم الممول\"",
      "validation": { "minLength": 1, "maxLength": 300 }
    },
    {
      "name": "taxpayerNature",
      "label": "Taxpayer nature (natural / legal person)",
      "type": "enum",
      "required": true,
      "description": "Whether the taxpayer is a natural person or a legal (juridical) person. This determines the filing deadline: before April 1 for a natural person, or before May 1 (within four months of the tax period's end) for a legal person.",
      "sourceRef": "ETA e-services filing guide, step 4 (\"أختيار طبيعة الممول (طبيعي / إعتباري)\")",
      "validation": { "enum": ["natural_person", "legal_person"] }
    },
    {
      "name": "nationalId",
      "label": "National ID number",
      "type": "string",
      "required": true,
      "classification": "sensitive-pii",
      "description": "The 14-digit Egyptian National ID number. For a natural-person taxpayer, this is the taxpayer's own number; for a legal person, this is the legal representative's number.",
      "sourceRef": "Page 1, header, \"الرقم القومي\"",
      "validation": { "pattern": "^[0-9]{14}$" }
    },
    {
      "name": "taxRegistrationNumber",
      "label": "Tax registration number",
      "type": "string",
      "required": true,
      "description": "The taxpayer's Egyptian Tax Registration Number, a 9-digit number commonly displayed in three groups of three digits.",
      "sourceRef": "Page 1, header, \"رقم التسجيل الضريبي\"",
      "validation": { "pattern": "^[0-9]{3}-?[0-9]{3}-?[0-9]{3}$" }
    },
    {
      "name": "taxpayerActivity",
      "label": "Taxpayer's business activity",
      "type": "string",
      "required": true,
      "description": "A description of the taxpayer's main business activity.",
      "sourceRef": "Page 1, header, \"نشاط الممول\"",
      "validation": { "minLength": 1, "maxLength": 300 }
    },
    {
      "name": "taxPeriodFrom",
      "label": "Tax period start date",
      "type": "date",
      "required": true,
      "description": "The first day of the annual tax period this declaration covers.",
      "sourceRef": "Page 1, header, \"الفترة الضريبية: من\"; repeated on page 2 box 01"
    },
    {
      "name": "taxPeriodTo",
      "label": "Tax period end date",
      "type": "date",
      "required": true,
      "description": "The last day of the annual tax period this declaration covers.",
      "sourceRef": "Page 1, header, \"الفترة الضريبية: إلى\"; repeated on page 2 box 01"
    },
    {
      "name": "businessGovernorate",
      "label": "Governorate",
      "type": "string",
      "required": true,
      "description": "The governorate of the enterprise's main business address.",
      "sourceRef": "Page 1, \"عنوان النشاط الرئيسي\", \"المحافظة\"",
      "validation": { "minLength": 1, "maxLength": 100 }
    },
    {
      "name": "businessDistrict",
      "label": "District (Hai)",
      "type": "string",
      "required": true,
      "description": "The district (حي) of the enterprise's main business address.",
      "sourceRef": "Page 1, \"عنوان النشاط الرئيسي\", \"الحي\"",
      "validation": { "minLength": 1, "maxLength": 150 }
    },
    {
      "name": "businessDepartmentOrCenter",
      "label": "Department / Center (Qism / Markaz)",
      "type": "string",
      "required": true,
      "description": "The administrative department (qism, urban) or center (markaz, rural) of the enterprise's main business address.",
      "sourceRef": "Page 1, \"عنوان النشاط الرئيسي\", \"القسم / المركز\"",
      "validation": { "minLength": 1, "maxLength": 150 }
    },
    {
      "name": "businessStreetOrVillage",
      "label": "Street / village name",
      "type": "string",
      "required": true,
      "description": "The street or village name of the enterprise's main business address.",
      "sourceRef": "Page 1, \"عنوان النشاط الرئيسي\", \"اسم الشارع / القرية\"",
      "validation": { "minLength": 1, "maxLength": 200 }
    },
    {
      "name": "businessBuildingNumber",
      "label": "Building number",
      "type": "string",
      "required": true,
      "description": "The building number of the enterprise's main business address.",
      "sourceRef": "Page 1, \"عنوان النشاط الرئيسي\", \"رقم المبنى\"",
      "validation": { "maxLength": 50 }
    },
    {
      "name": "correspondenceAddress",
      "label": "Correspondence address",
      "type": "string",
      "required": false,
      "description": "A mailing address for correspondence, if different from the main business address.",
      "sourceRef": "Page 1, header, \"عنوان المراسلة\"",
      "validation": { "maxLength": 400 }
    },
    {
      "name": "landlinePhone",
      "label": "Landline telephone number",
      "type": "string",
      "required": false,
      "description": "The taxpayer's landline telephone number, if any.",
      "sourceRef": "Page 1, header, \"رقم التليفون (الأرضي)\"",
      "validation": { "maxLength": 30 }
    },
    {
      "name": "mobilePhone",
      "label": "Mobile phone number",
      "type": "string",
      "required": true,
      "description": "The taxpayer's mobile phone number.",
      "sourceRef": "Page 1, header, \"الموبايل\"",
      "validation": { "pattern": "^01[0-9]{9}$" }
    },
    {
      "name": "vatTaxOfficeName",
      "label": "VAT-registered tax office name",
      "type": "string",
      "required": false,
      "description": "The name of the tax office (ma'mouriya) where the taxpayer is registered for Value Added Tax, if separately VAT-registered.",
      "sourceRef": "Page 1, header, \"اسم المأموريه المسجل بها بضرائب القيمة المضافة\"",
      "validation": { "maxLength": 200 }
    },
    {
      "name": "totalBusinessVolume",
      "label": "Total business volume",
      "type": "number",
      "required": true,
      "description": "The enterprise's total business volume (turnover) for the declared tax period, in Egyptian Pounds (EGP).",
      "sourceRef": "Page 2, box 03, \"إجمالي حجم الأعمال\"",
      "validation": { "minimum": 0 }
    },
    {
      "name": "agreesSolidarityContribution",
      "label": "Agree to pay the solidarity contribution with this declaration",
      "type": "boolean",
      "required": true,
      "description": "Whether the taxpayer agrees to pay the Comprehensive Health Insurance solidarity contribution (2.5 per thousand of business volume) together with this declaration.",
      "sourceRef": "Page 2, box 05, \"أوافق على سداد المساهمة التكافلية مع الإقرار، 2.5 في الألف\""
    },
    {
      "name": "agreesHealthInsurancePaymentWithReturn",
      "label": "Agree to pay via the Comprehensive Health Insurance Authority account",
      "type": "boolean",
      "required": false,
      "description": "Whether the taxpayer agrees to pay the solidarity contribution through the Comprehensive Health Insurance Authority's own account. Required only when agreesSolidarityContribution is true.",
      "sourceRef": "Page 2, box 06, \"أوافق على سدادها بحساب هيئة التأمين الصحي الشامل\"",
      "requiredWhen": { "field": "agreesSolidarityContribution", "equals": true }
    },
    {
      "name": "hasProfitDistributions",
      "label": "Do you have profit distributions from shares or stakes?",
      "type": "boolean",
      "required": true,
      "description": "Whether the taxpayer has profit distributions from shares or ownership stakes. This is a disclosure question only — the form's own footnote states any tax due on such distributions is paid on ETA's separate dedicated dividend-tax payment form (\"نموذج سداد الضريبة علي توزيعات الأرباح\", confirmed listed on the same \"Small Projects Forms\" page but out of scope here), not on this declaration.",
      "sourceRef": "Page 2, box 07, \"هل لديك توزيعات أرباح عن أسهم أو حصص\""
    },
    {
      "name": "hasCapitalGainsMachineryEquipment",
      "label": "Do you have capital gains from machinery or equipment?",
      "type": "boolean",
      "required": true,
      "description": "Whether the taxpayer has capital gains from the disposal of machinery or equipment. This is a disclosure question only — any tax due on such gains is paid on ETA's own separate dedicated capital-gains payment form, not on this declaration. A footnote on the source form also warns that violating Article 29 of Law 152/2020 in this respect carries its own consequence.",
      "sourceRef": "Page 2, box 08, \"هل لديك أرباح رأسمالية للآلات والمعدات\""
    },
    {
      "name": "numberOfEmployees",
      "label": "Number of employees",
      "type": "integer",
      "required": true,
      "description": "The number of employees at the enterprise, provided as reference data.",
      "sourceRef": "Page 2, box 021, \"عدد العاملين بالمنشأة\"",
      "validation": { "minimum": 0 }
    },
    {
      "name": "legalEntityForm",
      "label": "Legal entity form",
      "type": "string",
      "required": false,
      "description": "The enterprise's specific legal form (e.g. sole proprietorship, general partnership, limited liability company), provided as reference data. Modelled as free text rather than an enumerated list: the source form's own box (022, \"الكيان القانوني\") does not print an enumerated option list, so the possible values could not be confirmed from this document alone.",
      "sourceRef": "Page 2, box 022, \"الكيان القانوني\"",
      "validation": { "maxLength": 150 }
    },
    {
      "name": "businessVolumeBracket",
      "label": "Business-volume bracket",
      "type": "enum",
      "required": true,
      "description": "Which of the law's six annual business-volume brackets the enterprise falls into, used to determine the applicable flat tax rate.",
      "sourceRef": "Page 1 and page 2, the six-row bracket table (\"في حدود رقم الاعمال\"); selector at page 2 box 023, \"يتم تحديد حجم اعمال المشروع\"",
      "validation": {
        "enum": [
          "under_250k",
          "250k_to_500k",
          "500k_to_1m",
          "1m_to_2m",
          "2m_to_3m",
          "3m_to_10m"
        ]
      }
    },
    {
      "name": "salesOrRevenueVolume",
      "label": "Sales or revenue volume",
      "type": "number",
      "required": true,
      "description": "The enterprise's sales or revenue volume amount, in Egyptian Pounds (EGP), provided as reference data supporting the declared business-volume bracket.",
      "sourceRef": "Page 2, box 024, \"حجم المبيعات أو الإيرادات\"",
      "validation": { "minimum": 0 }
    },
    {
      "name": "taxDue",
      "label": "Tax due",
      "type": "number",
      "required": true,
      "description": "The flat tax due for the declared tax period, computed from the applicable business-volume bracket rate, in Egyptian Pounds (EGP).",
      "sourceRef": "Page 2, box 025, \"الضريبة المستحقة\"",
      "validation": { "minimum": 0 }
    },
    {
      "name": "priorYearOverpaymentCredit",
      "label": "Credit balance overpaid from prior years",
      "type": "number",
      "required": false,
      "description": "Any credit balance paid in excess in prior years, deducted from the tax due for this period.",
      "sourceRef": "Page 2, box 030, \"رصيد مسدد بالزيادة من سنوات سابقة\"",
      "validation": { "minimum": 0 }
    },
    {
      "name": "netTaxPayableOrRefundable",
      "label": "Net tax payable / overpaid",
      "type": "number",
      "required": true,
      "description": "The net amount due after deducting any prior-year credit from the tax due (box 025 minus box 030). A positive value is the amount payable; a negative value represents an amount overpaid/carried forward as a credit.",
      "sourceRef": "Page 2, box 065, \"الضريبة الواجب سدادها / المسددة بالزيادة\""
    },
    {
      "name": "paymentMethod",
      "label": "Payment method",
      "type": "enum",
      "required": true,
      "description": "How the amount due is being paid: electronically, or by deposit at a post office or bank.",
      "sourceRef": "Page 2, box 085, \"طبيعة السداد: سداد إلكتروني | إيداع\"",
      "validation": { "enum": ["electronic_payment", "deposit"] }
    },
    {
      "name": "paymentReferenceNumber",
      "label": "Payment reference number",
      "type": "string",
      "required": true,
      "description": "The reference or receipt number issued for this payment.",
      "sourceRef": "Page 2, box 085, \"برقم:\"",
      "validation": { "maxLength": 50 }
    },
    {
      "name": "paymentDate",
      "label": "Payment date",
      "type": "date",
      "required": true,
      "description": "The date the payment was made.",
      "sourceRef": "Page 2, box 085, \"بتاريخ:\""
    },
    {
      "name": "depositBankOrPostOfficeName",
      "label": "Depositing post office / bank name",
      "type": "string",
      "required": false,
      "classification": "financial",
      "description": "The name of the post office or bank where the payment was deposited. Required only when paymentMethod is deposit.",
      "sourceRef": "Page 2, box 085, \"مكتب بريد / بنك:\"",
      "validation": { "maxLength": 200 },
      "requiredWhen": { "field": "paymentMethod", "equals": "deposit" }
    },
    {
      "name": "declarantName",
      "label": "Name of taxpayer / agent",
      "type": "string",
      "required": true,
      "classification": "pii",
      "description": "The name of the person signing this declaration — the taxpayer themselves or an authorized agent.",
      "sourceRef": "Page 2, declaration block, \"أسم الممول / الوكيل\"",
      "validation": { "minLength": 1, "maxLength": 300 }
    },
    {
      "name": "declarantType",
      "label": "Declarant type",
      "type": "enum",
      "required": true,
      "description": "Whether the person signing this declaration is the taxpayer themselves or an authorized agent.",
      "sourceRef": "Page 2, declaration block, \"أسم الممول / الوكيل\"",
      "validation": { "enum": ["taxpayer", "authorized_agent"] }
    },
    {
      "name": "agentRegistrationNumber",
      "label": "Agent registration number",
      "type": "string",
      "required": false,
      "description": "The authorized tax agent's registration (membership) number. Required only when declarantType is authorized_agent.",
      "sourceRef": "Page 2, declaration block, \"رقم القيد\"",
      "validation": { "maxLength": 50 },
      "requiredWhen": { "field": "declarantType", "equals": "authorized_agent" }
    },
    {
      "name": "legalRepresentativeName",
      "label": "Name of legal representative",
      "type": "string",
      "required": false,
      "classification": "pii",
      "description": "The name of the enterprise's legal representative. Required only when taxpayerNature is legal_person.",
      "sourceRef": "Page 2, declaration block, \"أسم الممثل القانوني\"",
      "validation": { "minLength": 1, "maxLength": 300 },
      "requiredWhen": { "field": "taxpayerNature", "equals": "legal_person" }
    },
    {
      "name": "declarationSignDate",
      "label": "Date signed",
      "type": "date",
      "required": true,
      "description": "The date this declaration was signed.",
      "sourceRef": "Page 2, declaration block, \"تحريراً في\""
    }
  ]
}
