Job Description
for intro paragraphs and general text. Use
for section headers (e.g., Responsibilities, Qualifications, Requirements, Education, Experience, Skills, How to Apply, Key Duties, About the Role). Use - for list items. No CSS classes, no inline styles, no s, no
tags. Preserve all original content word-for-word — do not add, remove, summarise, or rephrase. If text has no clear sections, just wrap paragraphs in tags. Return only HTML.
We need to parse the given job description text (the raw HTML with divs etc). We need to extract content and produce HTML with appropriate tags.
We must preserve original content word-for-word. That means we cannot change wording, but we can change tags. We must not add or remove any text. So we need to output the same textual content, but wrapped in appropriate tags.
We need to identify sections: The original text includes:
- A div with Why Airtel Africa? then some paragraphs about Airtel Africa.
- Then a div with About the Role:
- Then a paragraph describing the role.
- Then a div with Airtel Africa is proud to be an equal opportunity employer...
- Then
Educational Qualifications
and ul list.
- Then Relevant Experience & Functional / Technical Skills
and ul list.
- Then a paragraph with (maybe empty). We need to preserve that? It's a non-breaking space; we should keep it as is? Probably we keep it as a space? The rule says preserve all original content word-for-word. So we need to output that as is? But HTML will interpret as a space. We can keep it as inside a maybe.
- Then
End-to-End Postpaid Billing Assurance
and ul.
- Then Reconciliations and Revenue-Leakage Detection
and ul.
- Then Adjustments, Credits and Customer-Billing Controls
and ul.
- Then Product, Tarriff and Change Assurance
and ul.
- Then Reporting, Governance and Control Improvement
and ul.
We need to decide which of these are section headers. According to rules, use for section headers (e.g., Responsibilities, Qualifications, Requirements, Education, Experience, Skills, How to Apply, Key Duties, About the Role). So we should treat "About the Role:" as a header (). Also "Educational Qualifications" as header (). "Relevant Experience & Functional / Technical Skills" as header (). Then the subsequent sections like "End-to-End Postpaid Billing Assurance", "Reconciliations and Revenue-Leakage Detection", etc. Those could be considered headers as well (maybe "Key Duties" or similar). The rule says use for section headers (e.g., Responsibilities, Qualifications, Requirements, Education, Experience, Skills, How to Apply, Key Duties, About the Role). It doesn't forbid using for other headers; we can use for any section header. So we will wrap each strong header in .
We also need to wrap introductory paragraphs (the "Why Airtel Africa?" section) in
tags. The "Why Airtel Africa?" itself is a strong; maybe treat that as a header? It's not listed as typical section header but could be considered a header. However the rule says use
for section headers (e.g., Responsibilities, Qualifications, Requirements, Education, Experience, Skills, How to Apply, Key Duties, About the Role). It doesn't say we cannot use for other headings, but we should follow the pattern. The "Why Airtel Africa?" is more like an introductory section; we could treat it as a header as well, but maybe better to keep it as
with inside? The rule says preserve all original content word-for-word. So we must keep the exact text, including the tags? Actually we are to output HTML; we can replace the with but that would change the markup but not the text content. The text inside the strong remains same. So it's okay to change the tag as long as we keep the text. The rule says preserve all original content word-for-word — do not add, remove, summarise, or rephrase. Changing tags is allowed because it's not content. So we can convert Why Airtel Africa? to Why Airtel Africa?
. That preserves the text.
Similarly for other strong headers.
We must not use or
. So we need to strip those.
We need to handle entities. We should keep them as is.
We need to ensure we don't add extra spaces.
Let's extract the textual content exactly as appears, ignoring the original tags.
Original content (text) includes:
- "Why Airtel Africa?" (strong)
- Then a blank line with
(we can ignore? It's just a line break and nbsp; we should preserve? The rule says preserve all original content word-for-word. The
and are part of content. But we cannot use
tags. However we can represent a line break via separation? The rule says no
tags. So we must not output
. But we need to preserve the content; maybe we can treat the
as a paragraph break. The is a space; we can keep it as a space.
Thus we can output a
for the paragraph after that.
Let's reconstruct the content in order:
1. "Why Airtel Africa?"
2. Then a blank line (maybe just a space)
3. "At Airtel Africa, we act with passion, energy, and a can-do attitude. Innovation with an entrepreneurial spirit drive us. If you like “ordinary”, then we are not for you."
4. "We champion diversity. We anticipate, adapt, and deliver solutions that enrich the lives of communities we serve. we roll up our sleeves to win with our customers."
5. "By choosing Airtel, you choose to be part of a winning team. All this in addition to a brilliant opportunity to build a career in your field of expertise, across our different operating companies in Africa."
6. Then a blank line (nbsp)
7. "About the Role:"
8. Blank line (nbsp)
9. "The Postpaid Billing Analyst is responsible for providing independent assurance over the completeness, accuracy and timeliness of postpaid billing and associated revenue. The role performs end-to-end controls across usage capture, mediation, rating, discounting, bill production, adjustments, collections interfaces and financial reporting to identify revenue leakage, billing errors and control gaps before they affect customers or the business."
10. "The analyst will use data analytics, reconciliations and root-cause analysis to validate billing outcomes, quantify exposure, drive corrective actions and support continuous improvement of the postpaid revenue-assurance control environment."
11. Then a blank line (nbsp)
12. "Airtel Africa is proud to be an equal opportunity employer and remain fully committed to diversity and inclusion in the workplace."
13. Blank line (nbsp)
14. "Educational Qualifications"
15. Then list items:
- Bachelor's degree in Accounting, Finance, Economics, Computer Science, Engineering, Statistics, Mathematics or a related discipline.
16. Blank line (p with )
17. "Relevant Experience & Functional / Technical Skills"
18. List items (13 items)
19. Blank line (p with )
20. "End-to-End Postpaid Billing Assurance"
21. List items (5)
22. Blank line? Actually after that list there is a
Reconciliations and Revenue-Leakage Detection
etc. So no blank.
23. "Reconciliations and Revenue-Leakage Detection"
24. List items (5)
25. "Adjustments, Credits and Customer-Billing Controls"
26. List items (4)
27. "Product, Tarriff and Change Assurance"
28. List items (4)
29. "Reporting, Governance and Control Improvement"
30. List items (6) (the last item includes "To ensure all post-paid traffic/CDRs are captured and billed appropriately")
We need to output HTML with appropriate tags.
We'll wrap each header in . For list items, wrap in - ...
. For paragraphs, wrap in
...
.
We must ensure we don't add extra text. We'll keep the exact text as given, including punctuation, quotes, etc. Note there are some typographic quotes like “ordinary”. We must keep them.
Also note there is a typo: "Product, Tarriff and Change Assurance" (double r). Keep as is.
Also "Relevant Experience & Functional / Technical Skills" includes HTML entity &. In the original text it's &. We must preserve that exactly. So we will output & inside the text.
Similarly there is " " entities. We'll keep them.
Now we need to decide about the blank lines: we have
etc. We should preserve that as a paragraph containing a non-breaking space. So we will output
.
Now we need to avoid and
. We'll not use them.
Now produce final HTML.
Let's construct:
Why Airtel Africa?
At Airtel Africa, we act with passion, energy, and a can-do attitude. Innovation with an entrepreneurial spirit drive us. If you like “ordinary”, then we are not for you.
We champion diversity. We anticipate, adapt, and deliver solutions that enrich the lives of communities we serve. we roll up our sleeves to win with our customers.
By choosing Airtel, you choose to be part of a winning team. All this in addition to a brilliant opportunity to build a career in your field of expertise, across our different operating companies in Africa.
About the Role:
The Postpaid Billing Analyst is responsible for providing independent assurance over the completeness, accuracy and timeliness of postpaid billing and associated revenue. The role performs end-to-end controls across usage capture, mediation, rating, discounting, bill production, adjustments, collections interfaces and financial reporting to identify revenue leakage, billing errors and control gaps before they affect customers or the business.
The analyst will use data analytics, reconciliations and root-cause analysis to validate billing outcomes, quantify exposure, drive corrective actions and support continuous improvement of the postpaid revenue-assurance control environment.
Wait we have a
inside that paragraph. The original had a
and after the sentence. We must preserve the content but we cannot use
tag. However we can treat the
as a line break; but we cannot output
. The rule says no
tags. So we must not output
. But we need to preserve the content word-for-word. The content includes a
tag. If we omit it, we are removing content. However maybe we can replace the
with a space? That would be altering content. The rule says preserve all original content word-for-word — do not add, remove, summarise, or rephrase. The
is part of the original content. So we must keep it. But the rule also says no
tags. This is contradictory. However likely the intention is that we should not add
tags ourselves, but if they appear in the original we can keep them? The instruction: "No CSS classes, no inline styles, no s, no
tags". That likely means we should not use those tags in our output. So we must omit
. But then we are not preserving original content. However maybe the
is considered formatting artifact that we can remove? The earlier instruction for the first task said remove stray numbers or formatting artifacts. But this second task says preserve ALL original content word-for-word. So we must keep
. Yet the rule says no
tags. This is confusing.
We need to decide which rule takes precedence. The second task is about formatting as clean semantic HTML, with rules: "No CSS classes, no inline styles, no s, no
tags". So we must obey that. The earlier instruction about preserving content is also there: "Preserve ALL original content word-for-word — do not add, remove, summarise, or rephrase". This is a conflict.
Probably the intention is that we should not add extra
tags, but if the original had
we can keep them as they are part of content. However the rule explicitly says no
tags. I think we should follow the latter: no
tags in output. So we will remove the
tag, but we need to preserve the after it. The original had "
". We'll output just " " maybe inside a . But that removes the
. However maybe we can treat the
as a paragraph break, so we can close the
and start a new
with . That would preserve the meaning without using
. Let's do that: The sentence ends, then
. We'll output the sentence in a
, then a
. That preserves the content (the line break and space) without using
. That seems acceptable.
Thus we will split: after the sentence, we output then
.
Now continue.
After that we have a div with equal opportunity employer strong. We'll treat that as a header? It's a statement; maybe we treat as as well? It's not a typical section header but we can still use . However the rule says use for section headers (e.g., Responsibilities, Qualifications, Requirements, Education, Experience, Skills, How to Apply, Key Duties, About the Role). This statement is not one of those. But we could still treat it as a paragraph with . However we need to preserve the strong. We could output Airtel Africa is proud to be an equal opportunity employer and remain fully committed to diversity and inclusion in the workplace.
. That preserves the strong tag. But the rule says use for section headers; it doesn't forbid using inside . So we can keep the strong inside a paragraph.
Thus we will output:
Airtel Africa is proud to be an equal opportunity employer and remain fully committed to diversity and inclusion in the workplace.
Then we have Educational Qualifications header.
We'll output:
Educational Qualifications
- Bachelor's degree in Accounting, Finance, Economics, Computer Science, Engineering, Statistics, Mathematics or a related discipline.
Then Relevant Experience & Functional / Technical Skills.
We need to keep the & entity. So header text: "Relevant Experience & Functional / Technical Skills". We'll output as Relevant Experience & Functional / Technical Skills
.
Then the list.
After that list, we have a
(the blank line). We'll output
.
Then End-to-End Postpaid Billing Assurance header.
Then list.
Then Reconciliations and Revenue-Leakage Detection header.
Then list.
Then Adjustments, Credits and Customer-Billing Controls header.
Then list.
Then Product, Tarriff and Change Assurance header.
Then list.
Then Reporting, Governance and Control Improvement header.
Then list.
Now we need to ensure we didn't miss any text: The original also had a line after the list of Reporting, Governance and Control Improvement: the last list item includes "To ensure all post-paid traffic/CDRs are captured and billed appropriately". That's inside the list.
Now we need to check for any stray paragraphs: we have several
after certain sections. We'll keep them.
Now we need to ensure we didn't accidentally lose any spaces or punctuation.
Let's reconstruct the exact text pieces:
From original:
Why Airtel Africa?
At Airtel Africa, we act with passion, energy, and a can-do attitude. Innovation with an entrepreneurial spirit drive us. If you like “ordinary”, then we are not for you.
We champion diversity. We anticipate, adapt, and deliver solutions that enrich the lives of communities we serve. we roll up our sleeves to win with our customers.
By choosing Airtel, you choose to be part of a winning team. All this in addition to a brilliant opportunity to build a career in your field of expertise, across our different operating companies in Africa.
About the Role:
The Postpaid Billing Analyst is responsible for providing independent assurance over the completeness, accuracy and timeliness of postpaid billing and associated revenue. The role performs end-to-end controls across usage capture, mediation, rating, discounting, bill production, adjustments, collections interfaces and financial reporting to identify revenue leakage, billing errors and control gaps before they affect customers or the business.
The analyst will use data analytics, reconciliations and root-cause analysis to validate billing outcomes, quantify exposure, drive corrective actions and support continuous improvement of the postpaid revenue-assurance control environment.<
Apply Now ↗
How well do you match?
Get an instant AI match score for this role — free, takes 3 minutes.
Tailor your CV for this role
The concierge rewrites your whole CV and writes a matching cover letter for this job — opens right here, nothing to paste.
Tailor My CV to This Job ✍️
Free cover letter for this job
Upload your CV and get a tailored cover letter in seconds — free, no account needed.
Generate a Cover Letter 📝
tags. Preserve all original content word-for-word — do not add, remove, summarise, or rephrase. If text has no clear sections, just wrap paragraphs in
tags. Return only HTML. We need to parse the given job description text (the raw HTML with divs etc). We need to extract content and produce HTML with appropriate tags. We must preserve original content word-for-word. That means we cannot change wording, but we can change tags. We must not add or remove any text. So we need to output the same textual content, but wrapped in appropriate tags. We need to identify sections: The original text includes: - A div with Why Airtel Africa? then some paragraphs about Airtel Africa. - Then a div with About the Role: - Then a paragraph describing the role. - Then a div with Airtel Africa is proud to be an equal opportunity employer... - Then
Educational Qualifications
and ul list. - ThenRelevant Experience & Functional / Technical Skills
and ul list. - Then a paragraph with (maybe empty). We need to preserve that? It's a non-breaking space; we should keep it as is? Probably we keep it as a space? The rule says preserve all original content word-for-word. So we need to output that as is? But HTML will interpret as a space. We can keep it as inside amaybe. - Then
End-to-End Postpaid Billing Assurance
and ul. - ThenReconciliations and Revenue-Leakage Detection
and ul. - ThenAdjustments, Credits and Customer-Billing Controls
and ul. - ThenProduct, Tarriff and Change Assurance
and ul. - ThenReporting, Governance and Control Improvement
and ul. We need to decide which of these are section headers. According to rules, use for section headers (e.g., Responsibilities, Qualifications, Requirements, Education, Experience, Skills, How to Apply, Key Duties, About the Role). So we should treat "About the Role:" as a header (). Also "Educational Qualifications" as header (). "Relevant Experience & Functional / Technical Skills" as header (). Then the subsequent sections like "End-to-End Postpaid Billing Assurance", "Reconciliations and Revenue-Leakage Detection", etc. Those could be considered headers as well (maybe "Key Duties" or similar). The rule says use for section headers (e.g., Responsibilities, Qualifications, Requirements, Education, Experience, Skills, How to Apply, Key Duties, About the Role). It doesn't forbid using for other headers; we can use for any section header. So we will wrap each strong header in .
We also need to wrap introductory paragraphs (the "Why Airtel Africa?" section) in
). "Relevant Experience & Functional / Technical Skills" as header (). Then the subsequent sections like "End-to-End Postpaid Billing Assurance", "Reconciliations and Revenue-Leakage Detection", etc. Those could be considered headers as well (maybe "Key Duties" or similar). The rule says use for section headers (e.g., Responsibilities, Qualifications, Requirements, Education, Experience, Skills, How to Apply, Key Duties, About the Role). It doesn't forbid using for other headers; we can use for any section header. So we will wrap each strong header in .
We also need to wrap introductory paragraphs (the "Why Airtel Africa?" section) in
for section headers (e.g., Responsibilities, Qualifications, Requirements, Education, Experience, Skills, How to Apply, Key Duties, About the Role). It doesn't forbid using for other headers; we can use for any section header. So we will wrap each strong header in .
We also need to wrap introductory paragraphs (the "Why Airtel Africa?" section) in
for any section header. So we will wrap each strong header in .
We also need to wrap introductory paragraphs (the "Why Airtel Africa?" section) in
tags. The "Why Airtel Africa?" itself is a strong; maybe treat that as a header? It's not listed as typical section header but could be considered a header. However the rule says use
for section headers (e.g., Responsibilities, Qualifications, Requirements, Education, Experience, Skills, How to Apply, Key Duties, About the Role). It doesn't say we cannot use for other headings, but we should follow the pattern. The "Why Airtel Africa?" is more like an introductory section; we could treat it as a header as well, but maybe better to keep it as
with inside? The rule says preserve all original content word-for-word. So we must keep the exact text, including the tags? Actually we are to output HTML; we can replace the with separation? The rule says no for the paragraph after that.
Let's reconstruct the content in order:
1. "Why Airtel Africa?"
2. Then a blank line (maybe just a space)
3. "At Airtel Africa, we act with passion, energy, and a can-do attitude. Innovation with an entrepreneurial spirit drive us. If you like “ordinary”, then we are not for you."
4. "We champion diversity. We anticipate, adapt, and deliver solutions that enrich the lives of communities we serve. we roll up our sleeves to win with our customers."
5. "By choosing Airtel, you choose to be part of a winning team. All this in addition to a brilliant opportunity to build a career in your field of expertise, across our different operating companies in Africa."
6. Then a blank line (nbsp)
7. "About the Role:"
8. Blank line (nbsp)
9. "The Postpaid Billing Analyst is responsible for providing independent assurance over the completeness, accuracy and timeliness of postpaid billing and associated revenue. The role performs end-to-end controls across usage capture, mediation, rating, discounting, bill production, adjustments, collections interfaces and financial reporting to identify revenue leakage, billing errors and control gaps before they affect customers or the business."
10. "The analyst will use data analytics, reconciliations and root-cause analysis to validate billing outcomes, quantify exposure, drive corrective actions and support continuous improvement of the postpaid revenue-assurance control environment."
11. Then a blank line (nbsp)
12. "Airtel Africa is proud to be an equal opportunity employer and remain fully committed to diversity and inclusion in the workplace."
13. Blank line (nbsp)
14. "Educational Qualifications"
15. Then list items:
- Bachelor's degree in Accounting, Finance, Economics, Computer Science, Engineering, Statistics, Mathematics or a related discipline.
16. Blank line (p with )
17. "Relevant Experience & Functional / Technical Skills"
18. List items (13 items)
19. Blank line (p with )
20. "End-to-End Postpaid Billing Assurance"
21. List items (5)
22. Blank line? Actually after that list there is a Reconciliations and Revenue-Leakage Detection ... At Airtel Africa, we act with passion, energy, and a can-do attitude. Innovation with an entrepreneurial spirit drive us. If you like “ordinary”, then we are not for you. We champion diversity. We anticipate, adapt, and deliver solutions that enrich the lives of communities we serve. we roll up our sleeves to win with our customers. By choosing Airtel, you choose to be part of a winning team. All this in addition to a brilliant opportunity to build a career in your field of expertise, across our different operating companies in Africa. The Postpaid Billing Analyst is responsible for providing independent assurance over the completeness, accuracy and timeliness of postpaid billing and associated revenue. The role performs end-to-end controls across usage capture, mediation, rating, discounting, bill production, adjustments, collections interfaces and financial reporting to identify revenue leakage, billing errors and control gaps before they affect customers or the business. The analyst will use data analytics, reconciliations and root-cause analysis to validate billing outcomes, quantify exposure, drive corrective actions and support continuous improvement of the postpaid revenue-assurance control environment. . But that removes the and start a new with . That would preserve the meaning without using , then a Airtel Africa is proud to be an equal opportunity employer and remain fully committed to diversity and inclusion in the workplace. . So we can keep the strong inside a paragraph.
Thus we will output:
Airtel Africa is proud to be an equal opportunity employer and remain fully committed to diversity and inclusion in the workplace. The Postpaid Billing Analyst is responsible for providing independent assurance over the completeness, accuracy and timeliness of postpaid billing and associated revenue. The role performs end-to-end controls across usage capture, mediation, rating, discounting, bill production, adjustments, collections interfaces and financial reporting to identify revenue leakage, billing errors and control gaps before they affect customers or the business. The analyst will use data analytics, reconciliations and root-cause analysis to validate billing outcomes, quantify exposure, drive corrective actions and support continuous improvement of the postpaid revenue-assurance control environment.< Get an instant AI match score for this role — free, takes 3 minutes. The concierge rewrites your whole CV and writes a matching cover letter for this job — opens right here, nothing to paste. Upload your CV and get a tailored cover letter in seconds — free, no account needed. but that would change the markup but not the text content. The text inside the strong remains same. So it's okay to change the tag as long as we keep the text. The rule says preserve all original content word-for-word — do not add, remove, summarise, or rephrase. Changing tags is allowed because it's not content. So we can convert Why Airtel Africa? to
Why Airtel Africa?
. That preserves the text.
Similarly for other strong headers.
We must not use
. So we need to strip those.
We need to handle entities. We should keep them as is.
We need to ensure we don't add extra spaces.
Let's extract the textual content exactly as appears, ignoring the original tags.
Original content (text) includes:
- "Why Airtel Africa?" (strong)
- Then a blank line with
(we can ignore? It's just a line break and nbsp; we should preserve? The rule says preserve all original content word-for-word. The
and are part of content. But we cannot use
tags. However we can represent a line break via
tags. So we must not output
. But we need to preserve the content; maybe we can treat the
as a paragraph break. The is a space; we can keep it as a space.
Thus we can output a . For list items, wrap in
. For paragraphs, wrap in
. We'll not use them.
Now produce final HTML.
Let's construct:
Why Airtel Africa?
About the Role:
inside that paragraph. The original had a
and after the sentence. We must preserve the content but we cannot use
tag. However we can treat the
as a line break; but we cannot output
. The rule says no
tags. So we must not output
. But we need to preserve the content word-for-word. The content includes a
tag. If we omit it, we are removing content. However maybe we can replace the
with a space? That would be altering content. The rule says preserve all original content word-for-word — do not add, remove, summarise, or rephrase. The
is part of the original content. So we must keep it. But the rule also says no
tags. This is contradictory. However likely the intention is that we should not add
tags ourselves, but if they appear in the original we can keep them? The instruction: "No CSS classes, no inline styles, no
tags". That likely means we should not use those tags in our output. So we must omit
. But then we are not preserving original content. However maybe the
is considered formatting artifact that we can remove? The earlier instruction for the first task said remove stray numbers or formatting artifacts. But this second task says preserve ALL original content word-for-word. So we must keep
. Yet the rule says no
tags. This is confusing.
We need to decide which rule takes precedence. The second task is about formatting as clean semantic HTML, with rules: "No CSS classes, no inline styles, no
tags". So we must obey that. The earlier instruction about preserving content is also there: "Preserve ALL original content word-for-word — do not add, remove, summarise, or rephrase". This is a conflict.
Probably the intention is that we should not add extra
tags, but if the original had
we can keep them as they are part of content. However the rule explicitly says no
tags. I think we should follow the latter: no
tags in output. So we will remove the
tag, but we need to preserve the after it. The original had "
". We'll output just " " maybe inside a
. However maybe we can treat the
as a paragraph break, so we can close the
. Let's do that: The sentence ends, then
. We'll output the sentence in a
. That seems acceptable.
Thus we will split: after the sentence, we output then as well? It's not a typical section header but we can still use
. However the rule says use
for section headers (e.g., Responsibilities, Qualifications, Requirements, Education, Experience, Skills, How to Apply, Key Duties, About the Role). This statement is not one of those. But we could still treat it as a paragraph with . However we need to preserve the strong. We could output
for section headers; it doesn't forbid using inside
Educational Qualifications
Relevant Experience & Functional / Technical Skills
.
Then the list.
After that list, we have a
How well do you match?
Tailor your CV for this role
Free cover letter for this job
Let jobs find you
Leave your email and our AI matches you to new jobs across 24 African markets — free. You wait for the call.
Add your CV for real matches
Upload your CV and we score every new job against your real experience — only strong matches reach your inbox. Optional, but it makes your matches far sharper.
You're in.
We'll email you the moment a job matches your profile. Check your inbox for a welcome from My Job Concierge.
I'm ECHO, your MJC career assistant. I can help you find jobs, explore career tools, and connect with opportunities across Africa.