PI

Inventory Manager

Full time Pinelands - Western Cape, ZA
Posted 2 weeks, 5 days ago 125 views 0 applications

Job Description

We need to output clean semantic HTML with

,

,
  • . Must preserve all original content word-for-word, no additions, removals, summarizing, rephrasing. So we need to parse the raw text (which includes HTML tags and style attributes). The input is a job description with HTML tags and inline styles. We need to extract the textual content, preserving it exactly, and then format it using semantic HTML tags as per rules. We must not add or remove any content. So we need to keep the exact text (including punctuation, spaces?) but we can reformat into tags. The content includes some HTML tags like

    , , , ,
    etc. We need to strip those and produce plain text content, then wrap in appropriate tags. We must preserve all original content word-for-word. That means we cannot lose any characters from the original textual content. However we can discard the markup tags (like

    , , ,
    ) as they are not content. The content is the text inside those tags. We must ensure we keep spaces and line breaks? Probably we can treat line breaks as spaces or preserve them as separate paragraphs. We need to identify sections: introductory paragraph(s), then "Minimum requirements" heading (bold), then list of requirements, then sections like "Inventory Control & Risk Management", "Merchandising & Stock Availability", "Systems, Reporting & Administration", "People Management & Development". Then closing date line, then italic line, then "Discover who we are". Also there is an initial paragraph: "

    It's fun to work in a company where people truly BELIEVE in what they're doing!

    " plus some empty paragraphs. We need to output HTML with

    for intro paragraphs and general text,

    for section headers,
    • for list items (duties, requirements, qualifications, skills). No CSS classes, no inline styles, no
      , no
      . So we need to decide which parts are lists. The "Minimum requirements" section includes bullet-like lines but they are separated by
      and line breaks. The content:

      Minimum requirements
      Grade 12 /Matric / NQF4 equivalent

      3 years’ experience in inventory control or stock management role
      Strong understanding of stock counts, stock movements and loss prevention

      processes
      Experience working with retail systems and reporting tools (e.g. SAP or similar)
      Proven ability to analyse data and identify root causes of stock variances
      Computer literate (MS Office)

      We need to preserve the text exactly. So we need to output these as list items? The instruction: Use
      • for list items (duties, requirements, qualifications, skills). So we should treat the requirements as a list. However we must preserve the content word-for-word, meaning we cannot change the wording. We can wrap each line in
      • tags, but we must ensure we don't add or remove any characters from the original text. If we split lines, we need to ensure the concatenation of
      • content equals the original lines exactly. The original text includes line breaks indicated by
        . We can treat each line separated by
        as a separate list item. However there are also line breaks due to

        tags. We need to be careful. Let's extract the raw text content from the given HTML, preserving whitespace and line breaks as they appear in the rendered text? The instruction: "Preserve ALL original content word-for-word — do not add, remove, summarise, or rephrase". This likely means we should not change the actual wording, but we can reformat into HTML tags. So we need to output the same textual content, but wrapped in tags. The whitespace (including line breaks) may be considered part of content. However typical HTML collapses whitespace; but we are not to add or remove. Safer to keep line breaks as they appear in the original text (maybe as separate

        tags). But we cannot use
        tags. So we need to represent line breaks via separate

        or

      • elements. Thus we need to parse the original text into logical blocks: paragraphs separated by blank lines (or

        tags). Then for each block, if it's a heading (like bold text indicating a section header), we wrap in

        . For list items, we wrap each line in
      • inside a
          . For general paragraphs, we wrap in

          . We must not add any extra text like "Here is the cleaned version". Just output HTML. Let's extract the textual content from the given snippet. I'll copy the snippet and manually extract. Given:

          It's fun to work in a company where people truly BELIEVE in what they're doing!

          To implement, monitor, and analyse, inventory processes and activities that safeguard the integrity of store stock. This role is key in identifying and reporting financial stock risk exposure, driving actions that positively influence business cash flow and improving stock holding efficiencies. Through accurate reporting, strong controls, and proactive problem-solving, as the Inventory Manager you will ensure optimal stock accuracy, availability, and profitability

          Minimum requirements
          Grade 12 /Matric / NQF4 equivalent

          3 years’ experience in inventory control or stock management role
          Strong understanding of stock counts, stock movements and loss prevention

          processes
          Experience working with retail systems and reporting tools (e.g. SAP or similar)
          Proven ability to analyse data and identify root causes of stock variances
          Computer literate (MS Office)

          Inventory Control & Risk Management
          Execute the full stock count plan, including national, divisional, and ad hoc counts
          Ensure effective exit management controls to minimize stock losses
          Manage dormant, obsolete, and overstock processes to optimize working

          capital
          Analyze stock discrepancies and posting variances and advise store management on corrective actions
          Ensure all stock movement processes are followed accurately, including shop use, reduce-to-clear (RTC), inter-department transfers, inter-branch transfers, and waste
          Merchandising & Stock Availability
          Print, analyze, and interpret daily and weekly stock reports, including in-store category reviews (dormant – weekly), negative stock, and on-shelf availability
          Confirm stock availability by location for dormant, obsolete, and exit stock
          Identify and report deviations from merchandising standards and administrative controls to FAM, Fresh Foods, and/or Store Manager
          Report non-compliance with inventory movement processes and ensure

          corrective action is taken
          Systems, Reporting & Administration
          Verify stock-related reports and system postings with the Store Manager
          Analyse and investigate all operational stock and movement reports
          Plan and coordinate ad hoc stock counts in response to store or operational needs
          Maintain system integrity and ensure accuracy of stock data at all times
          Complete and manage the stock svailability programme on a daily and weekly basis
          People Management & Development
          Coach, supervise, and support inventory and departmental staff on stock control processes
          Build inventory discipline across the store through training and regular feedback
          Promote accountability and adherence to SOPs


          Closing date: Thursday 24 September 2026

          If you like wild growth and working with happy, enthusiastic over-achievers, you'll enjoy your career with us!

          Discover who we are

          We need to extract text nodes. Let's go step by step. First block:

          It's fun to work in a company where people truly BELIEVE in what they're doing!

          Text: "It's fun to work in a company where people truly BELIEVE in what they're doing!" (note the apostrophe is encoded as ' which is an apostrophe). We must preserve the exact characters: It's fun... Actually the original source includes the HTML entity '. The instruction says preserve ALL original content word-for-word. Does that include the HTML entities? The content is the text as presented; but the HTML entity is part of the markup, not the visible text. Usually "content" refers to the visible text after decoding entities. However ambiguous. Safer to keep the entity as is? But we are outputting HTML, so we could keep the entity or decode to actual apostrophe. The instruction: "Preserve ALL original content word-for-word — do not add, remove, summarise, or rephrase". If we decode the entity, we are changing the representation (though the rendered character is same). Might be considered a change. However typical tasks like this expect you to output plain text with proper punctuation, not HTML entities. But they said "word-for-word". I'd lean to keep the actual characters as they appear in the source text after stripping tags, but we need to decide. Given that we are outputting HTML, we can use the actual apostrophe character (') which is equivalent. The original source had ' which is an HTML entity representing apostrophe. If we output a plain apostrophe, it's still the same character; the entity is just a representation. I think it's acceptable. But to be safe, we could keep the entity as is: It's fun... However inside

          tags, the entity will be rendered as apostrophe anyway. The instruction didn't forbid using entities. It said preserve original content word-for-word. If we output the entity, we are preserving the exact sequence of characters: I t &# 3 9 ; s ... That is different from the source? The source had ' exactly. So we could output that. But then inside HTML, the entity will be interpreted as apostrophe when rendered, but that's fine. Given the complexity, I'll output the decoded apostrophe for readability; I think it's fine. Next, there are several empty

          tags. Those contain no text, so we can ignore them (they add no content). So after the first paragraph, we have blank lines. Then we have the paragraph: "To implement, monitor, and analyse, inventory processes and activities that safeguard the integrity of store stock. This role is key in identifying and reporting financial stock risk exposure, driving actions that positively influence business cash flow and improving stock holding efficiencies. Through accurate reporting, strong controls, and proactive problem-solving, as the Inventory Manager you will ensure optimal stock accuracy, availability, and profitability" Note there is a stray

          after that? Actually after that text there is

          (two empty). Then we have the Minimum requirements section. Thus the introductory paragraph is that block. Now Minimum requirements heading:

          Minimum requirements
          Grade 12 /Matric / NQF4 equivalent

          So the heading is "Minimum requirements". Then a line break, then "Grade 12 /Matric / NQF4 equivalent". So we need to treat "Minimum requirements" as a heading (

          ). Then the following lines as list items. But note the structure: The heading and the first list item are in same

          tag, separated by
          . So we need to split. We'll extract: Heading: Minimum requirements List items: - Grade 12 /Matric / NQF4 equivalent - 3 years’ experience in inventory control or stock management role - Strong understanding of stock counts, stock movements and loss prevention - processes (??? Actually the line "processes" appears on its own line? Let's see: after the second line there is "

          processes
          Experience working with retail systems and reporting tools (e.g. SAP or similar)
          Proven ability to analyse data and identify root causes of stock variances
          Computer literate (MS Office)

          " So the text "processes" appears on its own line (maybe it's a continuation of previous line? Actually the previous line ended with "loss prevention

          " then new

          starts with "processes
          ". So "processes" is a separate line item. It seems like the original formatting had a line break after "loss prevention" and then the word "processes" on its own line, then the next lines. Thus list items: 1. Grade 12 /Matric / NQF4 equivalent 2. 3 years’ experience in inventory control or stock management role 3. Strong understanding of stock counts, stock movements and loss prevention 4. processes 5. Experience working with retail systems and reporting tools (e.g. SAP or similar) 6. Proven ability to analyse data and identify root causes of stock variances 7. Computer literate (MS Office) We must preserve each line exactly as appears, including any trailing spaces? We'll ignore spaces. Now after that, there are empty

          tags. Then we have a section: "

          Inventory Control & Risk Management
          Execute the full stock count plan, including national, divisional, and ad hoc counts
          Ensure effective exit management controls to minimize stock losses
          Manage dormant, obsolete, and overstock processes to optimize working

          capital
          Analyze stock discrepancies and posting variances and advise store management on corrective actions
          Ensure all stock movement processes are followed accurately, including shop use, reduce-to-clear (RTC), inter-department transfers, inter-branch transfers, and waste
          Merchandising & Stock Availability
          Print, analyze, and interpret daily and weekly stock reports, including in-store category reviews (dormant – weekly), negative stock, and on-shelf availability
          Confirm stock availability by location for dormant, obsolete, and exit stock
          Identify and report deviations from merchandising standards and administrative controls to FAM, Fresh Foods, and/or Store Manager
          Report non-compliance with inventory movement processes and ensure

          corrective action is taken
          Systems, Reporting & Administration
          Verify stock-related reports and system postings with the Store Manager
          Analyse and investigate all operational stock and movement reports
          Plan and coordinate ad hoc stock counts in response to store or operational needs
          Maintain system integrity and ensure accuracy of stock data at all times
          Complete and manage the stock svailability programme on a daily and weekly basis
          People Management & Development
          Coach, supervise, and support inventory and departmental staff on stock control processes
          Build inventory discipline across the store through training and regular feedback
          Promote accountability and adherence to SOPs


          " We need to parse this. We see there are headings: "Inventory Control & Risk Management", "Merchandising & Stock Availability", "Systems, Reporting & Administration", "People Management & Development". Each heading is bolded and followed by a
          then list items. But note the heading "Inventory Control & Risk Management" appears inside a

          tag with a
          after it, then lines. Then after some lines, there is a line that ends with "

          capital
          ". So the word "capital" appears on its own line after a line break? Actually the line before: "Manage dormant, obsolete, and overstock processes to optimize working

          capital
          ". So the phrase "optimize working" then line break, then "

          " then new

          starts with "capital
          ". So the line "capital" is a separate list item? It seems like the original text had a line break after "working" and then the word "capital" on its own line, then a
          after it. So we need to treat "capital" as a list item. Similarly later there is "

          corrective action is taken
          ". So after a line "Report non-compliance with inventory movement processes and ensure" then line break, then "

          corrective action is taken
          ". So "corrective action is taken" is a list item. Thus we need to parse each line separated by
          or by

          (which indicates a paragraph break). But we should treat each distinct line as a list item under the appropriate heading. Let's extract the text under each heading. We'll go through the segment: Start:

          Inventory Control & Risk Management
          Execute the full stock count plan, including national, divisional, and ad hoc counts
          Ensure effective exit management controls to minimize stock losses
          Manage dormant, obsolete, and overstock processes to optimize working

          capital
          Analyze stock discrepancies and posting variances and advise store management on corrective actions
          Ensure all stock movement processes are followed accurately, including shop use, reduce-to-clear (RTC), inter-department transfers, inter-branch transfers, and waste
          Merchandising & Stock Availability
          Print, analyze, and interpret daily and weekly stock reports, including in-store category reviews (dormant – weekly), negative stock, and on-shelf availability
          Confirm stock availability by location for dormant, obsolete, and exit stock
          Identify and report deviations from merchandising standards and administrative controls to FAM, Fresh Foods, and/or Store Manager
          Report non-compliance with

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 📝
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?