An official developer portal of the Government of the Republic of Zambia · Test environmentVerify a certificate
Pamodzi Developer HubBuild, integrate and learn the e-Services framework
MGEE · Forestry Department

Forestry Tree Felling Permit

FormWorkflowOutputsE2E testDocs
PassedPassedPassedPassedPassed
End-to-end test
6/6 passed 2026-10-21 (mihud, combined)
Documentation
22 steps, 10 images · Download the DOCX
Who can apply
Individual, Organization
Catalogue ID
157

Required documents

Output documents

Test evidence

Forestry Tree Felling Permit

Service documentation · Republic of Zambia · GSB e-Services

OwnerForestry Department
Service keyMGEE/tree-felling-permit
Versionservice v1, platform 86947eee
Date2026-10-21

Generated automatically by the service's end-to-end test run. Every screenshot shows synthetic test data on a local test installation, never real personal data.

This document describes the Forestry Tree Felling Permit service of Forestry Department as the platform runs it today. It is generated by the service's end-to-end test: every step below was performed by the test, and every screenshot was taken during that run with synthetic data. Regenerate it with npm run docs:services in the e2e suite; do not edit it by hand.

1. Service summary

ItemDetail
ServiceForestry Tree Felling Permit
Owner (MDA)Forestry Department (MGEE)
PurposeThe Forestry Tree Felling Permit is a document that allows the holder to fell and cut down trees.
Who can applyIndividual; Organization
How to applyOnline on the national e-Services portal, signed in with ZamPass; pay with ZamPay.
FeesFee set by the office: (variable)
Turnaround30 days
Validity of the output14 days
Required documentsTitle Deeds or Lease Agreements, or Consent Letter from Traditional Authority/Leader in the case of Customary Land (required)
National Registration Card (NRC) (required)
Cover Letter to the Director Forestry (required)
Certificate of Incorporation / ZDA (if company, church, society) (required)
Output documentsForestry Tree Felling Permit
Approval letter
Application form
GS-2 Notice of Government Action
Legal basisThe Forest Act No. 4 of 2015 (http://www.parliament.gov.zm/node/4535)
SI No. 94 of 2015 (https://pmrczambia.com/the-forest-export-of-timber-regulations-2015-statutory-instrument-no-94-of-2015/)
SI No. 52 of 2013 (http://extwprlegs1.fao.org/docs/pdf/zam133574.pdf)

2. Application process, step by step

The process as configured in the back office:

StepRoleTaskType
1ApplicantApplyform
2SystemGenerate Documentgenerate-document
3Case OfficerReviewreview
4Case OfficerField Validationforestry-field-validation
5SupervisorReviewreview
6ExecutiveApproveapprove
7ApplicantPaymentpayment
8Case OfficerVerify Paymentverify-payment
9ExecutiveDecisiondecision
10SystemGenerate Documentgenerate-document
11SystemNotify Clientnotify

Who takes part in this journey: Citizen, Case Officer, Supervisor, Executive.

Step 1. Start the felling application, with its map

Citizen · National e-Services portal

The citizen applies with the number of their own concession licence and draws the felling area inside it on the map. A concession held by someone else, or an expired one, is refused.

Start the felling application, with its map (desktop) Start the felling application, with its map (375 px phone)

Step 2. Send the felling application inside the concession

Citizen · National e-Services portal (sent through the API the portal uses in the test run: no screenshot)

The application names the citizen's concession licence and coupe and gives an 800 m x 600 m felling area inside the concession (sent through the API the portal uses: drawing on the map is not automated yet). The platform checks the area lies inside a concession the applicant holds and records the felling site (case MGEE-FTFP/00002/10-22-26 in this run).

Step 3. Take the application on

Case Officer · Back office (done through its case API in the test run: no screenshot)

The Case Officer takes the new application on (assigned to them). The case moves from "Submitted" to "CO Review".

Step 4. Review, Report Findings, Draft Decision

Case Officer · Back office (done through its case API in the test run: no screenshot)

The Case Officer completes "Review, Report Findings, Draft Decision". The case moves from "CO Review" to "CO Field Validation".

Step 5. Field Validation

Case Officer · Back office (done through its case API in the test run: no screenshot)

The Case Officer records the field inspection (outcome: passed) and completes "Field Validation". The case moves from "CO Field Validation" to "SV Review".

Step 6. Review, Add Comments, Send for Signature

Supervisor · Back office (done through its case API in the test run: no screenshot)

The Supervisor completes "Review, Add Comments, Send for Signature". The case moves from "SV Review" to "EX Approve".

Step 7. Review, Inspect, e-Sign Executive

Executive · Back office (done through its case API in the test run: no screenshot)

The Executive completes "Review, Inspect, e-Sign Executive". The case moves from "EX Approve" to "AP Payment".

Step 8. Pay the royalty

Citizen · National e-Services portal (sent through the API the portal uses in the test run: no screenshot)

The royalty is worked out on the server from the expert's tree inventory and invoiced; the citizen pays it with ZamPay (paid through the API in this run).

Step 9. Verify Payment Completion

Case Officer · Back office (done through its case API in the test run: no screenshot)

The Case Officer completes "Verify Payment Completion". The case moves from "CO Verify Payment" to "EX Decision".

Step 10. Review, Inspect, e-Sign Executive

Executive · Back office (done through its case API in the test run: no screenshot)

The Executive decides: approve ("Review, Inspect, e-Sign Executive"). The case moves from "EX Decision" to "Completed".

Step 11. The concession has no standing stock yet

Case Officer · Back office

Before the concession is enumerated, felling permits in it are not checked against a stock. The officer opens the concession's Inventory tab to record its tree inventory.

The concession has no standing stock yet (desktop)

Step 12. Import the tree inventory (CSV)

Case Officer · Back office

A CSV tally per species and diameter class (or a list of trees with their positions). The server checks every row: unknown species, branch-wood, negative numbers and trees outside the concession are refused with the row named.

Import the tree inventory (CSV) (desktop)

Step 13. The recording officer cannot approve their own inventory

Case Officer · Back office (done through its case API in the test run: no screenshot)

Approving an inventory sets the standing stock every felling permit draws on, so another officer (a supervisor or executive) must approve it: the server refuses the recording officer (403).

Step 14. Check and approve the inventory

Supervisor · Back office

The supervisor checks the tally (species, compartment, diameter class, trees, volume) and approves it. An inventory recorded or sent by the same officer cannot be approved by them.

Check and approve the inventory (desktop)

Step 15. The standing stock of the concession

Supervisor · Back office

One allowance per species on the platform's allocation ledger: counted, held by applications, felled under issued permits, and left standing.

The standing stock of the concession (desktop)

Step 16. Apply to fell inside an enumerated concession

Citizen · National e-Services portal (sent through the API the portal uses in the test run: no screenshot)

The application names the concession licence (case MGEE-FTFP/00003/10-22-26 in this run). Quantities declared on the form, when there are any, are held against the standing stock at once; here the expert's tree inventory sets them.

Step 17. Field validation holds the felling volume

Case Officer · Back office (done through its case API in the test run: no screenshot)

When the field validation step is completed, the expert's tree inventory (30 m³ of Afzelia quanzensis) is held against the concession's standing stock: 10 m³ are left for other applications.

Step 18. The permit is issued and draws the volume

Executive · Back office (done through its case API in the test run: no screenshot)

When the felling permit MGEE-FTFP-2026-00002 is issued, exactly its tree inventory (30 m³) is drawn from the concession's stock; a retried issue draws nothing more. A refused, withdrawn or lapsed application gives its hold back at once.

Step 19. Over-felling is refused

Case Officer · Back office (done through its case API in the test run: no screenshot)

A second application whose trees (15 m³) exceed what is left standing (10 m³) cannot leave the field validation step: the server refuses it (409 OVER_FELLING), nothing is held, and the officer refuses the application or has the trees re-measured. Two applications racing for the last cubic metres are served one after the other.

Step 20. A felling permit against the concession stock

Case Officer · Back office

Each felling site shows what its permit holds or has drawn from the concession's standing stock, and what is left there.

A felling permit against the concession stock (desktop)

Step 21. The stock history of the concession

Case Officer · Back office

Every movement of the stock with its application: the count, the hold at validation, the draw at issue (and any release).

The stock history of the concession (desktop)

Step 22. Standing stock against felling (report)

Supervisor · Back office

By species or by concession, for a period: counted, felled in the period, held now and left standing; downloadable as CSV.

Standing stock against felling (report) (desktop)

3. Payment

ItemIn the test run
RoyaltyZMW 5,400.00 in this run: 10 m³ x ZMW 460 (the species rate) + branch-wood 10 m³ x ZMW 80, from the expert's tree inventory
When it is paidAfter the approval
Invoice number5714015329009546
Paid throughZamPay (the ZamPay test double in this run)

On screen: step 8 (Pay the royalty) in section 2.

4. Output documents

Forestry Tree Felling Permit (sealed PDF)

The FDMS felling permit: concession licence number, coupe, the royalty table per species with the branch-wood lines, the amount in words and the conditions; valid 14 days. Its timber becomes the allowance conveyance permits draw on.

Forestry Tree Felling Permit (sealed PDF)

The issued PDF has 3 pages; the image shows the first.

Fields

FieldValue in the test run
Document titleForestry Tree Felling Permit
Permit / licence numberMGEE-FTFP-2026-00001
HolderChanda Mwila
Valid from2026-10-21
Valid until2026-11-04
Statusactive
Verification code (printed with a QR code)Y2SF-YD2T-QD

Seal

ItemDetail
Seal statussealed
Signature levelPAdES-B-T
Sealed bythe platform seal (development key in the test run)
Signed at2026-10-21T23:44:01.135Z
Trusted time-stamp2026-10-21T23:44:01.113Z (time-stamping authority)
Document fingerprint (SHA-256)577063e468132b3f...

Verification

ItemDetail
WhereThe public verification page of the national portal, <portal>/verify/<verification code>, opened by scanning the QR code on the document.
What it showsWhether the document is genuine and current, its holder and validity, and whether the electronic seal is valid and who sealed it.
Checking a copyAnyone can upload a PDF they were given; the page says whether it is exactly the document that was issued. A changed copy is reported as not matching.

5. Notifications

WhenChannelToMessageDelivery
Application receivedin-app (portal bell)the applicantApplication MGEE-FTFP/00002/10-22-26 received - Your application MGEE-FTFP/00002/10-22-26 for Forestry Tree Felling Permit has been received by Forestry Department.shown
Status changedin-app (portal bell)the applicantUpdate on application MGEE-FTFP/00002/10-22-26 - MGEE-FTFP/00002/10-22-26 (Forestry Tree Felling Permit) is now: With the office - being reviewed.shown
Payment due (invoice raised)in-app (portal bell)the applicantPayment due for application MGEE-FTFP/00002/10-22-26 - The fee for Forestry Tree Felling Permit (MGEE-FTFP/00002/10-22-26) is now due.shown
Payment due (invoice raised)in-app (portal bell)the applicantPayment due for application MGEE-FTFP/00002/10-22-26 - The fee of ZMW 5400.00 for Forestry Tree Felling Permit (MGEE-FTFP/00002/10-22-26) is now due. Invoice 5714015329009546.shown
Payment receivedin-app (portal bell)the applicantPayment received for MGEE-FTFP/00002/10-22-26 - Your payment of ZMW 5400.00 for MGEE-FTFP/00002/10-22-26 (Forestry Tree Felling Permit) has been received. Receipt: <ZamPay>/pdf?documentType=receipt&invoiceNumber=5714015329009546shown
Licence / permit issuedin-app (portal bell)the applicantYour Forestry Tree Felling Permit document has been issued - MGEE-FTFP-2026-00001 has been issued for Forestry Tree Felling Permit and is valid until 05/11/2026.shown
Invitation to rate the servicein-app (portal bell)the applicantHow was Forestry Tree Felling Permit? - How was Forestry Tree Felling Permit? Tell us in about a minute.shown
Decision: approvedin-app (portal bell)the applicantApplication MGEE-FTFP/00002/10-22-26 completed - MGEE-FTFP/00002/10-22-26 (Forestry Tree Felling Permit) is complete. Your documents are ready.shown
Application receivedemaile2e.c***@example.testApplication MGEE-FTFP/00002/10-22-26 receivedskipped
Application receivedsms+260 97* *** 567Application MGEE-FTFP/00002/10-22-26 for Forestry Tree Felling Permit has been received. Track it: <portal>/my-workplacedelivered
Status changedsms+260 97* *** 567delivered
Payment due (invoice raised)sms+260 97* *** 567Fee due for MGEE-FTFP/00002/10-22-26. Pay: <portal>/my-workplacedelivered
Payment due (invoice raised)emaile2e.c***@example.testPayment due for application MGEE-FTFP/00002/10-22-26skipped
Payment due (invoice raised)sms+260 97* *** 567Fee of ZMW 5400.00 due for MGEE-FTFP/00002/10-22-26. Invoice 5714015329009546. Pay: <ZamPay>/pay-for-service/get-invoice/5714015329009546delivered
Payment receivedsms+260 97* *** 567delivered
Invitation to rate the servicesms+260 97* *** 567skipped
Invitation to rate the serviceemaile2e.c***@example.testHow was Forestry Tree Felling Permit?skipped
Licence / permit issuedsms+260 97* *** 567delivered
Decision: approvedsms+260 97* *** 567delivered
Decision: approvedemaile2e.c***@example.testApplication MGEE-FTFP/00002/10-22-26 completedskipped
Licence / permit issuedemaile2e.c***@example.testYour Forestry Tree Felling Permit document has been issuedskipped

Delivery: shown = in the portal's notification bell; delivered = the SMS gateway (a test double in this run) reported the text delivered; skipped = not sent on that channel (e-mail is not configured on the test installation, and some notices go out on one channel only); sent by the national portal = a ministry node handed the notice to the national portal, which texts and e-mails the citizen under its own name and the citizen's preferences. Addresses written <portal>, <ZamPay> stand for the national portal and ZamPay.

6. Legacy mapping

ItemDetail
ReplacesForestry Tree Felling Permit in the legacy ZIGS e-Services directory (ZIGS_Services)
Legacy service id157
Legacy providerForestry Department (MGEE) under Ministry of Green Economy and Environment
Legacy processLicenseReview (process 9)
Fee in the legacy systemnone
Fee taken before submissionyes (as in ZIGS)
Time to issue (legacy)New: 30 calendar days
Legacy output templatesForestry Tree Felling Permit: ZIGS_Forms_MGEE / MGEE_ForestryTreeFellingPermit.Certificate
Approval letter: ZIGS_Forms_MGEE / MGEE_ForestryTreeFellingPermit.ApprovalLetter
Application form: ZIGS_Forms_MGEE / MGEE_ForestryTreeFellingPermit.Application
GS-2 Notice of Government Action: ZIGS_Forms_Notices / GS-2.NoticeOfAction
Legacy addressnone recorded
How it was brought overImported by the platform's legacy catalogue importer (zcm-backend scripts/zigs/importLegacy.js) from the ZIGS snapshot: form, case types, fees, documents, process and output templates, then served by the new platform.

7. Version and date

ItemDetail
Document versionservice v1, platform 86947eee
Generated2026-10-21T23:45:55Z (by the end-to-end run, not edited by hand)
Service versionpublished version 1
Platform snapshotbackend 86947eee
portal 8d4a375
back office 8b37374
Test suitee2e f4407ea; one installation (combined); seed profile mihud
Journeys16-forestry-felling-conveyance.spec.js: citizen: applies to fell inside their concession; another applicant naming it is refused - passed
16-forestry-felling-conveyance.spec.js: officers: review, the expert records the trees, approval; the citizen pays the royalty; the permit is issued - passed
16-forestry-felling-conveyance.spec.js: citizen: conveys timber from the felling permit; the ledger holds it, an excess is flagged - passed
33-forestry-concession-inventory.spec.js: officers: the concession tree inventory is imported, and approved by another officer - passed
33-forestry-concession-inventory.spec.js: citizen and officers: a felling permit holds 30 m³ at validation and draws it at issue - passed
33-forestry-concession-inventory.spec.js: citizen: a second felling above what is left is refused at the field validation - passed
Result6 of 6 journey tests passed
DataSynthetic test data on a local test installation; provider test doubles for ZamPass, ZamPay, SMS and signing.