AD

Payroll Administrator

Full time Johannesburg - Adcorp Place, ZA
Posted 2 weeks ago 54 views 0 applications

Job Description

Here's a thinking process: 1. **Analyze User Input:** - User is acting as a job listing editor. - I receive raw scraped text from a job website. - Job is to extract ONLY actual job information, return clean, readable format. - Must REMOVE: social sharing, author bylines, "you may also like", navigation, comments, ads/promotions, cookie notices, duplicate text, category labels not part of job, stray numbers/formatting artifacts. - Must KEEP and STRUCTURE: job title, company/name, location, job description/responsibilities, requirements/qualifications, how to apply, salary, deadline/closing date, job ID/reference number, contract type/level. - Return ONLY the cleaned job text. No commentary, no headers like "Here is the cleaned version", no markdown. Wait, the user actually gave me two different prompts in one go? Let me re-read carefully. First prompt: "You are a job listing editor... Return ONLY the cleaned job text. Do not add any commentary, headers like "Here is the cleaned version", or markdown formatting. Just the clean job listing text." But there's no actual job text provided in that first prompt. It just sets the rules. Second prompt: "You receive a plain-text job description. Your ONLY job is to format it as clean semantic HTML." Then there are rules for HTML formatting:

,

,
  • , no CSS classes, no inline styles, no
    , no
    , preserve ALL original content word-for-word, no add/remove/summarize/rephrase, if no clear sections just wrap in

    , return ONLY the HTML. No markdown fences, no explanation, no preamble. Then: "Job description:" followed by the actual job text. So the actual task is: Take the provided job description text, apply the HTML formatting rules, and output ONLY the HTML. Let me carefully examine the job description text provided. It's wrapped in some HTML tags already: `

    Position:

    Payroll Administrator

    ...` etc. But the user says "Job description:" and then gives text. I need to treat this as the raw scraped text to be reformatted according to the rules. Rules for HTML formatting: - Use

    for introductory 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 (duties, requirements, qualifications, skills) - 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 the HTML. No markdown fences, no explanation, no preamble. Important: "Preserve ALL original content word-for-word". So I must include all text exactly as is, but restructure into the semantic HTML tags specified. Let's parse the job description text and identify sections/structure. The text starts with: `

      Position:

      Payroll Administrator

      Job Description:

      ...` Wait, the user says "Job description:" and then provides text that already contains HTML tags like `

      `, ``, ``, `

      `, etc. But the instruction says: "Your ONLY job is to format it as clean semantic HTML." and "No CSS classes, no inline styles, no

      s, no
      tags". Also "Preserve ALL original content word-for-word". This is tricky. The input text already has HTML tags, but I'm supposed to reformat it into clean semantic HTML using only

      ,

      ,
        ,
      • , and no inline styles, no
        , no
        . Also preserve all content word-for-word. I think the intent is: take the raw textual content from the job description, ignoring the existing formatting tags (or perhaps stripping them and re-applying the correct semantic tags). But the rule says "Preserve ALL original content word-for-word — do not add, remove, summarise, or rephrase". So I need to keep all the exact words, but wrap them in the appropriate tags. Let me extract the content flow: Starting from the top: - "Position:" then "Payroll Administrator" - Then some empty

        tags - "Job Description:" then a paragraph about the role - "Location:" then "Johannesburg - Adcorp Place" - "Contract Type:" then "Permanent" - "Minimum Requirements:" then subsections "Experience:" and "Education:" with lists - "Additional Requirements:" then "NA" - "Roles and Responsibilities:" with a long list of li items with spans containing text colored gray (but I need to remove inline styles, so just the text without the style attribute, or strip the tags but keep the text? Rule: "Preserve ALL original content word-for-word". The text contains text that is part of the content. I should keep the text, but the tag with inline style is not allowed. I can either remove the and keep the text, or keep the text without the span. Since inline styles are prohibited, I'll remove the but keep the text inside. But "word-for-word" might mean keep the exact text including any markup? Usually in these tasks, "preserve content" means the textual content, not the formatting markup. The rule says "No CSS classes, no inline styles, no

        s, no
        tags". So I must remove those. I'll keep the text inside, without the span tags, or maybe just the text without the style attribute. I think the safest is to remove the tags entirely and just have the text as a
      • or

        content. But the instruction says "Use

        • for list items (duties, requirements, qualifications, skills)". The responsibilities are already in a
            in the input, but with inside. I need to output
            • with the text, removing the or keeping just the text.) Let's look at the structure carefully. The input text is: ```

              Position:

              Payroll Administrator

              Job Description:

              The Payroll Administrator position is responsible for the input, validation, calculation and general payroll administration of all personnel data in the payroll system. Main responsibility is to collaborate with stakeholders to prepare and run of payrolls. This includes processing of payroll components: Earnings, Company Contributions, Deductions and Fringe benefits; in line with statutory and regulatory requirements.

              Location:

              Johannesburg - Adcorp Place

              Contract Type:

              Permanent

              Minimum Requirements:

              Experience:

              • A minimum of 2 years of hands-on full cycle payroll processing on PaySpace
              • Experience with balancing Statutory deductions and full emp201 rolling into emp501
              • Experience in large volume batch import and ESS workflow management
              • Experience in Audit and check process performed monthly to validate input and balance to journals
              • Experience in Leave provision balancing and knowledge of leave accrual, liability and general BCEA conditions administration in a payroll system
              • Strong knowledge of MS Excel

              Education:

              • Any Payroll Software qualification/ Certification
              • Diploma in Business Administration (ideally with a focus on Human Resources) or equivalent qualification
              • Tax Administration Advantages


               

              Additional Requirements:

              NA

              Roles and Responsibilities:

              • Prepare the payroll input including Hours worked, Overtime, benefit deductions, and subsistence or other ad hoc settlements
              • ... (many more
              • items) ...

              Additional job profiles:

              ``` I need to convert this into clean semantic HTML using only

              ,

              ,
                ,
              • . No inline styles. Preserve all text content word-for-word. Plan: - Strip all existing HTML tags except the text content. - Re-structure into the required semantic tags. - The headings like "Position:", "Job Description:", "Location:", "Contract Type:", "Minimum Requirements:", "Education:", "Experience:", "Additional Requirements:", "Roles and Responsibilities:" should become

                headers? The rule says: "Use

                for section headers (e.g. Responsibilities, Qualifications, Requirements, Education, Experience, Skills, How to Apply, Key Duties, About the Role)". So I should use

                for these section headers. But the original has

                and . I need to replace with

                . However, "Preserve ALL original content word-for-word" - does changing

                to

                count as rephrasing? The content word-for-word refers to the text, not the tag name. I think it's acceptable to change the container tags to the specified ones, as long as the text inside is preserved exactly. The rule says "Use

                for section headers (e.g. Responsibilities, Qualifications, ...)". So I'll use

                for section headers. - For the "Position:" line, it says "Position:" then "Payroll Administrator". That's probably the job title. I'll include it as a heading or introductory text. The rules say "Keep and Structure: Job title, Company/Organisation name, Location, Job description and responsibilities, Requirements/qualifications, How to apply / application instructions, Salary, Deadline/closing date, Job ID/reference number, Contract type/level". But the "Keep and Structure" list is from the first prompt. The second prompt's rules are about HTML formatting. I need to combine both? Actually, the user gave two prompts, but the second one seems to be the actual task, with the job description following. The first prompt is general instructions, the second is specific HTML formatting task. I should follow the second prompt's rules strictly, but also the "Keep and Structure" might be implied to ensure I include those elements. However, the second prompt says "Preserve ALL original content word-for-word — do not add, remove, summarise, or rephrase". So I shouldn't add missing elements like salary, deadline, etc., if they aren't in the text. I should only include what's in the text, formatted as HTML. Let's re-read the second prompt's rules carefully: "- Use

                for introductory 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 (duties, requirements, qualifications, skills) - 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 the HTML. No markdown fences, no explanation, no preamble." So I need to output HTML that uses only

                  ,

                  ,
                    ,
                  • . No other tags. No inline styles. All original text preserved exactly. Let's parse the text and decide on the structure. First, I'll extract all text content in order, ignoring the existing tags, but keeping the text. The text seems to be: "Payroll Administrator" (title) Then some empty paragraphs (which I might omit or include as

                    ? But "Preserve ALL original content word-for-word" - empty paragraphs might be considered content? Probably I should include them as

                    or just skip? The rule says if no clear sections, wrap paragraphs in

                    . But empty paragraphs might just be spacing. I'll try to include all text, but empty ones might be tricky. I'll see.) Then: "Job Description:" followed by text: "The Payroll Administrator position is responsible for the input, validation, calculation and general payroll administration of all personnel data in the payroll system. Main responsibility is to collaborate with stakeholders to prepare and run of payrolls. This includes processing of payroll components: Earnings, Company Contributions, Deductions and Fringe benefits; in line with statutory and regulatory requirements." Then: "Location:" then "Johannesburg - Adcorp Place" Then: "Contract Type:" then "Permanent" Then: "Minimum Requirements:" then "Experience:" then list items "Education:" then list items Then: "Additional Requirements:" then "NA" Then: "Roles and Responsibilities:" then long list of li items with span text. Then: "Additional job profiles:" (but this might be "Additional job profiles:" with bold/underline, but I need to preserve text word-for-word). Let's list all text segments in order, stripping tags: 1. "Payroll Administrator" (from

                    Position:

                    Payroll Administrator) - actually the text is "Position:" then "Payroll Administrator". The "Position:" might be a label. I'll keep "Payroll Administrator" as the job title. But the text includes "Position:" as part of the h2. I need to preserve all original content word-for-word. So I should include "Position:" and "Payroll Administrator". Maybe I'll keep them as is, but formatted. Wait, the instruction: "Preserve ALL original content word-for-word — do not add, remove, summarise, or rephrase". This means I must include every word exactly as it appears, but I can change the markup tags. So if the original has "Position: Payroll Administrator", I need to include both "Position:" and "Payroll Administrator" in the output, but I can wrap them in appropriate tags. Let's go through the input and list all visible text, in order, with their preceding labels if any. Input text (I'll copy and mentally strip tags, but keep text): `

                    Position:

                    Payroll Administrator` -> text: "Position: Payroll Administrator" (but "Position:" is inside , "Payroll Administrator" after). Actually the structure is

                    Position:

                    then Payroll Administrator. So the text "Position:" is underlined in h2, then "Payroll Administrator" is plain text after. I'll treat the combined text as "Position: Payroll Administrator" but need to be careful. Better: I'll parse the input literally. The user gave the job description text as is. I need to output HTML. I'll keep all text exactly as it appears when rendered, but use only

                    ,

                    ,
                      ,
                    • . Let's think differently. Maybe the intent is to take the core job info and format it. But the rule "Preserve ALL original content word-for-word" is strict. I'll assume I need to output every word from the input, in the same order, but wrapped in the allowed tags. Let me copy the input text and try to extract all text nodes: ```

                      Position:

                      Payroll Administrator

                      Job Description:

                      The Payroll Administrator position is responsible for the input, validation, calculation and general payroll administration of all personnel data in the payroll system. Main responsibility is to collaborate with stakeholders to prepare and run of payrolls. This includes processing of payroll components: Earnings, Company Contributions, Deductions and Fringe benefits; in line with statutory and regulatory requirements.

                      Location:

                      Johannesburg - Adcorp Place

                      Contract Type:

                      Permanent

                      Minimum Requirements:

                      Experience:

                      • A minimum of 2 years of hands-on full cycle payroll processing on PaySpace
                      • Experience with balancing Statutory deductions and full emp201 rolling into emp501
                      • Experience in large volume batch

      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 South Africa 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?