OL

Finance Manager-Reporting

Full-time Blantyre, MW
Posted 2 weeks, 6 days ago 67 views 0 applications

Job Description

We need to output clean semantic HTML with

,

for section headers,
  • for list items. No CSS classes, no inline styles, no
    , no
    . Must preserve original content word-for-word, no addition/removal. Must convert the given raw text (which includes HTML tags) into plain text then wrap appropriately. We must extract the job description content, ignoring any HTML tags and formatting, but preserving the text exactly as appears (including punctuation, spaces?). The instruction: "Preserve ALL original content word-for-word — do not add, remove, summarise, or rephrase". That means we must output the same textual content, but we can change tags to semantic HTML. We must not add or remove any words. So we need to take the raw text (the job description) and produce HTML with same words. We need to strip out the given HTML tags and any extra markup, but keep the text content. Then we need to wrap paragraphs in

    , section headers in

    , lists in
    • . Must not add extra text like "Here is". Must not add any extra whitespace? Probably fine. We need to identify sections: Introductory paragraphs before "Job Description". Then "Job Description" heading? In original there is

      Job Description

      . That's a section header. Should become

      Job Description

      . Then following paragraphs: "Old Mutual (Malawi) Ltd is seeking ..." etc. That's introductory paragraph(s). Then there is a heading "

      DUTIES & RESPONSIBILITIES

      " which should become

      DUTIES & RESPONSIBILITIES

      (note the ampersand entity should be kept as "&"? The original text includes "&" which is HTML entity for &. We must preserve original content word-for-word, but we are converting to HTML; we need to output the ampersand as "&" or as "&"? Since we are outputting HTML, we should encode it as "&" to display correctly. However preserving word-for-word might mean we keep the literal characters "&" as they appear in source. But if we output HTML, the browser will interpret "&" as &. That's fine. The instruction: preserve original content word-for-word — do not add, remove, summarise, or rephrase. If we change "&" to "&", that's a change (removing amp;). So we should keep "&" as is. However in HTML, to display an ampersand we need to escape it. But we can keep "&" and it will be displayed as &. That's fine. So we keep the entity. Similarly other sections: "QUALIFICATIONS AND EXPERIENCE", "SKILLS AND PERSONAL ATTRIBUTES", then later there is a stray "Skills", "Competencies", "Balances Stakeholders", etc. Those appear after some weird formatting. We need to treat them as paragraphs? The instruction: If text has no clear sections, just wrap paragraphs in

      . But we have clear sections: DUTIES..., QUALIFICATIONS..., SKILLS..., then later there is "Skills", "Competencies", then a list of competencies each on its own line with

      tags. Those appear to be stray. We must preserve them word-for-word, but we need to decide how to format. They are not clearly section headers; they appear as bold text then empty h3 tags. The original:

      Skills

      ...

      Competencies

      ... Balances Stakeholders

      Builds Effective Teams

      Business Insight

      Collaborates

      Communicates Effectively

      Courage

      Cultivates Innovation

      Ensures Accountability Then later:

      Education

      ...

      Closing Date

      08 September 2026 , 23:59 ... The Old Mutual Story! We need to preserve all that. Thus we need to parse the raw text, strip tags, keep text, then decide how to wrap. Better approach: Extract plain text from the given HTML, preserving order and whitespace? Then we need to reconstruct sections based on recognizable headings. But we must not add or remove any words. So we need to output exactly the same sequence of words and punctuation as in the original text, but with HTML tags replaced by our semantic tags. Thus we need to map original tags to our tags: any

      becomes

      (but we may need to merge consecutive

      with only whitespace? The instruction: preserve all original content word-for-word. If we merge

      tags, we might remove the

      tags themselves, but that's okay because we are replacing them with our own

      tags. However we must not remove any text content. Changing number of

      tags is allowed as long as we don't lose text. The instruction says "Preserve ALL original content word-for-word — do not add, remove, summarise, or rephrase". It doesn't forbid changing tags. So we can re-tag. Thus we need to produce HTML with same textual content. Simplify: We'll extract the textual content (including spaces and line breaks) from the given HTML, then we will wrap it into appropriate semantic tags based on headings we detect. But we must ensure we don't lose any text like extra spaces or line breaks. Probably fine to normalize whitespace? Might be considered removal? Safer to keep line breaks as they appear? But we are not allowed to use
      . We can represent line breaks via

      . So we need to decide paragraph boundaries. Given the complexity, maybe easier: Just output the original text but replace tags with our semantic tags where appropriate, leaving other tags removed. But we must not have any original tags like , , ,

      ,

      , etc. So we need to strip those and keep inner text. Thus we can process: For each element, we output its inner text, and we decide to wrap with

      or

      or
      • based on context. Given time, maybe produce a reasonable HTML that includes all text. Let's extract the text manually from the given snippet. I'll copy the text ignoring tags: Start:

        Lets Write Africa's Story Together!

        -> Text: "Lets Write Africa's Story Together!" (note there is a space after the exclamation inside the span? Actually after
        there is a space before . So text includes a trailing space? We'll keep as "Lets Write Africa's Story Together! " maybe. Next

        Old Mutual is a firm believer in the African opportunity and our diverse talent reflects this.

        -> "Old Mutual is a firm believer in the African opportunity and our diverse talent reflects this." Then three empty

        (empty). Then

        Job Description

        -> "Job Description" Then two empty

        . Then: "Old Mutual (Malawi) Ltd is seeking a highly experienced and commercially astute Finance Manager – Reporting to provide strategic financial leadership and ensure the financial integrity, sustainability, and performance of the Group. Reporting directly to the Group Chief Finance Officer (GCFO), the successful candidate will be responsible for leading financial reporting, budgeting, forecasting, business performance management, treasury oversight, regulatory compliance, risk management, and financial governance across the Group.

        The role serves as a critical link between business operations, actuarial functions, finance teams, and key stakeholders, providing insightful financial analysis and strategic recommendations that support informed decision-making, sustainable growth, value creation, and regulatory compliance." Note there are

        which we should treat as paragraph break? We'll convert to

        . Then empty

        twice. Then heading:

        DUTIES & RESPONSIBILITIES

        -> "DUTIES & RESPONSIBILITIES" Then empty

        . Then list items under that heading: each starts with

        1. Group Financial Reporting and Financial Control

        etc. Actually the heading for each duty is bolded and includes nested tags. The text: "1. G roup Financial Reporting and Financial Control"? Actually there is weird formatting: 1. Group Financial Reporting and Financial Control. So inner text: "1. Group Financial Reporting and Financial Control". The extra around G maybe just bold G. So text: "1. Group Financial Reporting and Financial Control". We'll keep that. Then
        • items. We need to convert those duty headings and their lists into appropriate structure: The heading for each duty could be

          ? But spec says use

          for section headers (e.g. Responsibilities, Qualifications, Requirements, Education, Experience, Skills, How to Apply, Key Duties, About the Role). The duty headings like "1. Group Financial Reporting and Financial Control" are sub-sections under DUTIES & RESPONSIBILITIES. Could treat them as

          as well? The spec didn't forbid using

          for other headings. It 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 that pattern. However we could also wrap them in

          with bold? But we cannot use inline styles or . We cannot keep tags. So we need to represent the bold text without . We could just output the text as is inside

          (no bold). That would lose the bold formatting but preserve text. That's allowed because we are not adding or removing text; we just removed the tags. The instruction says preserve original content word-for-word — do not add, remove, summarise, or rephrase. Removing tags is removing markup, not content. So it's okay. Thus we can output the duty headings as

          (or maybe

          if we consider them section headers). Safer to use

          for duty headings and then

          • for the list items under each. Similarly for qualifications, skills, etc. After the duties list, we have heading:

            QUALIFICATIONS AND EXPERIENCE

            -> "QUALIFICATIONS AND EXPERIENCE". Then a
            • list. Then heading:

              SKILLS AND PERSONAL ATTRIBUTES

              -> "SKILLS AND PERSONAL ATTRIBUTES". Then a
              • list. Then empty

                etc. Then we see:

                na

                -> text "na". Then

                 

                (non-breaking space). Then empty

                . Then

                Skills

                -> "Skills". Then empty paragraphs. Then

                Competencies

                -> "Competencies". Then empty paragraphs. Then the line: "Balances Stakeholders

                Builds Effective Teams

                Business Insight

                Collaborates

                Communicates Effectively

                Courage

                Cultivates Innovation

                Ensures Accountability". This appears as text with interleaved empty

                tags. So the text is: "Balances StakeholdersBuilds Effective TeamsBusiness InsightCollaboratesCommunicates EffectivelyCourageCultivates InnovationEnsures Accountability". Actually there is no space between them because the

                tags are empty, so they don't add spaces. So the raw text concatenates those words directly. We need to preserve that exactly: "Balances StakeholdersBuilds Effective TeamsBusiness InsightCollaboratesCommunicates EffectivelyCourageCultivates InnovationEnsures Accountability". Wait there is a space after "Stakeholders"? In the original: "Balances Stakeholders

                Builds Effective Teams". So after "Stakeholders" there is directly "

                " then "Builds". So no space. So the concatenated string is "Balances StakeholdersBuilds Effective Teams". Actually there is a space between "Balances" and "Stakeholders"? The phrase "Balances Stakeholders" includes a space. So we have "Balances Stakeholders" then immediately "Builds Effective Teams". So result: "Balances StakeholdersBuilds Effective Teams". Similarly after "Teams" there is no space before "Business". So "TeamsBusiness". So final string: "Balances StakeholdersBuilds Effective TeamsBusiness InsightCollaboratesCommunicates EffectivelyCourageCultivates InnovationEnsures Accountability". We must keep that exactly. Then after that, we have empty

                etc. Then

                Education

                -> "Education". Then empty paragraphs. Then

                Closing Date

                -> "Closing Date". Then empty paragraphs. Then "08 September 2026 , 23:59". Note there is a space before comma? Actually "08 September 2026 , 23:59". So we keep that. Then empty

                etc. Then

                The Old Mutual Story!

                -> text: "The Old Mutual Story!" (with italic and bold). We'll output as plain text. Now we need to decide how to wrap into HTML. We'll produce:

                Lets Write Africa's Story Together!

                Old Mutual is a firm believer in the African opportunity and our diverse talent reflects this.

                Job Description

                Old Mutual (Malawi) Ltd is seeking a highly experienced and commercially astute Finance Manager – Reporting to provide strategic financial leadership and ensure the financial integrity, sustainability, and performance of the Group. Reporting directly to the Group Chief Finance Officer (GCFO), the successful candidate will be responsible for leading financial reporting, budgeting, forecasting, business performance management, treasury oversight, regulatory compliance, risk management, and financial governance across the Group.

                The role serves as a critical link between business operations, actuarial functions, finance teams, and key stakeholders, providing insightful financial analysis and strategic recommendations that support informed decision-making, sustainable growth, value creation, and regulatory compliance.

                DUTIES & RESPONSIBILITIES

                1. Group Financial Reporting and Financial Control

                • Lead the end-to-end Group financial reporting and consolidation process, ensuring accurate, complete and timely financial results.
                • Coordinate the preparation of monthly, quarterly, interim and annual financial results for Group management, Board and external reporting purposes.
                • Ensure compliance with IFRS, Group accounting policies, regulatory requirements and applicable financial reporting standards.
                • Review and challenge financial results, accounting treatments, material movements and significant judgements.
                • Ensure the integrity and reliability of financial data across Group entities.
                • Lead the preparation of financial information and management reports for the GCFO, Group Executive Committee, Board and relevant governance committees.
                • Ensure robust financial controls are maintained across Group finance processes.
                • Identify control weaknesses, financial reporting risks and process gaps and drive appropriate remediation.
                • Provide technical accounting guidance and support on complex transactions and financial reporting matters.
                • Coordinate and oversee the resolution of financial reporting issues arising from internal and external audits.

                2. Financial Planning, Budgeting and Forecasting

                • Lead the Group annual budgeting, forecasting and business planning processes.
                • Consolidate and challenge business unit budgets and forecasts to ensure alignment with Group strategic objectives.
                • Develop financial forecasts, scenarios and long-term financial plans to support strategic decision-making.
                • Monitor performance against budgets, forecasts and strategic targets and provide recommendations on significant variances.
                • Assess the financial implications of strategic initiatives, business plans and major investments.
                • Provide forward-looking financial insight to support resource allocation and financial sustainability.

                3. Financial Performance and Strategic Finance

                • Provide strategic financial analysis and insight to the GCFO and senior management on Group performance.
                • Analyse revenue, expenses, profitability, capital utilisation, balance sheet performance and other key financial drivers.
                • Identify financial trends, risks and opportunities and translate them into actionable recommendations.
                • Lead the development of

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 📝

Join Our Malawi Channels

Get free job alerts on your phone

MJC
ECHO
Your MJC Assistant

I'm ECHO, your MJC career assistant. I can help you find jobs, explore career tools, and connect with opportunities across Africa.

How was your experience with ECHO?