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
LGD · Department of Local Government

Personal Levy

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

Output documents

Test evidence

Personal Levy

Service documentation · Republic of Zambia · GSB e-Services

OwnerDepartment of Local Government
Service keyLGD/personal-levy
Versionservice v1, platform 7eecca5c
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 Personal Levy service of Department of Local Government 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
ServicePersonal Levy
Owner (MDA)Department of Local Government (LGD)
PurposePersonal Levy is an annual tax imposed on every person aged 18 years and above who resides within the jurisdiction of a local authority and earns an income exceeding K300 per year.
Who can applyIndividual; Organization
How to applyOnline on the national e-Services portal, signed in with ZamPass; pay with ZamPay.
FeesPersonal levy, current year: (table)
Personal levy, 1 year back (last year): (table)
Late payment penalty (25%), 1 year back (last year): (percentage)
Personal levy, 2 years back: (table)
Late payment penalty (25%), 2 years back: (percentage)
Personal levy, 3 years back: (table)
Late payment penalty (25%), 3 years back: (percentage)
Personal levy, 4 years back: (table)
Late payment penalty (25%), 4 years back: (percentage)
Personal levy, 5 years back: (table)
Late payment penalty (25%), 5 years back: (percentage)
TurnaroundAutomated
Validity of the output1 year
Required documentsApplicant/Representative Identity Document (required) - NRC or passport of the applicant or the representative.
Applicant/Representative Certificate of Registration (optional) - For an employer paying for its employees: the certificate of incorporation or registration.
List of Current Employees (optional) - For an employer: the employees on whom the levy is paid.
Output documentsGS-1 Application for a Government Service
GS-2 Notice of Government Action

2. Application process, step by step

The process as configured in the back office:

StepRoleTaskType
1ApplicantApplyform
2SystemGenerate Documentgenerate-document
3Case OfficerGenerate Paymentgenerate-payment
4ApplicantPaymentpayment
5Case OfficerDecisiondecision
6SystemNotify Clientnotify

Who takes part in this journey: Citizen, Case Officer, Anyone (public).

Step 1. Find the service at the council

Citizen · National e-Services portal

The service is delivered by the local authorities: on the national e-Services portal the citizen opens Councils, chooses their council (Lusaka City Council in this run) and searches its services ("Personal Levy"). The application is then registered with that council and priced with its own fees.

Find the service at the council (desktop) Find the service at the council (375 px phone)

Step 2. Read the service page

Citizen · National e-Services portal

The service page sets out what the service is for, the fee, how long it takes and the documents to have ready, and names the council the application goes to. "Start application" begins an application at Lusaka City Council (the citizen is signed in with ZamPass).

Read the service page (desktop) Read the service page (375 px phone)

Step 3. Confirm the applicant details

Citizen · National e-Services portal

The applicant details are filled in from the citizen's ZamPass account. The citizen says whom they are applying for (themself) and continues with "Proceed to Application".

Confirm the applicant details (desktop) Confirm the applicant details (375 px phone)

Step 4. Fill in the application form

Citizen · National e-Services portal

The citizen answers the service's own application form, converted from the legacy system (2 answers in this run, all synthetic), for the type of application "New". Questions marked * must be answered; some appear only after an earlier answer. Answers are saved as the citizen types, so an unfinished application can be reopened from My Workplace.

Fill in the application form (desktop) Fill in the application form (375 px phone)

Step 5. Upload the supporting documents

Citizen · National e-Services portal

Each document the service asks for has its own upload (3 in this run: Applicant/Representative Identity Document, Applicant/Representative Certificate of Registration, List of Current Employees). The files are checked and stored with the application; the page confirms each upload.

Upload the supporting documents (desktop) Upload the supporting documents (375 px phone)

Step 6. Check the answers and confirm the declaration

Citizen · National e-Services portal

Before sending, the citizen sees every answer and document on one page and can go back to change them. The declaration that the information is true and complete must be ticked.

Check the answers and confirm the declaration (desktop) Check the answers and confirm the declaration (375 px phone)

Step 7. Application sent

Citizen · National e-Services portal

The portal confirms the application with the ministry's reference number (LGD-PL/00001/10-21-26 in this run). The fee is due now: it is taken with the application, so the invoice was raised when the application was sent.

Application sent (desktop) Application sent (375 px phone)

Step 8. See that the fee is due

Citizen · National e-Services portal

The application shows "Waiting for your payment" in My Workplace with a Pay button (K30,375.00). The fee is taken with the application; the invoice was raised on ZamPay.

See that the fee is due (desktop) See that the fee is due (375 px phone)

Step 9. Pay with ZamPay

Citizen · National e-Services portal

Pay opens the invoice (K30,375.00, the amount set by the platform, never by the page) with its PDF preview; the citizen pays at ZamPay by mobile money or bank card.

Pay with ZamPay (desktop) Pay with ZamPay (375 px phone)

Step 10. Payment received

Citizen · National e-Services portal

ZamPay reports the payment; the dialog says "Paid. Thank you" and the application moves on to the ministry's officers.

Payment received (desktop) Payment received (375 px phone)

Step 11. Take the new application on

Case Officer · Back office

The application arrives in the case queue of the ministry that owns the service (Department of Local Government); only its staff see it. The officer opens it by its reference number - answers, documents and process are on the case - assigns it to themself and takes it on.

Take the new application on (desktop)

Step 12. Decide: Verify Case Eligibility / Compliance

Case Officer · Back office

At "Verify Case Eligibility / Compliance" the Case Officer records the decision: approve, with a comment kept in the case history. Approving moves the case on; the last decision completes it and issues the document.

Decide: Verify Case Eligibility / Compliance (desktop)

Step 13. The document in My permits

Citizen · National e-Services portal

The issued document (LGD-PL-2026-00001 in this run: "Personal Levy") is listed in "My permits and licences" with its validity and a download of the sealed PDF.

The document in My permits (desktop) The document in My permits (375 px phone)

Step 14. Verify the document

Anyone (public) · Public verification page

The QR code on the document opens the public verification page: genuine and current, to whom it was issued, and whether the electronic seal is valid. No sign-in is needed.

Verify the document (desktop) Verify the document (375 px phone)

3. Payment

ItemIn the test run
Fee (as published)Personal Levy – 15 ZMW
Invoice 17097462025223539
Amount 1ZMW 30375.00
Paid at 1with the application

On screen: step 8 (See that the fee is due), step 9 (Pay with ZamPay), step 10 (Payment received) in section 2.

4. Output documents

Personal Levy (sealed PDF)

Issued when the case was approved, from the service's output configuration (permitDocument/issued@1), filled from the application and the decision, sealed with the platform's electronic seal and stored as the issued version. The holder downloads it from My permits; the verification page checks it.

Personal Levy (sealed PDF)

The issued PDF has 1 page; the image shows the first.

Fields

FieldValue in the test run
Document titlePersonal Levy
Permit / licence numberLGD-PL-2026-00001
HolderChanda Mwila
Valid from2026-10-21
Valid until2027-10-21
Statusactive
Verification code (printed with a QR code)8TXT-H39F-QT

Seal

ItemDetail
Seal statussealed
Signature levelPAdES-B-T
Sealed bythe platform seal (development key in the test run)
Signed at2026-10-21T11:27:12.353Z
Trusted time-stamp2026-10-21T11:27:12.948Z (time-stamping authority)
Document fingerprint (SHA-256)2214b660211b8df3...

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.

On screen: step 13 (The document in My permits), step 14 (Verify the document) in section 2.

5. Notifications

WhenChannelToMessageDelivery
Payment due (invoice raised)in-app (portal bell)the applicantPayment due for application LGD-PL/00001/10-21-26 - The fee of ZMW 30375.00 for Personal Levy (LGD-PL/00001/10-21-26) is now due. Invoice 7097462025223539.shown
Application receivedin-app (portal bell)the applicantApplication LGD-PL/00001/10-21-26 received - Your application LGD-PL/00001/10-21-26 for Personal Levy has been received by Department of Local Government.shown
Payment receivedin-app (portal bell)the applicantPayment received for LGD-PL/00001/10-21-26 - Your payment of ZMW 30375.00 for LGD-PL/00001/10-21-26 (Personal Levy) has been received. Receipt: <ZamPay>/pdf?documentType=receipt&invoiceNumber=7097462025223539shown
Licence / permit issuedin-app (portal bell)the applicantYour Personal Levy document has been issued - LGD-PL-2026-00001 has been issued for Personal Levy and is valid until 21/10/2027.shown
Invitation to rate the servicein-app (portal bell)the applicantHow was Personal Levy? - How was Personal Levy? Tell us in about a minute.shown
Decision: approvedin-app (portal bell)the applicantApplication LGD-PL/00001/10-21-26 completed - LGD-PL/00001/10-21-26 (Personal Levy) is complete. Your documents are ready.shown
Payment due (invoice raised)sms+260 97* *** 567Fee of ZMW 30375.00 due for LGD-PL/00001/10-21-26. Invoice 7097462025223539. Pay: <ZamPay>/pay-for-service/get-invoice/7097462025223539delivered
Payment due (invoice raised)emaile2e.c***@example.testPayment due for application LGD-PL/00001/10-21-26skipped
Application receivedsms+260 97* *** 567Application LGD-PL/00001/10-21-26 for Personal Levy has been received. Track it: <portal>/my-workplacedelivered
Application receivedemaile2e.c***@example.testApplication LGD-PL/00001/10-21-26 receivedskipped
Payment receivedsms+260 97* *** 567delivered
Invitation to rate the servicesms+260 97* *** 567skipped
Invitation to rate the serviceemaile2e.c***@example.testHow was Personal Levy?skipped
Licence / permit issuedsms+260 97* *** 567delivered
Licence / permit issuedemaile2e.c***@example.testYour Personal Levy document has been issuedskipped
Decision: approvedsms+260 97* *** 567delivered
Decision: approvedemaile2e.c***@example.testApplication LGD-PL/00001/10-21-26 completedskipped

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
ReplacesPersonal Levy in the legacy ZIGS e-Services directory (ZIGS_Services)
Legacy service id611
Legacy providerDepartment of Local Government (LGD) under Ministry of Local Government and Rural Development
Legacy processnot recorded
Fee in the legacy systemnone
Fee taken before submissionyes (as in ZIGS)
Time to issue (legacy)not recorded
Legacy output templatesnone recorded
Legacy addresshttps://ecouncils.gsb.gov.zm
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 7eecca5c
Generated2026-10-21T11:27:18Z (by the end-to-end run, not edited by hand)
Service versionnot versioned (configured directly)
Platform snapshotbackend 7eecca5c
portal 72805f0
back office 58e5946
Test suitee2e 2f82c10; one installation (combined); seed profile mihud
Journeys30-catalogue-service.spec.js: citizen finds the service, answers its form, uploads its documents and sends the application - passed
30-catalogue-service.spec.js: the case goes through every step of its process: payments by the citizen, each officer step by its role - passed
30-catalogue-service.spec.js: the grant document is issued, sealed, filled in and verifiable; the citizen has it in My permits - passed
Result3 of 3 journey tests passed
DataSynthetic test data on a local test installation; provider test doubles for ZamPass, ZamPay, SMS and signing.