<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Duaer Team</title>
    <description>The latest articles on DEV Community by Duaer Team (@duaerteam).</description>
    <link>https://dev.to/duaerteam</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4167742%2F192a8190-11dc-41ed-9e0c-7bc8dbad7ea5.png</url>
      <title>DEV Community: Duaer Team</title>
      <link>https://dev.to/duaerteam</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/duaerteam"/>
    <language>en</language>
    <item>
      <title>How to Capture Tribal Knowledge Before You Need It: A Register, a Backup Person, and a 20-Minute Interview</title>
      <dc:creator>Duaer Team</dc:creator>
      <pubDate>Thu, 15 Oct 2026 03:23:11 +0000</pubDate>
      <link>https://dev.to/duaerteam/how-to-capture-tribal-knowledge-before-you-need-it-a-register-a-backup-person-and-a-20-minute-4533</link>
      <guid>https://dev.to/duaerteam/how-to-capture-tribal-knowledge-before-you-need-it-a-register-a-backup-person-and-a-20-minute-4533</guid>
      <description>&lt;p&gt;This article is AI-generated.&lt;/p&gt;

&lt;p&gt;Every team has things that only one or two people know. How to restart the label printer when it jams. Which customer needs certificates in a particular format. Why a step in the month-end process is done in that odd order. None of it is written down because it never seemed worth writing down, until the person who knows is on holiday, off sick, or gone.&lt;/p&gt;

&lt;p&gt;The usual advice is "document everything," which is why it rarely happens. This guide takes a narrower approach: find out &lt;strong&gt;what&lt;/strong&gt; only one person knows, decide &lt;strong&gt;which&lt;/strong&gt; of it matters, and capture it in short, repeatable sessions.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 1: Ask the right question to find it
&lt;/h2&gt;

&lt;p&gt;Tribal knowledge is hard to list because people don't notice they have it. Instead of asking "what do you know?", ask questions that surface it:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;"What do people come to you for that they can't get anywhere else?"&lt;/li&gt;
&lt;li&gt;"If you were away for two weeks, what would go wrong first?"&lt;/li&gt;
&lt;li&gt;"What do you do that isn't in any procedure?"&lt;/li&gt;
&lt;li&gt;"Which questions do new starters ask you most often?"&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Ask these of each team member in a 15-minute conversation. Write each answer as a short topic, for example "Restarting label printer after jam" or "Certificate format for customer X."&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 2: Build a knowledge register
&lt;/h2&gt;

&lt;p&gt;Put the topics into one sheet, one topic per row.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Column&lt;/th&gt;
&lt;th&gt;Content&lt;/th&gt;
&lt;th&gt;How it's filled&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;A&lt;/td&gt;
&lt;td&gt;Topic&lt;/td&gt;
&lt;td&gt;Manual&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;B&lt;/td&gt;
&lt;td&gt;Who knows&lt;/td&gt;
&lt;td&gt;Manual&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;C&lt;/td&gt;
&lt;td&gt;Backup person&lt;/td&gt;
&lt;td&gt;Manual, can be blank&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;D&lt;/td&gt;
&lt;td&gt;Written down?&lt;/td&gt;
&lt;td&gt;Y or N&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;E&lt;/td&gt;
&lt;td&gt;Last checked&lt;/td&gt;
&lt;td&gt;Date the write-up was last confirmed&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;F&lt;/td&gt;
&lt;td&gt;Status&lt;/td&gt;
&lt;td&gt;Formula&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Illustrative data (placeholders):&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Topic&lt;/th&gt;
&lt;th&gt;Who knows&lt;/th&gt;
&lt;th&gt;Backup&lt;/th&gt;
&lt;th&gt;Written?&lt;/th&gt;
&lt;th&gt;Last checked&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;t1&lt;/td&gt;
&lt;td&gt;Ana&lt;/td&gt;
&lt;td&gt;Raj&lt;/td&gt;
&lt;td&gt;Y&lt;/td&gt;
&lt;td&gt;2026-08-01&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;t2&lt;/td&gt;
&lt;td&gt;Ben&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;N&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;t3&lt;/td&gt;
&lt;td&gt;Cy&lt;/td&gt;
&lt;td&gt;Dee&lt;/td&gt;
&lt;td&gt;N&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;t4&lt;/td&gt;
&lt;td&gt;Ana&lt;/td&gt;
&lt;td&gt;Ben&lt;/td&gt;
&lt;td&gt;Y&lt;/td&gt;
&lt;td&gt;2025-12-01&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Status (F2)&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;=IF(D2="Y",IF(TODAY()-E2&amp;gt;180,"STALE","COVERED"),IF(C2="","SINGLE POINT","AT RISK"))
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;SINGLE POINT:&lt;/strong&gt; not written down and nobody else knows it. Highest priority.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AT RISK:&lt;/strong&gt; not written down, but at least a second person knows it.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;STALE:&lt;/strong&gt; written down, but nobody has confirmed it in six months. Processes drift; old notes can be worse than none.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;COVERED:&lt;/strong&gt; written and recently checked.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;With 2026-10-15 as today, t1 is COVERED, t2 is SINGLE POINT, t3 is AT RISK, and t4 is STALE because its last check was more than 180 days ago. Change 180 to suit how fast your processes change.&lt;/p&gt;

&lt;p&gt;Count the most urgent rows with:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;=COUNTIF(F:F,"SINGLE POINT")
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Step 3: Prioritise
&lt;/h2&gt;

&lt;p&gt;You won't capture everything, and you don't need to. Add a column for impact, a simple 1–3, and ask: if nobody could do this tomorrow, how bad would it be? Start with SINGLE POINT rows that score 3. A team that captures its top ten topics has done more than one that writes a hundred-page manual nobody reads.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 4: Run a 20-minute capture interview
&lt;/h2&gt;

&lt;p&gt;Experts are usually busy, and asking them to "write it up" tends to stall. Instead, have someone else interview them and do the writing. A structure that works:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;When does this come up?&lt;/strong&gt; (2 minutes) What triggers the task or question.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Walk me through the last time.&lt;/strong&gt; (8 minutes) Concrete steps, in order. Ask "then what?" repeatedly.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;What goes wrong?&lt;/strong&gt; (5 minutes) Common mistakes, warning signs, and what to do about them.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Who else is involved?&lt;/strong&gt; (3 minutes) People, systems, and files you need.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;What would you tell someone doing it for the first time?&lt;/strong&gt; (2 minutes) This often surfaces the most useful line in the whole note.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The interviewer writes it up the same day, keeping it short: a title, when it applies, numbered steps, and a "watch out for" section. The expert reviews it, then the register is updated: D becomes Y and E gets today's date.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 5: Turn a backup into a real backup
&lt;/h2&gt;

&lt;p&gt;Writing something down is half the job. For SINGLE POINT and AT RISK topics, name a backup person and have them do the task once, using the write-up, while the expert watches. Anything they get stuck on goes back into the note. Then put the backup's name in column C.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 6: Keep it alive
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Quarterly:&lt;/strong&gt; filter for STALE and ask the person who knows to confirm or update each note.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;When someone changes role or gives notice:&lt;/strong&gt; filter the register by their name. Every row where they are the only person who knows becomes this month's priority.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;When a new starter asks a question twice:&lt;/strong&gt; check whether it should be a topic in the register.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Common questions
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Where should the write-ups live?&lt;/strong&gt; Wherever your team already looks for documents. A note in a place nobody visits is still tribal knowledge.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What about knowledge that's hard to write down, like judgment calls?&lt;/strong&gt; Capture the examples. "Last time we saw X we did Y because Z" is far more useful than an abstract rule.&lt;/p&gt;

&lt;p&gt;Start with the register and one interview this week. The first SINGLE POINT you close is the one you won't be scrambling for later.&lt;/p&gt;

</description>
      <category>productivity</category>
      <category>knowledgemanagement</category>
      <category>documentation</category>
      <category>management</category>
    </item>
    <item>
      <title>Knowledge transfer when contractors rotate out: track what only they know before their end date</title>
      <dc:creator>Duaer Team</dc:creator>
      <pubDate>Thu, 15 Oct 2026 01:08:01 +0000</pubDate>
      <link>https://dev.to/duaerteam/knowledge-transfer-when-contractors-rotate-out-track-what-only-they-know-before-their-end-date-1heb</link>
      <guid>https://dev.to/duaerteam/knowledge-transfer-when-contractors-rotate-out-track-what-only-they-know-before-their-end-date-1heb</guid>
      <description>&lt;p&gt;This article is AI-generated.&lt;/p&gt;

&lt;p&gt;A commenter on Hacker News put it plainly: "Even with the best documentation people will build up knowledge that no one has, and their departure is costly."&lt;/p&gt;

&lt;p&gt;With employees, there's usually a notice period and some kind of handover routine. Contractors are different. Their end date is in a contract that sits with procurement or finance, the team lead finds out two weeks before, and the handover becomes a rushed call on the last afternoon. Then the contractor's knowledge of why the pipeline is built that way, which customer needs the special export, or what to do when the overnight job fails leaves with them.&lt;/p&gt;

&lt;p&gt;This guide shows a simple tracker for teams that rely on rotating contractors: one row per contractor, their end date, a named successor, and a count of knowledge items listed, written up and confirmed. Two formulas tell you who's at risk of leaving with gaps.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why contractor handovers go wrong
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;End dates are invisible to the team.&lt;/strong&gt; The date is known, just not by the people who need to plan the handover.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;No successor is named.&lt;/strong&gt; "The team" will pick it up, which means nobody.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Documentation is measured by volume, not coverage.&lt;/strong&gt; A 40-page wiki can still miss the three things that actually break.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Nobody checks the successor can do it.&lt;/strong&gt; Writing something down isn't the same as someone else being able to use it.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Step 1: Pull end dates into one place
&lt;/h2&gt;

&lt;p&gt;Ask whoever holds contractor agreements for a list of current contractors and end dates, including any extension decisions pending. Put them in a sheet the team lead can see. If an extension is likely but not signed, keep the current end date; plan for the date you actually have.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 2: Build the tracker
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Column&lt;/th&gt;
&lt;th&gt;What goes in it&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;A Contractor&lt;/td&gt;
&lt;td&gt;Name or placeholder&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;B Area&lt;/td&gt;
&lt;td&gt;What they own: "Data pipeline", "Network", "Billing scripts"&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;C End date&lt;/td&gt;
&lt;td&gt;From the contract list&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;D Successor&lt;/td&gt;
&lt;td&gt;One named person&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;E Items listed&lt;/td&gt;
&lt;td&gt;Number of knowledge items on their list (see Step 3)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;F Items written up&lt;/td&gt;
&lt;td&gt;How many have a written note&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;G Items confirmed&lt;/td&gt;
&lt;td&gt;How many the successor has done or explained back&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;H Coverage&lt;/td&gt;
&lt;td&gt;Formula&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;I Status&lt;/td&gt;
&lt;td&gt;Formula&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;H2, coverage:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;=IF(E2=0,"",G2/E2)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Format as a percentage. Note it uses confirmed items, not written ones.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;I2, status:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;=IF(D2="","NO SUCCESSOR",IF(E2=0,"NO LIST",IF(G2&amp;gt;=E2,"DONE",IF(C2&amp;lt;TODAY(),"LEFT WITH GAPS",IF(C2-TODAY()&amp;lt;=14,"AT RISK","IN PROGRESS")))))
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The order is deliberate: without a successor nothing else matters; without a list you can't measure anything; once every item is confirmed you're done regardless of dates; otherwise the end date decides how urgent it is. The 14-day window is a starting point; use whatever fits how long your handovers take.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Illustrative example (assume today is 15 October 2026):&lt;/strong&gt;&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Contractor&lt;/th&gt;
&lt;th&gt;Area&lt;/th&gt;
&lt;th&gt;End date&lt;/th&gt;
&lt;th&gt;Successor&lt;/th&gt;
&lt;th&gt;Listed / written / confirmed&lt;/th&gt;
&lt;th&gt;Coverage&lt;/th&gt;
&lt;th&gt;Status&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Contractor A&lt;/td&gt;
&lt;td&gt;Data pipeline&lt;/td&gt;
&lt;td&gt;2026-10-22&lt;/td&gt;
&lt;td&gt;Employee B&lt;/td&gt;
&lt;td&gt;12 / 9 / 5&lt;/td&gt;
&lt;td&gt;42%&lt;/td&gt;
&lt;td&gt;AT RISK&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Contractor C&lt;/td&gt;
&lt;td&gt;Network&lt;/td&gt;
&lt;td&gt;2026-10-10&lt;/td&gt;
&lt;td&gt;Employee D&lt;/td&gt;
&lt;td&gt;8 / 8 / 6&lt;/td&gt;
&lt;td&gt;75%&lt;/td&gt;
&lt;td&gt;LEFT WITH GAPS&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Contractor E&lt;/td&gt;
&lt;td&gt;Billing scripts&lt;/td&gt;
&lt;td&gt;2026-12-01&lt;/td&gt;
&lt;td&gt;(blank)&lt;/td&gt;
&lt;td&gt;0 / 0 / 0&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;NO SUCCESSOR&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Contractor F&lt;/td&gt;
&lt;td&gt;Reporting&lt;/td&gt;
&lt;td&gt;2026-10-09&lt;/td&gt;
&lt;td&gt;Employee G&lt;/td&gt;
&lt;td&gt;6 / 6 / 6&lt;/td&gt;
&lt;td&gt;100%&lt;/td&gt;
&lt;td&gt;DONE&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Contractor H&lt;/td&gt;
&lt;td&gt;Integrations&lt;/td&gt;
&lt;td&gt;2026-11-20&lt;/td&gt;
&lt;td&gt;Employee B&lt;/td&gt;
&lt;td&gt;5 / 1 / 0&lt;/td&gt;
&lt;td&gt;0%&lt;/td&gt;
&lt;td&gt;IN PROGRESS&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Contractor C is the useful lesson: everything was written up, but two items were never confirmed by the successor, and the contractor has already gone.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 3: Build the knowledge list with the contractor
&lt;/h2&gt;

&lt;p&gt;The list is the core of this. Sit down with the contractor early (four to six weeks before the end date if you can) and go through:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Things that break and how they fix them.&lt;/strong&gt; Ask: "What have you fixed more than once?"&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Things only they do.&lt;/strong&gt; Scheduled jobs, manual steps, monthly fixes.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Why decisions were made.&lt;/strong&gt; The odd configuration that looks wrong but isn't.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Who they talk to.&lt;/strong&gt; People in other teams or at vendors, and about what.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Where things live.&lt;/strong&gt; Repos, folders, dashboards: the file name and location for each.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Each becomes one item. Keep items small enough that someone can confirm them in one sitting.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 4: Confirm, don't just collect
&lt;/h2&gt;

&lt;p&gt;An item counts as confirmed when the successor has either done the task with the contractor watching, or explained it back without notes. Then the written note gets updated with anything that came up.&lt;/p&gt;

&lt;p&gt;Book short sessions, one or two items each, spread across the remaining weeks. Update columns F and G after each one.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 5: Review weekly
&lt;/h2&gt;

&lt;p&gt;Once a week, sort by status. NO SUCCESSOR and AT RISK go to whoever can assign people or extend the contract. LEFT WITH GAPS means writing down what the successor still needs and, where agreements allow, arranging a short follow-up call with the former contractor. Whether follow-up after the end date is possible depends on the contract; ask whoever manages contractor agreements.&lt;/p&gt;

&lt;h2&gt;
  
  
  Common questions
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;What if the contractor is extended?&lt;/strong&gt;&lt;br&gt;
Update the end date and keep going. Coverage never hurts.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What if there are dozens of contractors?&lt;/strong&gt;&lt;br&gt;
Start with the ones whose end date is within 60 days, and the ones who own something nobody else understands.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Isn't this the contractor's job?&lt;/strong&gt;&lt;br&gt;
Writing notes, yes. Making sure someone can use them belongs to the team that stays.&lt;/p&gt;

&lt;h2&gt;
  
  
  Wrapping up
&lt;/h2&gt;

&lt;p&gt;Contractor knowledge loss is predictable because end dates are known in advance. One tracker with end dates, named successors and confirmed coverage turns a last-day scramble into a few weeks of short sessions, and it shows early which handovers are at risk.&lt;/p&gt;

</description>
      <category>productivity</category>
      <category>knowledgemanagement</category>
      <category>management</category>
    </item>
    <item>
      <title>How to follow up on action items: when to nudge, when to escalate, and how to close the loop</title>
      <dc:creator>Duaer Team</dc:creator>
      <pubDate>Wed, 14 Oct 2026 01:11:11 +0000</pubDate>
      <link>https://dev.to/duaerteam/how-to-follow-up-on-action-items-when-to-nudge-when-to-escalate-and-how-to-close-the-loop-28k8</link>
      <guid>https://dev.to/duaerteam/how-to-follow-up-on-action-items-when-to-nudge-when-to-escalate-and-how-to-close-the-loop-28k8</guid>
      <description>&lt;p&gt;This article is AI-generated.&lt;/p&gt;

&lt;p&gt;The tracker is usually not the problem. Most teams have somewhere the action items live. What goes wrong is the bit between meetings: nobody is sure when it's polite to nudge, so nobody does; overdue items get raised once and then forgotten; and items that were quietly finished never get marked done, so the list stops being believable.&lt;/p&gt;

&lt;p&gt;This article is about the follow-up routine, not the tracker layout. It covers a simple rule for when to nudge, when to escalate, and how to close items properly, plus one formula that tells you which of the three to do for each row today. The day counts are illustrative; pick the ones that suit your team. Names are placeholders.&lt;/p&gt;

&lt;h2&gt;
  
  
  The minimum columns
&lt;/h2&gt;

&lt;p&gt;You only need six columns for the routine to work:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Column&lt;/th&gt;
&lt;th&gt;Field&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;A&lt;/td&gt;
&lt;td&gt;Action (written as something you can check)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;B&lt;/td&gt;
&lt;td&gt;Owner (one person)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;C&lt;/td&gt;
&lt;td&gt;Due date&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;D&lt;/td&gt;
&lt;td&gt;Status: Open / In progress / Done / Dropped&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;E&lt;/td&gt;
&lt;td&gt;Done on&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;F&lt;/td&gt;
&lt;td&gt;Last nudged&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The column people skip is &lt;strong&gt;Last nudged&lt;/strong&gt;. Without it, you can't tell whether you're about to nudge someone for the first time or the fourth.&lt;/p&gt;

&lt;h2&gt;
  
  
  The rule
&lt;/h2&gt;

&lt;p&gt;Here's an example rule (adjust the numbers):&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;One working day before due:&lt;/strong&gt; a heads-up to the owner. Short, no pressure.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Overdue:&lt;/strong&gt; a nudge, then wait 3 days before nudging again.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;7 days overdue:&lt;/strong&gt; escalate. Raise it with the person who set the priority, or put it on the next meeting's agenda by name.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Done without a date:&lt;/strong&gt; ask the owner to add the date. An item isn't closed until it says when.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;No owner or no due date:&lt;/strong&gt; fix that first. You can't follow up on an item that belongs to nobody.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  One formula for "what do I do today?"
&lt;/h2&gt;

&lt;p&gt;G2:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;=IF(D2="Dropped","",IF(D2="Done",IF(E2="","DONE - ADD DATE",""),IF(B2="","NO OWNER",IF(C2="","NO DUE DATE",IF(TODAY()-C2&amp;gt;=7,"ESCALATE",IF(C2&amp;lt;TODAY(),IF(OR(F2="",TODAY()-F2&amp;gt;=3),"NUDGE","WAIT"),IF(C2-TODAY()&amp;lt;=1,"HEADS-UP","")))))))
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;We ran it in LibreOffice with today set to 2026-10-14, covering the awkward cases:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Action&lt;/th&gt;
&lt;th&gt;Owner&lt;/th&gt;
&lt;th&gt;Due&lt;/th&gt;
&lt;th&gt;Status&lt;/th&gt;
&lt;th&gt;Done on&lt;/th&gt;
&lt;th&gt;Last nudged&lt;/th&gt;
&lt;th&gt;Next step&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Send revised layout&lt;/td&gt;
&lt;td&gt;Owner A&lt;/td&gt;
&lt;td&gt;2026-10-15&lt;/td&gt;
&lt;td&gt;Open&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;HEADS-UP&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Book supplier visit&lt;/td&gt;
&lt;td&gt;Owner B&lt;/td&gt;
&lt;td&gt;2026-10-10&lt;/td&gt;
&lt;td&gt;In progress&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;NUDGE&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Update training slides&lt;/td&gt;
&lt;td&gt;Owner B&lt;/td&gt;
&lt;td&gt;2026-10-10&lt;/td&gt;
&lt;td&gt;In progress&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;2026-10-13&lt;/td&gt;
&lt;td&gt;WAIT&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Confirm spare parts list&lt;/td&gt;
&lt;td&gt;Owner C&lt;/td&gt;
&lt;td&gt;2026-10-01&lt;/td&gt;
&lt;td&gt;Open&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;2026-10-13&lt;/td&gt;
&lt;td&gt;ESCALATE&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Share site photos&lt;/td&gt;
&lt;td&gt;Owner A&lt;/td&gt;
&lt;td&gt;2026-10-09&lt;/td&gt;
&lt;td&gt;Done&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;DONE - ADD DATE&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Circulate notes&lt;/td&gt;
&lt;td&gt;Owner A&lt;/td&gt;
&lt;td&gt;2026-10-09&lt;/td&gt;
&lt;td&gt;Done&lt;/td&gt;
&lt;td&gt;2026-10-09&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;(blank)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Review layout options&lt;/td&gt;
&lt;td&gt;Owner C&lt;/td&gt;
&lt;td&gt;(blank)&lt;/td&gt;
&lt;td&gt;Open&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;NO DUE DATE&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Draft visitor rules&lt;/td&gt;
&lt;td&gt;(blank)&lt;/td&gt;
&lt;td&gt;2026-10-20&lt;/td&gt;
&lt;td&gt;Open&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;NO OWNER&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Old request&lt;/td&gt;
&lt;td&gt;Owner C&lt;/td&gt;
&lt;td&gt;2026-10-01&lt;/td&gt;
&lt;td&gt;Dropped&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;(blank)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;(Illustrative data.)&lt;/p&gt;

&lt;p&gt;"In progress" doesn't stop an item counting as overdue. Owners saying they're on it is useful information, but the due date still passed.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to word the nudge
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Name the item and the date&lt;/strong&gt;, not "just checking in".&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Ask one question&lt;/strong&gt;: what's blocking it, and what's the new date?&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Make it easy to say "done"&lt;/strong&gt;: "If it's finished, reply with the date and I'll close it."&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Write the new date into the tracker&lt;/strong&gt; and keep the original due date in its own column, so slips stay visible.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Update Last nudged&lt;/strong&gt; the same day.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Closing the loop
&lt;/h2&gt;

&lt;p&gt;At the next meeting, go through only three groups: ESCALATE, NUDGE, and DONE - ADD DATE. Read out what was closed since last time in one line. Items that were dropped get a sentence on who decided and why, then stay in the sheet as history.&lt;/p&gt;

&lt;h2&gt;
  
  
  Common gaps
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Nudging by memory.&lt;/strong&gt; Without Last nudged, some people get chased daily and others never.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Escalation that's a surprise.&lt;/strong&gt; Agree the escalation rule in advance so it isn't personal.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Moving the due date silently.&lt;/strong&gt; Keep the original date visible.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;"Done" with nothing to show.&lt;/strong&gt; A done date (and where the output is) makes it checkable.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;No owner on new items.&lt;/strong&gt; Assign one before the meeting ends.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Following up well isn't about being pushy. It's about a rule everyone knows in advance, a record of when you last asked, and a clear moment when an item is closed. With those three, the list stays believable.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Repeated training sessions for employees: how to stop running the same session every month</title>
      <dc:creator>Duaer Team</dc:creator>
      <pubDate>Wed, 14 Oct 2026 01:05:51 +0000</pubDate>
      <link>https://dev.to/duaerteam/repeated-training-sessions-for-employees-how-to-stop-running-the-same-session-every-month-2e1p</link>
      <guid>https://dev.to/duaerteam/repeated-training-sessions-for-employees-how-to-stop-running-the-same-session-every-month-2e1p</guid>
      <description>&lt;p&gt;This article is AI-generated.&lt;/p&gt;

&lt;p&gt;Someone in an HR community recently wrote: "we have experienced a need for intensive and repeated training sessions for our employees". If you run training in operations, quality or a warehouse, you probably know why. You deliver the session, people sign the sheet, and three weeks later the same questions come back. So you schedule another session.&lt;/p&gt;

&lt;p&gt;Repeated training isn't always a sign that people weren't listening. Usually it means three things are missing: a record of who was trained on which version, a place where answers live after the session ends, and a way to spot who actually needs a refresher instead of retraining everyone.&lt;/p&gt;

&lt;p&gt;This guide shows a lightweight setup in any spreadsheet: a training matrix with two formulas that tell you exactly who needs what, and a question log that turns repeated questions into written answers.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why the same sessions keep happening
&lt;/h2&gt;

&lt;p&gt;Look at your last few repeated sessions and you'll usually find one of these:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;The procedure changed, but only some people heard.&lt;/strong&gt; Half the team was trained on version 2, the procedure is now on version 3, and nobody tracks the difference.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Answers stayed in the room.&lt;/strong&gt; Questions asked during a session got good answers, but nobody wrote them down. The next person with the same question has to ask again, or wait for the next session.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Refreshers are all-or-nothing.&lt;/strong&gt; Without a record of who was trained when, the only safe option is to retrain everyone.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Step 1: Build a training matrix
&lt;/h2&gt;

&lt;p&gt;One row per person per procedure. Columns:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Column&lt;/th&gt;
&lt;th&gt;What goes in it&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;A Employee&lt;/td&gt;
&lt;td&gt;Use names or IDs your company is comfortable keeping in a sheet&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;B Procedure&lt;/td&gt;
&lt;td&gt;e.g. "Forklift pre-use check"&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;C Version trained&lt;/td&gt;
&lt;td&gt;The version they were trained on&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;D Current version&lt;/td&gt;
&lt;td&gt;The version in use now&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;E Date trained&lt;/td&gt;
&lt;td&gt;A date; blank if never trained&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;F Refresher (months)&lt;/td&gt;
&lt;td&gt;Your company's interval for this procedure&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;G Refresher due&lt;/td&gt;
&lt;td&gt;Formula&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;H Status&lt;/td&gt;
&lt;td&gt;Formula&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;G2, refresher due:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;=IF(E2="","",EDATE(E2,F2))
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Format as a date.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;H2, status:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;=IF(E2="","NOT TRAINED",IF(C2&amp;lt;&amp;gt;D2,"NEW VERSION",IF(G2&amp;lt;TODAY(),"REFRESHER DUE",IF(G2-TODAY()&amp;lt;=30,"DUE IN 30 DAYS","OK"))))
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Fill both down. The order matters: someone who was never trained comes first; someone trained on an old version comes next, even if their refresher date is far away, because what they learned no longer matches the procedure.&lt;/p&gt;

&lt;p&gt;How often a refresher is required depends on the procedure and your company's rules. If it's a safety or regulated task, ask your HR, safety or legal contact what interval applies; the sheet just tracks whatever you decide.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Illustrative example (assume today is 14 October 2026):&lt;/strong&gt;&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Employee&lt;/th&gt;
&lt;th&gt;Procedure&lt;/th&gt;
&lt;th&gt;Trained / current&lt;/th&gt;
&lt;th&gt;Date trained&lt;/th&gt;
&lt;th&gt;Refresher due&lt;/th&gt;
&lt;th&gt;Status&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Employee A&lt;/td&gt;
&lt;td&gt;Forklift pre-use check&lt;/td&gt;
&lt;td&gt;v3 / v3&lt;/td&gt;
&lt;td&gt;2025-11-01&lt;/td&gt;
&lt;td&gt;2026-11-01&lt;/td&gt;
&lt;td&gt;DUE IN 30 DAYS&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Employee B&lt;/td&gt;
&lt;td&gt;Forklift pre-use check&lt;/td&gt;
&lt;td&gt;v2 / v3&lt;/td&gt;
&lt;td&gt;2026-05-01&lt;/td&gt;
&lt;td&gt;2027-05-01&lt;/td&gt;
&lt;td&gt;NEW VERSION&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Employee C&lt;/td&gt;
&lt;td&gt;Forklift pre-use check&lt;/td&gt;
&lt;td&gt;v3 / v3&lt;/td&gt;
&lt;td&gt;2025-09-01&lt;/td&gt;
&lt;td&gt;2026-09-01&lt;/td&gt;
&lt;td&gt;REFRESHER DUE&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Employee D&lt;/td&gt;
&lt;td&gt;Goods-in inspection&lt;/td&gt;
&lt;td&gt;– / v5&lt;/td&gt;
&lt;td&gt;(blank)&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;NOT TRAINED&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Employee A&lt;/td&gt;
&lt;td&gt;Goods-in inspection&lt;/td&gt;
&lt;td&gt;v5 / v5&lt;/td&gt;
&lt;td&gt;2026-08-01&lt;/td&gt;
&lt;td&gt;2027-08-01&lt;/td&gt;
&lt;td&gt;OK&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;To see how many people need a session on one procedure, put the procedure name in a cell (say J1) and use:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;=COUNTIFS(B2:B500,J1,H2:H500,"&amp;lt;&amp;gt;OK")
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;In the example, three people need something on the forklift check, but for different reasons. Employee B only needs the v2-to-v3 changes, not the full session. That alone can turn a full repeat session into a fifteen-minute briefing.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 2: Keep a question log
&lt;/h2&gt;

&lt;p&gt;During and after every session, write down every question, in the words people used. One column for the question, one for the procedure, one for the answer, one for where the answer is written down (file name and location).&lt;/p&gt;

&lt;p&gt;To spot repeats, add a count next to each question (questions in A10:A200):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;=COUNTIF(A$10:A$200,A10)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;And a flag that shows once per repeated question:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;=IF(AND(B10&amp;gt;=3,COUNTIF(A$10:A10,A10)=1),"WRITE IT DOWN","")
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Any question asked three times gets written into the procedure or a short FAQ next to it. Exact wording varies, so tidy similar questions into one phrasing when you log them; otherwise the count won't catch them.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 3: Put answers where people work
&lt;/h2&gt;

&lt;p&gt;A written answer only stops repeat training if people can find it at the moment they need it:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Keep the FAQ next to the procedure,&lt;/strong&gt; in the same folder, with the same name plus "FAQ".&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Point to it at the workstation.&lt;/strong&gt; A short note or QR code on the station: "Questions? See [procedure] FAQ."&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Answer with the link.&lt;/strong&gt; When someone asks a question that's already answered, reply with the location of the answer, not just the answer.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Step 4: Run sessions from the matrix
&lt;/h2&gt;

&lt;p&gt;Before scheduling any training, filter the matrix:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;NOT TRAINED:&lt;/strong&gt; full session.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;NEW VERSION:&lt;/strong&gt; a short briefing on what changed, using the procedure's change notes.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;REFRESHER DUE / DUE IN 30 DAYS:&lt;/strong&gt; a refresher, grouped by procedure.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;OK:&lt;/strong&gt; nothing.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;After each session, update columns C and E, and add any new questions to the log.&lt;/p&gt;

&lt;h2&gt;
  
  
  Common questions
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Isn't this a lot of admin?&lt;/strong&gt;&lt;br&gt;
The matrix takes an afternoon to set up for one team. After that it's one row update per person per session, less time than one unnecessary repeat session.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What about people who were trained but still get it wrong?&lt;/strong&gt;&lt;br&gt;
That's a sign the procedure or the answer isn't clear. Check the question log for that procedure first.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Should training records be kept in a spreadsheet?&lt;/strong&gt;&lt;br&gt;
If your company has formal record-keeping requirements for training, check with HR or quality where the official record must live. The matrix can still be your working view.&lt;/p&gt;

&lt;h2&gt;
  
  
  Wrapping up
&lt;/h2&gt;

&lt;p&gt;Repeated training sessions usually come from missing records, not forgetful people. A training matrix tells you who needs what, a question log tells you what to write down, and putting answers next to the procedure means fewer people need to ask in the first place.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>How to chase suppliers for missing documents without chasing from memory</title>
      <dc:creator>Duaer Team</dc:creator>
      <pubDate>Tue, 13 Oct 2026 13:13:23 +0000</pubDate>
      <link>https://dev.to/duaerteam/how-to-chase-suppliers-for-missing-documents-without-chasing-from-memory-29op</link>
      <guid>https://dev.to/duaerteam/how-to-chase-suppliers-for-missing-documents-without-chasing-from-memory-29op</guid>
      <description>&lt;p&gt;This article is AI-generated.&lt;/p&gt;

&lt;p&gt;Anyone who handles supplier paperwork knows the routine: a certificate of conformity that never arrived with the delivery, a safety data sheet that's two revisions old, an insurance certificate that expired last month. You email, you wait, you forget, you email again. One commenter on Reddit summed it up: "Chasing is a poor use of company resources ( your time)".&lt;/p&gt;

&lt;p&gt;The problem usually isn't that suppliers refuse. It's that nobody on your side has a list of what's missing, when it was asked for, and when to ask again. This guide shows a simple routine that works in any spreadsheet: one register of missing documents, three formulas that tell you who to chase today and who to escalate, a fixed chase sequence, and a short message template. It's written for purchasing, quality and operations teams in manufacturing, distribution and logistics.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 1: Decide what you need, once
&lt;/h2&gt;

&lt;p&gt;Before chasing anything, agree internally what a complete supplier file looks like. For most teams it's a short list per supplier type, for example:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;certificates of conformity or analysis for each delivery or batch;&lt;/li&gt;
&lt;li&gt;safety data sheets for chemicals, at the current revision;&lt;/li&gt;
&lt;li&gt;quality or management system certificates, with expiry dates;&lt;/li&gt;
&lt;li&gt;insurance certificates;&lt;/li&gt;
&lt;li&gt;any customer-specific declarations you have to pass on.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Write this list down. Half of the chasing in most companies comes from asking for different things at different times, so suppliers never know when they're done.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 2: One register, one row per missing document
&lt;/h2&gt;

&lt;p&gt;Don't track missing paperwork in your inbox. Track it in a register with one row for each document you're waiting for:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Supplier&lt;/th&gt;
&lt;th&gt;Document&lt;/th&gt;
&lt;th&gt;Requested&lt;/th&gt;
&lt;th&gt;Due&lt;/th&gt;
&lt;th&gt;Last chased&lt;/th&gt;
&lt;th&gt;Chases&lt;/th&gt;
&lt;th&gt;Status&lt;/th&gt;
&lt;th&gt;Days overdue&lt;/th&gt;
&lt;th&gt;Next chase&lt;/th&gt;
&lt;th&gt;Flag&lt;/th&gt;
&lt;th&gt;Owner&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Supplier 1 (illustrative)&lt;/td&gt;
&lt;td&gt;CoC, PO 4471&lt;/td&gt;
&lt;td&gt;2026-09-20&lt;/td&gt;
&lt;td&gt;2026-10-01&lt;/td&gt;
&lt;td&gt;2026-10-06&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;Waiting&lt;/td&gt;
&lt;td&gt;12&lt;/td&gt;
&lt;td&gt;2026-10-13&lt;/td&gt;
&lt;td&gt;CHASE TODAY&lt;/td&gt;
&lt;td&gt;Buyer A&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Supplier 2 (illustrative)&lt;/td&gt;
&lt;td&gt;SDS rev. current&lt;/td&gt;
&lt;td&gt;2026-10-01&lt;/td&gt;
&lt;td&gt;2026-10-15&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;Waiting&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;2026-10-08&lt;/td&gt;
&lt;td&gt;CHASE TODAY&lt;/td&gt;
&lt;td&gt;Quality B&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Supplier 3 (illustrative)&lt;/td&gt;
&lt;td&gt;ISO certificate&lt;/td&gt;
&lt;td&gt;2026-09-01&lt;/td&gt;
&lt;td&gt;2026-09-15&lt;/td&gt;
&lt;td&gt;2026-10-08&lt;/td&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;Waiting&lt;/td&gt;
&lt;td&gt;28&lt;/td&gt;
&lt;td&gt;2026-10-15&lt;/td&gt;
&lt;td&gt;ESCALATE&lt;/td&gt;
&lt;td&gt;Buyer A&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Supplier 4 (illustrative)&lt;/td&gt;
&lt;td&gt;CoA, batch 0912&lt;/td&gt;
&lt;td&gt;2026-09-01&lt;/td&gt;
&lt;td&gt;2026-09-15&lt;/td&gt;
&lt;td&gt;2026-09-20&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;Received&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;Quality B&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;A few rules make this work:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;One owner per row&lt;/strong&gt;, a named person, not "Purchasing".&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;A due date for every request.&lt;/strong&gt; "As soon as possible" can't be tracked. If the supplier hasn't committed to a date, set a reasonable one yourself, often 10 working days.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Status has three values only&lt;/strong&gt;: Waiting, Received, Not needed. Anything else drifts.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Received means checked.&lt;/strong&gt; Mark a row Received only after someone has confirmed it's the right document, the right revision and still valid.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Step 3: Three formulas
&lt;/h2&gt;

&lt;p&gt;Assume Requested is in column C, Due in D, Last chased in E, Chases in F and Status in G.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Days overdue&lt;/strong&gt; (column H):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;=IF(OR(G2&amp;lt;&amp;gt;"Waiting",D2=""),"",IF(TODAY()&amp;gt;D2,TODAY()-D2,""))
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Blank unless the row is Waiting with a due date set; otherwise the number of days past due.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Next chase&lt;/strong&gt; (column I), a week after the last chase, or a week after the request if you've never chased:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;=IF(G2&amp;lt;&amp;gt;"Waiting","",IF(E2="",C2+7,E2+7))
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Format the column as a date.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Flag&lt;/strong&gt; (column J):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;=IF(G2&amp;lt;&amp;gt;"Waiting","",IF(AND(F2&amp;gt;=3,D2&amp;lt;&amp;gt;"",TODAY()&amp;gt;D2),"ESCALATE",IF(AND(I2&amp;lt;&amp;gt;"",I2&amp;lt;=TODAY()),"CHASE TODAY","")))
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;After three chases on an overdue document, it stops being a chasing job and becomes an escalation. Otherwise, any row whose next chase date has arrived shows CHASE TODAY.&lt;/p&gt;

&lt;p&gt;I tested these in LibreOffice Calc with a fixed date of 2026-10-13 in place of TODAY(), using the four rows above plus one with no due date. The results matched the table: 12 and 28 days overdue, CHASE TODAY for suppliers 1 and 2, ESCALATE for supplier 3, blanks for the received row, and no flag for a request sent on 2026-10-10 (next chase 2026-10-17). In some locales you'll need semicolons instead of commas between arguments.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 4: A fixed chase sequence
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Request&lt;/strong&gt;: send one message listing every missing document for that supplier, not one email per document. Give a due date.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;First chase, a week later&lt;/strong&gt;: reply on the same thread so the history stays together. Restate what's still missing.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Second chase&lt;/strong&gt;: copy the supplier's account manager or quality contact, if you have one.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Third chase&lt;/strong&gt;: same thread, and say clearly what happens next, for example that the goods will stay in quarantine or that orders will be held, if that's your policy.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Escalate&lt;/strong&gt;: when the flag says ESCALATE, the owner hands it to their manager or the person who owns the supplier relationship. They decide whether to hold orders, accept a deviation, or call the supplier.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;After every chase, update Last chased and add one to Chases. That's what moves the next chase date forward and keeps the flags honest.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 5: A message that's easy to answer
&lt;/h2&gt;

&lt;p&gt;Suppliers respond faster when they can see exactly what you need and can reply with attachments in one go. An example:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Missing documents (illustrative):&lt;/strong&gt; Hello, we're still missing the following for our orders with you: (1) certificate of conformity for PO 4471, delivered 2026-09-25; (2) current safety data sheet for product X. The due date was 2026-10-01. Could you reply to this email with both attached by 2026-10-16? Thank you.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Keep it short, number the items, give a date, and always reply in the same thread.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 6: A weekly ten-minute review
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Every Monday, the register owner filters on the Flag column and sends each owner their CHASE TODAY rows.&lt;/li&gt;
&lt;li&gt;ESCALATE rows go to the weekly purchasing or quality meeting.&lt;/li&gt;
&lt;li&gt;Rows marked Received are checked by a second person once a month, so "received" doesn't quietly mean "someone said they sent it".&lt;/li&gt;
&lt;li&gt;When a buyer leaves or changes role, their open rows get a new owner as part of the handover.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Checklist
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;[ ] A written list of required documents per supplier type.&lt;/li&gt;
&lt;li&gt;[ ] Every missing document has its own row, owner and due date.&lt;/li&gt;
&lt;li&gt;[ ] Status is limited to Waiting, Received, Not needed.&lt;/li&gt;
&lt;li&gt;[ ] Days overdue, Next chase and Flag formulas are set.&lt;/li&gt;
&lt;li&gt;[ ] Last chased and Chases are updated after every chase.&lt;/li&gt;
&lt;li&gt;[ ] Chases stay in one email thread per supplier.&lt;/li&gt;
&lt;li&gt;[ ] ESCALATE rows have a named decision-maker.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Common mistakes
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Chasing from memory.&lt;/strong&gt; Some suppliers get three emails a week, others none. Fix: chase only what the register flags.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;One email per document.&lt;/strong&gt; Suppliers lose track. Fix: one numbered list per supplier.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;No due date.&lt;/strong&gt; Nothing is ever overdue. Fix: always give a date.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Marking Received too early.&lt;/strong&gt; The wrong revision gets filed. Fix: check before you mark it.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Chasing forever.&lt;/strong&gt; Ten polite reminders don't change anything. Fix: escalate after three.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>operations</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Contract notice period reminders: how to catch the window before an auto-renewal</title>
      <dc:creator>Duaer Team</dc:creator>
      <pubDate>Tue, 13 Oct 2026 11:04:01 +0000</pubDate>
      <link>https://dev.to/duaerteam/contract-notice-period-reminders-how-to-catch-the-window-before-an-auto-renewal-3eia</link>
      <guid>https://dev.to/duaerteam/contract-notice-period-reminders-how-to-catch-the-window-before-an-auto-renewal-3eia</guid>
      <description>&lt;p&gt;This article is AI-generated.&lt;/p&gt;

&lt;p&gt;Many service, software, equipment and maintenance contracts renew automatically unless you give notice. The trap isn't the renewal date itself. It's the notice period in front of it. If a contract ends on 31 January and requires 90 days' written notice, the real deadline is early November, and by the time anyone notices the end date, the decision has already been made for you.&lt;/p&gt;

&lt;p&gt;This guide shows a simple routine that works in any spreadsheet: a register that records the notice deadline rather than just the end date, one formula that tells you which contracts need a decision now, a fixed sequence for deciding and sending notice, and a habit of writing down proof that notice went out. It's written for operations, procurement and finance teams who look after a few dozen to a few hundred contracts.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 1: Read three things from each contract
&lt;/h2&gt;

&lt;p&gt;For every contract that can renew automatically, find:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;The end date of the current term.&lt;/strong&gt; Not the signing date.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The notice period.&lt;/strong&gt; Usually in days or months, and sometimes "before the end of the term" or "before the anniversary date".&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;How notice must be given.&lt;/strong&gt; In writing, by email to a specific address, by letter to a registered office, through a customer portal. This matters as much as the date.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Write the clause reference next to each one so anyone can check it later. If the wording is unclear, mark the row "check with legal" rather than guessing. This guide is about tracking dates, not interpreting contracts.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 2: Build a register around the notice deadline
&lt;/h2&gt;

&lt;p&gt;One row per contract. Illustrative (all names are placeholders):&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Ref&lt;/th&gt;
&lt;th&gt;Supplier&lt;/th&gt;
&lt;th&gt;What it covers&lt;/th&gt;
&lt;th&gt;Term end&lt;/th&gt;
&lt;th&gt;Notice (days)&lt;/th&gt;
&lt;th&gt;Notice deadline&lt;/th&gt;
&lt;th&gt;Days left&lt;/th&gt;
&lt;th&gt;Flag&lt;/th&gt;
&lt;th&gt;Owner&lt;/th&gt;
&lt;th&gt;How notice is given&lt;/th&gt;
&lt;th&gt;Contract file (name and location)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;CT-01&lt;/td&gt;
&lt;td&gt;Supplier A&lt;/td&gt;
&lt;td&gt;Equipment maintenance&lt;/td&gt;
&lt;td&gt;2027-01-31&lt;/td&gt;
&lt;td&gt;90&lt;/td&gt;
&lt;td&gt;2026-11-02&lt;/td&gt;
&lt;td&gt;20&lt;/td&gt;
&lt;td&gt;ACT NOW&lt;/td&gt;
&lt;td&gt;Ops lead X&lt;/td&gt;
&lt;td&gt;Letter to registered office&lt;/td&gt;
&lt;td&gt;Contracts / Suppliers / CT-01_signed.pdf&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CT-02&lt;/td&gt;
&lt;td&gt;Supplier B&lt;/td&gt;
&lt;td&gt;Software subscription&lt;/td&gt;
&lt;td&gt;2027-02-28&lt;/td&gt;
&lt;td&gt;90&lt;/td&gt;
&lt;td&gt;2026-11-30&lt;/td&gt;
&lt;td&gt;48&lt;/td&gt;
&lt;td&gt;DECIDE&lt;/td&gt;
&lt;td&gt;IT lead Y&lt;/td&gt;
&lt;td&gt;Email to named address&lt;/td&gt;
&lt;td&gt;Contracts / IT / CT-02_signed.pdf&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CT-03&lt;/td&gt;
&lt;td&gt;Supplier C&lt;/td&gt;
&lt;td&gt;Cleaning services&lt;/td&gt;
&lt;td&gt;2026-11-30&lt;/td&gt;
&lt;td&gt;60&lt;/td&gt;
&lt;td&gt;2026-10-01&lt;/td&gt;
&lt;td&gt;-12&lt;/td&gt;
&lt;td&gt;MISSED&lt;/td&gt;
&lt;td&gt;Facilities Z&lt;/td&gt;
&lt;td&gt;Written notice&lt;/td&gt;
&lt;td&gt;Contracts / Facilities / CT-03_signed.pdf&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The key columns:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Notice deadline&lt;/strong&gt; is the date you sort and filter by. It's the term end minus the notice period.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Owner&lt;/strong&gt; is one named person who decides whether to renew, not a department.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;How notice is given&lt;/strong&gt; saves a scramble on the last day, when someone discovers the letter needs a signature and a courier.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Step 3: Two formulas
&lt;/h2&gt;

&lt;p&gt;With term end in column D and notice days in column E:&lt;/p&gt;

&lt;p&gt;Notice deadline (column F):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;=D2-E2
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Days left until the deadline (column G):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;=F2-TODAY()
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Flag (column H):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;=IF(G2&amp;lt;0,"MISSED",IF(G2&amp;lt;=30,"ACT NOW",IF(G2&amp;lt;=60,"DECIDE","")))
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;I checked these in LibreOffice Calc with 13 October 2026 standing in for TODAY(). The three illustrative rows above came out as shown: CT-01 gave a deadline of 2 November with 20 days left (ACT NOW), CT-02 gave 30 November with 48 days left (DECIDE), and CT-03's deadline had passed 12 days earlier (MISSED). Format column F as a date. In some locales, use semicolons between arguments.&lt;/p&gt;

&lt;p&gt;If the notice period is in months, use &lt;code&gt;=EDATE(D2,-E2)&lt;/code&gt; instead of &lt;code&gt;=D2-E2&lt;/code&gt; and enter months in column E. Calendar months and days don't line up, so match what the contract says.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 4: Decide early, act on a fixed sequence
&lt;/h2&gt;

&lt;p&gt;The flags map to a routine:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;DECIDE (31–60 days before the deadline):&lt;/strong&gt; the owner answers one question: renew as is, renegotiate, or end it? If renegotiating, this is the time to talk to the supplier, while you still have the option to leave.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;ACT NOW (0–30 days):&lt;/strong&gt; if ending or renegotiating, prepare and send the notice in the required form. Don't wait for the last week. Letters get lost, the named email address may have changed, and a signatory may be away.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;MISSED:&lt;/strong&gt; record it, check the contract for the next opportunity to give notice, and set the new deadline in the register. Then look at why it was missed, which is usually an owner who left or a contract that was never in the register.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A short message from whoever runs the weekly check keeps things moving. Illustrative:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Notice reminder (illustrative): CT-01 Equipment maintenance, Supplier A. Term ends 31 Jan 2027, 90 days' notice, so the deadline is 2 Nov 2026 (20 days left). Notice must be a letter to their registered office. Please confirm by Friday: renew, renegotiate or end?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Step 5: Keep proof that notice was sent
&lt;/h2&gt;

&lt;p&gt;Add two columns: &lt;strong&gt;Notice sent on&lt;/strong&gt; and &lt;strong&gt;Proof (file name and location)&lt;/strong&gt;. Proof might be a scanned letter with a courier receipt, or an email saved as a file with its headers. When someone asks a year later whether you really cancelled, you can point to the file rather than to someone's memory.&lt;/p&gt;

&lt;p&gt;Once notice is sent, clear the flag by adding a status column ("Notice sent", "Renewed", "Ended") at the end of the register (column N, if the two proof columns are L and M) and wrapping the flag formula so it only shows for open rows:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;=IF(N2&amp;lt;&amp;gt;"","",IF(G2&amp;lt;0,"MISSED",IF(G2&amp;lt;=30,"ACT NOW",IF(G2&amp;lt;=60,"DECIDE",""))))
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Step 6: One weekly check, one owner for the register
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Weekly:&lt;/strong&gt; someone sorts by notice deadline, filters on the flag column, and messages each owner with a flagged row. Ten minutes.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;When contracts are signed:&lt;/strong&gt; the new contract doesn't count as filed until its row exists. This is how you stop contracts from never entering the register.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;When people leave:&lt;/strong&gt; their rows get a new owner as part of the handover.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Checklist
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;[ ] Every auto-renewing contract has a row.&lt;/li&gt;
&lt;li&gt;[ ] Term end, notice period and notice method are taken from the contract, with the clause reference.&lt;/li&gt;
&lt;li&gt;[ ] Notice deadline is calculated, and the register is sorted by it.&lt;/li&gt;
&lt;li&gt;[ ] Flags show DECIDE, ACT NOW and MISSED.&lt;/li&gt;
&lt;li&gt;[ ] Each row has one named owner.&lt;/li&gt;
&lt;li&gt;[ ] Notice sent date and proof are recorded.&lt;/li&gt;
&lt;li&gt;[ ] Someone checks weekly, and new contracts are added on signing.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Common mistakes
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Tracking only the end date.&lt;/strong&gt; The decision window has closed before the end date looks urgent. Fix: sort by notice deadline.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Assuming email is enough.&lt;/strong&gt; Some contracts require a letter or a specific address. Fix: record the notice method in the register.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;A department as owner.&lt;/strong&gt; Nobody acts. Fix: one named person.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;No proof kept.&lt;/strong&gt; Disputes become your word against theirs. Fix: file the proof and note its location.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Months treated as days.&lt;/strong&gt; "Three months" isn't always 90 days. Fix: use EDATE when the contract says months.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>management</category>
      <category>operations</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Onboarding buddy program: what the buddy does, how much time it takes, and what they don't answer</title>
      <dc:creator>Duaer Team</dc:creator>
      <pubDate>Mon, 12 Oct 2026 01:23:53 +0000</pubDate>
      <link>https://dev.to/duaerteam/onboarding-buddy-program-what-the-buddy-does-how-much-time-it-takes-and-what-they-dont-answer-314</link>
      <guid>https://dev.to/duaerteam/onboarding-buddy-program-what-the-buddy-does-how-much-time-it-takes-and-what-they-dont-answer-314</guid>
      <description>&lt;p&gt;This article is AI-generated.&lt;/p&gt;

&lt;p&gt;An onboarding buddy is the colleague a new starter can ask the small questions: where things are, how people actually do things here, who to talk to. When it works, new people settle faster and managers get fewer interruptions. When it doesn't, the buddy is either a name on a welcome email who never gets asked anything, or the person who ends up answering every question for three months.&lt;/p&gt;

&lt;p&gt;This article covers how to set up a buddy program that holds up: what the role is, how much time to set aside, and a clear split between what the buddy answers and what should already be written down. It isn't about planning the first 30 days of training or about handling repeated questions in general. Examples are illustrative, with placeholder names.&lt;/p&gt;

&lt;h2&gt;
  
  
  Define the role in one paragraph
&lt;/h2&gt;

&lt;p&gt;Write down what the buddy is for before you pick anyone. A version you can adapt:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The buddy helps the new starter find their way around in the first few weeks: introductions, everyday how-we-do-it questions, and pointing to the right document or person. The buddy is not the new starter's manager or trainer, and doesn't assess their work. (illustrative)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That last sentence matters. If the role isn't separated from training and management, the buddy ends up doing all three.&lt;/p&gt;

&lt;h2&gt;
  
  
  Choosing a buddy
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Not the manager.&lt;/strong&gt; New people ask different questions when the person can't judge them.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Been here long enough to know where things are,&lt;/strong&gt; but close enough to the new starter's work to be useful.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Willing.&lt;/strong&gt; Ask, don't assign. A reluctant buddy is worse than none.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Has the time.&lt;/strong&gt; Agree it with their manager, so it isn't squeezed into lunch breaks.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Set the time explicitly
&lt;/h2&gt;

&lt;p&gt;A buddy program fails quietly when nobody budgets the time. Agree on a rough shape up front, for example (illustrative):&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Period&lt;/th&gt;
&lt;th&gt;Buddy time&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Week 1&lt;/td&gt;
&lt;td&gt;A short check-in each day&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Weeks 2–4&lt;/td&gt;
&lt;td&gt;Two check-ins a week&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Weeks 5–8&lt;/td&gt;
&lt;td&gt;One check-in a week, then end&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Put an end date on it. It gives both people permission to stop, and it's a natural point to ask what worked.&lt;/p&gt;

&lt;h2&gt;
  
  
  What the buddy answers, and what they don't
&lt;/h2&gt;

&lt;p&gt;This split is the core of the program. Write it as a short table and give it to both people on day one.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Question type&lt;/th&gt;
&lt;th&gt;Who answers&lt;/th&gt;
&lt;th&gt;Example (illustrative)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Where is something / who do I ask&lt;/td&gt;
&lt;td&gt;Buddy, then point to the document&lt;/td&gt;
&lt;td&gt;"Where are the expense forms?"&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;How do people usually do this here&lt;/td&gt;
&lt;td&gt;Buddy&lt;/td&gt;
&lt;td&gt;"Do people book meeting rooms or just use them?"&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Rules, policies, procedures&lt;/td&gt;
&lt;td&gt;The written document; buddy shows where it is&lt;/td&gt;
&lt;td&gt;"What's the approval step for purchases?"&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;How to do my actual job&lt;/td&gt;
&lt;td&gt;Manager or trainer&lt;/td&gt;
&lt;td&gt;"How do I prepare the weekly report?"&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Anything about workload, priorities or personal matters&lt;/td&gt;
&lt;td&gt;Manager&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The buddy's most useful habit is "let me show you where that's written", not "here's the answer". Each time they point to a document, the new starter learns where to look next time. Each time they answer from memory, the knowledge stays in their head.&lt;/p&gt;

&lt;h2&gt;
  
  
  A buddy checklist
&lt;/h2&gt;

&lt;p&gt;Give the buddy a one-page list (illustrative):&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;[ ] Day 1: introduce the new starter to the people they'll work with most&lt;/li&gt;
&lt;li&gt;[ ] Day 1: show where the team's shared documents and procedures live&lt;/li&gt;
&lt;li&gt;[ ] Week 1: lunch or coffee, no agenda&lt;/li&gt;
&lt;li&gt;[ ] Week 2: ask what they've had trouble finding&lt;/li&gt;
&lt;li&gt;[ ] Week 4: ask which questions they've asked more than once&lt;/li&gt;
&lt;li&gt;[ ] End: pass the list of repeated questions to the manager&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Turn repeated questions into documents
&lt;/h2&gt;

&lt;p&gt;The last item on that checklist is where a buddy program pays off beyond one person. If a new starter asked the same thing twice, or the buddy answered it from memory, the answer probably isn't written down anywhere obvious. The manager decides whether to add it to the onboarding documents. The next new starter then finds it without asking.&lt;/p&gt;

&lt;h2&gt;
  
  
  Common pitfalls
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Buddy becomes trainer.&lt;/strong&gt; Keep the split table visible.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;No end date.&lt;/strong&gt; The relationship drifts and neither person knows if it's still on.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Buddy is the only source.&lt;/strong&gt; If every answer comes from one person, nothing gets written down.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;No feedback.&lt;/strong&gt; Ask both people at the end what they'd change.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Wrap-up
&lt;/h2&gt;

&lt;p&gt;A buddy program works when the role is narrow, the time is agreed, and the buddy points to documents rather than replacing them. Set those three things up and the program helps the next new starter too, not just this one.&lt;/p&gt;

</description>
      <category>productivity</category>
      <category>onboarding</category>
      <category>management</category>
      <category>career</category>
    </item>
    <item>
      <title>How to track follow-up tasks so nothing quietly stalls</title>
      <dc:creator>Duaer Team</dc:creator>
      <pubDate>Sun, 11 Oct 2026 01:18:31 +0000</pubDate>
      <link>https://dev.to/duaerteam/how-to-track-follow-up-tasks-so-nothing-quietly-stalls-5ghk</link>
      <guid>https://dev.to/duaerteam/how-to-track-follow-up-tasks-so-nothing-quietly-stalls-5ghk</guid>
      <description>&lt;p&gt;Follow-up work is the stuff that happens after the "real" task: chasing a reply, checking that a fix actually shipped, confirming that a request someone promised to handle got handled. It's rarely hard. It just slips. One person in an automation forum listed the usual casualties: "a client wrote and nobody replied, a deal sat untouched for weeks, a payment was started and never finished."&lt;/p&gt;

&lt;p&gt;None of those are failures of skill. They are failures of tracking. This article walks through a simple, tool-agnostic way to track follow-up tasks for yourself or a small team: what columns to keep, what each status means, how to run a weekly overdue review, and a formula you can drop into a spreadsheet to flag what's late. It isn't about meeting action items specifically; it covers any loose end that needs someone to come back to it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why follow-ups get lost
&lt;/h2&gt;

&lt;p&gt;Follow-ups have three properties that make them easy to drop:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;They're triggered by something else.&lt;/strong&gt; You send an email and the follow-up is "check for a reply on Thursday". The original task feels finished, so the follow-up never gets written down.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;They depend on other people.&lt;/strong&gt; You can't complete them alone, so they sit in a vague "waiting" state with no date.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;They're small.&lt;/strong&gt; Nobody wants a project plan for "ping the supplier again", so they live in memory, chat history or a sticky note.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;A tracker fixes all three if it does one thing well: every follow-up gets a line, an owner and a date the moment it's created.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 1: Pick one place
&lt;/h2&gt;

&lt;p&gt;The specific tool matters much less than having exactly one. A spreadsheet, a task app, a plain text file—any of these works if it's the only place follow-ups live. The common failure is a split: some in email flags, some in a notebook, some in a chat "saved messages" list. Then the weekly review has to search four places and nobody does it.&lt;/p&gt;

&lt;p&gt;If you're tracking for a team, use a shared spreadsheet or shared list everyone can see. Visibility is half the value: people follow up faster when the item has their name on it in public.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 2: Use a small set of columns
&lt;/h2&gt;

&lt;p&gt;Here is a layout that works for most people. Keep it this small at first; add columns only when you notice you keep needing the information.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Column&lt;/th&gt;
&lt;th&gt;What to write&lt;/th&gt;
&lt;th&gt;Why it matters&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;ID&lt;/td&gt;
&lt;td&gt;A short number (F-001, F-002…)&lt;/td&gt;
&lt;td&gt;Lets you refer to an item in chat without retyping it&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;What&lt;/td&gt;
&lt;td&gt;The follow-up as an action: "Get signed quote back from Supplier X"&lt;/td&gt;
&lt;td&gt;A verb forces clarity about what "done" is&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Owner&lt;/td&gt;
&lt;td&gt;One name&lt;/td&gt;
&lt;td&gt;Two owners means no owner&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Waiting on&lt;/td&gt;
&lt;td&gt;Who or what you're waiting for, if anyone&lt;/td&gt;
&lt;td&gt;Separates "my move" from "their move"&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Created&lt;/td&gt;
&lt;td&gt;Date the item was added&lt;/td&gt;
&lt;td&gt;Shows how long things really take&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Next check&lt;/td&gt;
&lt;td&gt;The date you'll look at it again&lt;/td&gt;
&lt;td&gt;The single most important column&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Status&lt;/td&gt;
&lt;td&gt;One of the defined statuses below&lt;/td&gt;
&lt;td&gt;Lets you filter&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Done when&lt;/td&gt;
&lt;td&gt;One sentence describing completion&lt;/td&gt;
&lt;td&gt;Stops items closing too early&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Notes&lt;/td&gt;
&lt;td&gt;Latest update, with date&lt;/td&gt;
&lt;td&gt;History without a separate log&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Illustrative rows:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;ID&lt;/th&gt;
&lt;th&gt;What&lt;/th&gt;
&lt;th&gt;Owner&lt;/th&gt;
&lt;th&gt;Waiting on&lt;/th&gt;
&lt;th&gt;Created&lt;/th&gt;
&lt;th&gt;Next check&lt;/th&gt;
&lt;th&gt;Status&lt;/th&gt;
&lt;th&gt;Done when&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;F-014&lt;/td&gt;
&lt;td&gt;Get signed quote back&lt;/td&gt;
&lt;td&gt;Person A&lt;/td&gt;
&lt;td&gt;Supplier X&lt;/td&gt;
&lt;td&gt;2026-10-02&lt;/td&gt;
&lt;td&gt;2026-10-08&lt;/td&gt;
&lt;td&gt;Waiting&lt;/td&gt;
&lt;td&gt;Signed PDF saved in contracts folder&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;F-015&lt;/td&gt;
&lt;td&gt;Confirm login fix works for user&lt;/td&gt;
&lt;td&gt;Person B&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;td&gt;2026-10-09&lt;/td&gt;
&lt;td&gt;2026-10-12&lt;/td&gt;
&lt;td&gt;Open&lt;/td&gt;
&lt;td&gt;User confirms they can log in&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;F-016&lt;/td&gt;
&lt;td&gt;Reply to client question about invoice&lt;/td&gt;
&lt;td&gt;Person A&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;td&gt;2026-10-10&lt;/td&gt;
&lt;td&gt;2026-10-20&lt;/td&gt;
&lt;td&gt;Open&lt;/td&gt;
&lt;td&gt;Reply sent and client acknowledged&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Note the column called &lt;strong&gt;Next check&lt;/strong&gt; rather than "Due". Many follow-ups don't have a real deadline, but every one of them needs a date when somebody looks again. If you leave this blank, the item is already lost.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 3: Define your statuses and stick to them
&lt;/h2&gt;

&lt;p&gt;Statuses only help if everyone means the same thing. Four is usually enough:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Open&lt;/strong&gt; — the owner needs to act next.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Waiting&lt;/strong&gt; — someone else needs to act; the owner checks again on the next-check date.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Blocked&lt;/strong&gt; — it can't move until something specific changes; the note says what.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Done&lt;/strong&gt; — the "Done when" sentence is true. Not "mostly", not "I sent it".&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Two rules make statuses trustworthy:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Every status change gets a dated note.&lt;/strong&gt; "2026-10-08 chased by email, they said Friday" is enough.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Waiting always has a next-check date.&lt;/strong&gt; "Waiting" without a date is how deals sit untouched for weeks.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Avoid adding statuses like "In progress" or "Almost done". They feel informative but don't tell anyone what to do next.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 4: Capture follow-ups at the moment they're created
&lt;/h2&gt;

&lt;p&gt;The tracker is only as good as what goes into it. Build the habit of adding a line at the exact moment a follow-up is born:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You send an email that needs a reply → add a line with next check in two or three working days.&lt;/li&gt;
&lt;li&gt;Someone promises to do something for you → add a line with them in "Waiting on".&lt;/li&gt;
&lt;li&gt;You hand something to a colleague → add a line, owner is them, and tell them.&lt;/li&gt;
&lt;li&gt;A ticket or request is "fixed" → add a line to confirm with the requester.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If adding a line takes more than thirty seconds, the tracker is too complicated. Trim columns until it doesn't.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 5: Flag overdue items automatically
&lt;/h2&gt;

&lt;p&gt;A spreadsheet can do the nagging for you. Add a &lt;strong&gt;Flag&lt;/strong&gt; column with a formula that looks at the status and the next-check date. Assuming Next check is in column F and Status in column G, put this in row 2 and fill down:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;=IF(G2="Done","",IF(F2&amp;lt;TODAY(),"Overdue",IF(F2-TODAY()&amp;lt;=2,"Due soon","")))
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;What it does:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Done items show nothing.&lt;/li&gt;
&lt;li&gt;If the next-check date has passed, it shows &lt;strong&gt;Overdue&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;If it's within two days, it shows &lt;strong&gt;Due soon&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Otherwise it stays blank.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I tested the logic in LibreOffice Calc with a fixed reference date of 2026-10-11 in place of TODAY(): a Waiting item dated 2026-10-08 showed Overdue, an Open item dated 2026-10-12 showed Due soon, an Open item dated 2026-10-20 stayed blank, and a Done item dated 2026-10-01 stayed blank. Depending on your locale, LibreOffice may expect semicolons instead of commas between arguments.&lt;/p&gt;

&lt;p&gt;Add conditional formatting so "Overdue" turns red and "Due soon" turns amber, then sort or filter by the Flag column. That view is your daily list.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 6: Run a weekly overdue review
&lt;/h2&gt;

&lt;p&gt;Daily glances catch the urgent items. A weekly review keeps the tracker honest. Set a fixed fifteen-minute slot, same day each week, and go through it in this order:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Overdue first.&lt;/strong&gt; For each one: act now, set a new next-check date with a note explaining why, or close it.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Waiting items.&lt;/strong&gt; Has the other person gone quiet twice? Change the approach: call instead of emailing, or ask whoever can unblock it.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Blocked items.&lt;/strong&gt; Is the blocker still real? If it's been blocked for more than two weeks, raise it with someone who can decide.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Items with no next-check date.&lt;/strong&gt; There shouldn't be any. Add one.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Done items.&lt;/strong&gt; Move them to a "Closed" sheet so the active list stays short. Don't delete them; the history is useful.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;For a team, do this review together for the overdue items only, and keep it brisk. The goal is decisions, not status reports.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 7: Decide when to escalate
&lt;/h2&gt;

&lt;p&gt;Some follow-ups will never close by politeness alone. A simple rule removes the awkwardness of deciding each time:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Second missed next-check&lt;/strong&gt; on a Waiting item → change channel (phone, a direct message, or in person).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Third missed next-check&lt;/strong&gt; → tell the person who asked for the work, or someone who can make the call.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Blocked for two weekly reviews&lt;/strong&gt; → escalate with a one-line summary: what's needed, from whom, since when.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Write the rule at the top of the tracker so it's not personal when you apply it.&lt;/p&gt;

&lt;h2&gt;
  
  
  A checklist for a healthy tracker
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;[ ] Every item has exactly one owner.&lt;/li&gt;
&lt;li&gt;[ ] Every non-Done item has a next-check date.&lt;/li&gt;
&lt;li&gt;[ ] Every Waiting item says who it's waiting on.&lt;/li&gt;
&lt;li&gt;[ ] Every item has a "Done when" sentence.&lt;/li&gt;
&lt;li&gt;[ ] The Flag column shows no overdue items older than a week.&lt;/li&gt;
&lt;li&gt;[ ] Done items have been moved out this week.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Common mistakes
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Tracking tasks instead of follow-ups.&lt;/strong&gt; The tracker becomes a full to-do list and the follow-ups drown. Fix: only add items that depend on coming back later or on someone else.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Shared ownership.&lt;/strong&gt; "Person A / Person B" means each assumes the other did it. Fix: one name; mention the second person in Notes.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Closing on effort, not outcome.&lt;/strong&gt; "Emailed them" isn't done. Fix: the "Done when" column.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Skipping the weekly review when busy.&lt;/strong&gt; That's exactly when things slip. Fix: keep it to fifteen minutes and review overdue items only if time is short.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Endless date pushing.&lt;/strong&gt; Moving next check forward without a note hides a stuck item. Fix: every date change needs a dated note, and the escalation rule applies after two misses.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Wrapping up
&lt;/h2&gt;

&lt;p&gt;Tracking follow-up tasks comes down to a handful of habits: one place, one owner, a next-check date on everything, clear statuses, a formula that flags what's late, and a short weekly review. None of it needs a special tool. Start with the columns above, add your current loose ends today, and run your first review at the end of the week.&lt;/p&gt;

&lt;p&gt;This article was drafted with AI assistance.&lt;/p&gt;

</description>
      <category>productivity</category>
      <category>management</category>
      <category>career</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Meeting action items tracker: one table, one owner per row, overdue first next time</title>
      <dc:creator>Duaer Team</dc:creator>
      <pubDate>Sat, 10 Oct 2026 23:35:19 +0000</pubDate>
      <link>https://dev.to/duaerteam/meeting-action-items-tracker-one-table-one-owner-per-row-overdue-first-next-time-nbl</link>
      <guid>https://dev.to/duaerteam/meeting-action-items-tracker-one-table-one-owner-per-row-overdue-first-next-time-nbl</guid>
      <description>&lt;p&gt;This article is AI-generated.&lt;/p&gt;

&lt;p&gt;Meeting notes often end with a few lines like "maintenance to look at it", "follow up with the carrier", "someone to update the checklist". A week later nobody can say which of those happened. The notes weren't wrong. They just didn't say who, by when, or what finished looks like.&lt;/p&gt;

&lt;p&gt;This article gives you a tracker layout to replace the to-do section of your meeting notes: the columns, a worked before and after, and how to open the next meeting by walking through overdue items first. How to nudge and escalate between meetings, and how to track personal tasks outside of meetings, are separate topics. Names and items below are illustrative.&lt;/p&gt;

&lt;h2&gt;
  
  
  The columns
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Column&lt;/th&gt;
&lt;th&gt;What goes in it&lt;/th&gt;
&lt;th&gt;What not to write&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;A ID&lt;/td&gt;
&lt;td&gt;A running number that is never reused, e.g. WH-118&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;B Raised&lt;/td&gt;
&lt;td&gt;Which meeting it came from&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;C Action&lt;/td&gt;
&lt;td&gt;One action, starting with a verb&lt;/td&gt;
&lt;td&gt;"Packaging issue"&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;D Owner&lt;/td&gt;
&lt;td&gt;One person's name&lt;/td&gt;
&lt;td&gt;"Procurement", "Person A and Person B"&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;E Due date&lt;/td&gt;
&lt;td&gt;A real date&lt;/td&gt;
&lt;td&gt;"ASAP", "next week"&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;F Done when&lt;/td&gt;
&lt;td&gt;The visible result that closes it&lt;/td&gt;
&lt;td&gt;"follow up", "look into"&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;G Status&lt;/td&gt;
&lt;td&gt;Open, In progress, Blocked, Done&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;H Last update&lt;/td&gt;
&lt;td&gt;Date of the latest note&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;I Notes&lt;/td&gt;
&lt;td&gt;One line: what's blocking it, or the new date&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;J Days overdue&lt;/td&gt;
&lt;td&gt;Formula&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;K Sort order&lt;/td&gt;
&lt;td&gt;Formula&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;One owner per row.&lt;/strong&gt; Two names means each person assumes the other is doing it. If several people are involved, name one owner and list the others as "with" in the notes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Done when" is the column people skip.&lt;/strong&gt; "Follow up with the customer" can stay open for a month. "Send the complaint analysis to Person A" is either sent or it isn't.&lt;/p&gt;

&lt;h2&gt;
  
  
  Two formulas
&lt;/h2&gt;

&lt;p&gt;Days overdue, J2:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;=IF(OR(G2="Done",E2=""),"",IF(E2&amp;lt;TODAY(),TODAY()-E2,""))
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Sort order, K2, so overdue rows float to the top and rows with no due date don't hide at the bottom:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;=IF(G2="Done",4,IF(E2="",1,IF(E2&amp;lt;TODAY(),2,3)))
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;1 is "missing a due date", 2 is "overdue", 3 is "on time", 4 is "done". Sort the sheet by column K, then by due date. Rows with no owner or no due date are the ones to fix before you even look at overdue items, because they will never become overdue on their own.&lt;/p&gt;

&lt;p&gt;With illustrative data, assuming today is 2026-10-09:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;ID&lt;/th&gt;
&lt;th&gt;Raised&lt;/th&gt;
&lt;th&gt;Owner&lt;/th&gt;
&lt;th&gt;Due&lt;/th&gt;
&lt;th&gt;Status&lt;/th&gt;
&lt;th&gt;Days overdue&lt;/th&gt;
&lt;th&gt;Order&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;WH-101&lt;/td&gt;
&lt;td&gt;2026-09-25&lt;/td&gt;
&lt;td&gt;Person A&lt;/td&gt;
&lt;td&gt;2026-10-02&lt;/td&gt;
&lt;td&gt;Open&lt;/td&gt;
&lt;td&gt;7&lt;/td&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;WH-102&lt;/td&gt;
&lt;td&gt;2026-09-25&lt;/td&gt;
&lt;td&gt;Person B&lt;/td&gt;
&lt;td&gt;2026-10-16&lt;/td&gt;
&lt;td&gt;In progress&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;WH-103&lt;/td&gt;
&lt;td&gt;2026-09-25&lt;/td&gt;
&lt;td&gt;Person C&lt;/td&gt;
&lt;td&gt;2026-10-05&lt;/td&gt;
&lt;td&gt;Done&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;WH-110&lt;/td&gt;
&lt;td&gt;2026-10-02&lt;/td&gt;
&lt;td&gt;Person B&lt;/td&gt;
&lt;td&gt;2026-10-07&lt;/td&gt;
&lt;td&gt;Blocked&lt;/td&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;WH-111&lt;/td&gt;
&lt;td&gt;2026-10-02&lt;/td&gt;
&lt;td&gt;Person D&lt;/td&gt;
&lt;td&gt;(blank)&lt;/td&gt;
&lt;td&gt;Open&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;(illustrative data; formulas tested on this sheet in LibreOffice; the syntax is the same in Excel, but I haven't run each one in Excel itself)&lt;/p&gt;

&lt;p&gt;WH-111 sorts above the overdue rows on purpose: until it has a due date, it can't be tracked at all.&lt;/p&gt;

&lt;h2&gt;
  
  
  Before and after
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Before (illustrative), from a weekly warehouse meeting:&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Action items: Dock door 4 keeps jamming, maintenance to look at it. Late carrier pickups again this week, follow up. Returns checklist is out of date, someone to update. Label printer on packing line 2, ASAP. Person A and Person B to sort out the cycle count backlog.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;After (illustrative):&lt;/strong&gt;&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;ID&lt;/th&gt;
&lt;th&gt;Action&lt;/th&gt;
&lt;th&gt;Owner&lt;/th&gt;
&lt;th&gt;Due&lt;/th&gt;
&lt;th&gt;Done when&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;WH-118&lt;/td&gt;
&lt;td&gt;Book a repair for dock door 4&lt;/td&gt;
&lt;td&gt;Person C&lt;/td&gt;
&lt;td&gt;2026-10-12&lt;/td&gt;
&lt;td&gt;Repair date confirmed in the maintenance log&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;WH-119&lt;/td&gt;
&lt;td&gt;Send the carrier a list of this week's late pickups&lt;/td&gt;
&lt;td&gt;Person A&lt;/td&gt;
&lt;td&gt;2026-10-10&lt;/td&gt;
&lt;td&gt;List sent, reply requested by 2026-10-14&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;WH-120&lt;/td&gt;
&lt;td&gt;Update the returns checklist to the current process&lt;/td&gt;
&lt;td&gt;Person D&lt;/td&gt;
&lt;td&gt;2026-10-16&lt;/td&gt;
&lt;td&gt;New version saved in "warehouse/checklists", old one moved to "retired"&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;WH-121&lt;/td&gt;
&lt;td&gt;Get the packing line 2 label printer fixed or swapped&lt;/td&gt;
&lt;td&gt;Person B&lt;/td&gt;
&lt;td&gt;2026-10-10&lt;/td&gt;
&lt;td&gt;Line 2 printing labels again&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;WH-122&lt;/td&gt;
&lt;td&gt;Clear the cycle count backlog for aisles 1–6&lt;/td&gt;
&lt;td&gt;Person A (with: Person B)&lt;/td&gt;
&lt;td&gt;2026-10-20&lt;/td&gt;
&lt;td&gt;Counts entered for aisles 1–6&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;(illustrative)&lt;/p&gt;

&lt;p&gt;Every "before" line was a real concern. What was missing: "maintenance" and "someone" aren't people, "ASAP" isn't a date, "follow up" has no end, and two names on one line meant nobody owned it. The "after" version fixes those four things and nothing else.&lt;/p&gt;

&lt;p&gt;Anything with no action and no owner, such as "everyone please keep aisles clear", stays in the notes as a reminder and stays out of the tracker.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to run the tracker at the next meeting
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Before the meeting&lt;/strong&gt;, the person who writes the minutes sorts the tracker by column K and filters out Done.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Open the meeting with the tracker&lt;/strong&gt;, in this order: rows with no owner or no due date, then overdue, then due before the next meeting.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Overdue rows get a new date in the notes&lt;/strong&gt;, not in the due date column. Keep the original due date so the days-overdue column stays honest.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;A row is only Done when its "done when" is met.&lt;/strong&gt; "Mostly done" stays In progress with a note.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;New actions from this meeting get added before you leave the room&lt;/strong&gt;, or within the same day. A tracker updated three days later has already lost the details.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Keep this part short. If reviewing the tracker takes the whole meeting, the tracker has too many open rows, which is itself useful information.&lt;/p&gt;

&lt;h2&gt;
  
  
  A few rules that keep it usable
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;One tracker for the meeting series&lt;/strong&gt;, not a fresh list inside each set of minutes. Minutes link to the tracker by ID: "see WH-120".&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;IDs never get reused.&lt;/strong&gt; When an action is split, the original stays and the new part gets a new ID.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Blocked needs a name.&lt;/strong&gt; A Blocked row should say in the notes who it's waiting on, otherwise it sits there indefinitely.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;File name and location, not "see attachment".&lt;/strong&gt; If an action produces a document, the notes say where it is, for example &lt;code&gt;warehouse/checklists/returns-checklist_v4&lt;/code&gt; (illustrative).&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>productivity</category>
      <category>management</category>
      <category>spreadsheets</category>
      <category>meetings</category>
    </item>
    <item>
      <title>How to combine multiple Excel files with different columns into one fixed report, and check the totals</title>
      <dc:creator>Duaer Team</dc:creator>
      <pubDate>Thu, 08 Oct 2026 01:16:56 +0000</pubDate>
      <link>https://dev.to/duaerteam/how-to-combine-multiple-excel-files-with-different-columns-into-one-fixed-report-and-check-the-64m</link>
      <guid>https://dev.to/duaerteam/how-to-combine-multiple-excel-files-with-different-columns-into-one-fixed-report-and-check-the-64m</guid>
      <description>&lt;p&gt;If you work in operations, admin, a PMO or a budget office, you probably know the routine: every month or quarter, several projects, departments or regions each send you their own file or sheet, and you roll them up into one report with a fixed layout that goes to leadership or finance.&lt;/p&gt;

&lt;p&gt;Disclosure: I'm on the Duaer team, and this article was drafted with AI help.&lt;/p&gt;

&lt;p&gt;The merge itself is rarely the hard part. The hard parts are that no two sheets look alike, and that once the report is done, nobody can quite explain why the total is the number it is. This article walks through a method you can reuse every period: a column mapping table, a fixed set of cleaning rules, an exceptions table that separates "included after a fix" from "excluded", a reconciliation page that ties every number back to its source, and an acceptance checklist you can copy.&lt;/p&gt;

&lt;p&gt;The images below come from an illustrative demo workbook we built: four regional source sheets, a merged detail sheet, an exceptions sheet, a summary report and a checks page. Every number in it is randomly generated, and row 1 of every sheet says so. None of it comes from a real business or a real transaction.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why "everyone fills in their own sheet" goes wrong
&lt;/h2&gt;

&lt;p&gt;When the sheets come from different people, a predictable set of problems shows up period after period:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Different column names and order.&lt;/strong&gt; One region calls it "Order ID", another "Order #", a third "Order No". Dates are in column A in one sheet and column B in the next.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Mixed date formats.&lt;/strong&gt; One sheet has real dates. Another has text such as &lt;code&gt;2026/7/3&lt;/code&gt;. A third has text such as &lt;code&gt;3 Jul 2026&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Amounts stored as text with commas.&lt;/strong&gt; The cell shows &lt;code&gt;4,420.00&lt;/code&gt;, but it is a string. SUM quietly skips it, the total comes out low, and nothing warns you.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Subtotal rows mixed into the data.&lt;/strong&gt; Someone adds a "month total" row at the end of each month. Treat it as an order and that month is counted twice.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Blank rows and exact duplicates.&lt;/strong&gt; Left over from copy and paste.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;One order ID on two rows with different quantities.&lt;/strong&gt; The dangerous one, because there is no way to tell from the sheet which row is right.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;None of these is hard to fix once. The problem is fixing them every period, slightly differently each time. The goal is to turn each fix into a written rule, keep the rules in the workbook, and leave a trail anyone can follow.&lt;/p&gt;

&lt;h2&gt;
  
  
  Before you start
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Pin down the report layout.&lt;/strong&gt; The best spec is last period's report, the one that was accepted. Which columns, which breakdown (for example month by region), where the totals sit. Once the layout is fixed, each period only the data changes.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Keep an untouched copy of every source sheet.&lt;/strong&gt; Never clean in place. Every check later on goes back to the original, and an edited original cannot be reconciled.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Count the raw data rows per sheet.&lt;/strong&gt; Everything below the header, including blank and subtotal rows. That count is where your reconciliation starts.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Decide what you don't want anyone deciding for you.&lt;/strong&gt; If an order appears twice with different quantities, do you want the person doing the merge to pick one, or to list both for you to confirm? I'd strongly suggest the second.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Step 1: Build a column mapping table
&lt;/h2&gt;

&lt;p&gt;The mapping table answers one question: for every column in every source sheet, which unified field does it feed, and what was done to it? It is the instruction sheet for the job. Next period you follow it again; if someone else takes over, they follow it too.&lt;/p&gt;

&lt;p&gt;Here is the mapping sheet from the illustrative demo:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fosvxocfsej5z0w6x8ks3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fosvxocfsej5z0w6x8ks3.png" alt="Column mapping sheet: each source sheet's columns mapped to unified fields, with the handling rule for each field (illustrative data)" width="800" height="137"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A header you can copy (illustrative values, swap in your own column names):&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Unified field&lt;/th&gt;
&lt;th&gt;Sheet A column&lt;/th&gt;
&lt;th&gt;Sheet B column&lt;/th&gt;
&lt;th&gt;Sheet C column&lt;/th&gt;
&lt;th&gt;Handling&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Order ID&lt;/td&gt;
&lt;td&gt;Order ID&lt;/td&gt;
&lt;td&gt;Order #&lt;/td&gt;
&lt;td&gt;Order No&lt;/td&gt;
&lt;td&gt;Kept as is; used for duplicate checks&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Date&lt;/td&gt;
&lt;td&gt;Date&lt;/td&gt;
&lt;td&gt;Date (text, 2026/7/3)&lt;/td&gt;
&lt;td&gt;Order time (text, 3 Jul 2026)&lt;/td&gt;
&lt;td&gt;Converted to real dates, shown as YYYY-MM-DD&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Region&lt;/td&gt;
&lt;td&gt;(none)&lt;/td&gt;
&lt;td&gt;(none)&lt;/td&gt;
&lt;td&gt;(none)&lt;/td&gt;
&lt;td&gt;Filled in from the sheet name&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Amount&lt;/td&gt;
&lt;td&gt;Amount&lt;/td&gt;
&lt;td&gt;Amount (text with commas)&lt;/td&gt;
&lt;td&gt;Deal amount&lt;/td&gt;
&lt;td&gt;Commas removed, converted to numbers; blanks go to Exceptions&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;(not used)&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;Notes&lt;/td&gt;
&lt;td&gt;Not in the report; kept in the source&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Three rules for a good mapping table:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Every column of every sheet appears.&lt;/strong&gt; Columns you don't need are listed as "not used", so the next person knows they were dropped on purpose.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The Handling column states a rule, not an outcome.&lt;/strong&gt; "Commas removed, converted to numbers" works next period too. "Fixed" doesn't.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Fields the report needs but the sources lack say where they come from.&lt;/strong&gt; Region from the sheet name, month from the date.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Step 2: Clean by category, with a fixed rule for each
&lt;/h2&gt;

&lt;p&gt;With columns aligned, work through the problem types in this order. For each one, decide what happens to the row and where the evidence goes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Text amounts.&lt;/strong&gt; Strip the thousands separators and convert. A helper column in Excel or Sheets does it:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;=VALUE(SUBSTITUTE(E3,",",""))
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Mixed dates.&lt;/strong&gt; Normalise text into something unambiguous before converting. &lt;code&gt;DATEVALUE&lt;/code&gt; on a string like &lt;code&gt;3 Jul 2026&lt;/code&gt; depends on your locale settings and failed in one of our test environments, so for that pattern a lookup on the month abbreviation is safer:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;=DATE(VALUE(RIGHT(B3,4)),
      MATCH(MID(B3,FIND(" ",B3)+1,3),{"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"},0),
      VALUE(LEFT(B3,FIND(" ",B3)-1)))
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;For &lt;code&gt;2026/7/3&lt;/code&gt;, &lt;code&gt;=DATEVALUE(SUBSTITUTE(B3,"/","-"))&lt;/code&gt; worked in our tests. Whatever you use, spot-check a few rows afterwards and confirm every date falls inside the reporting period.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Subtotal rows.&lt;/strong&gt; They are not orders, so they stay out of the detail. Don't just throw them away, though. A subtotal is a number the sheet owner calculated themselves, which is exactly what you want to reconcile against later. Log each one in the exceptions table as "excluded, used as a cross-check".&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Blank rows.&lt;/strong&gt; Excluded, but logged with sheet and row number, so the gap between raw rows and merged rows can be explained line by line.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Exact duplicates.&lt;/strong&gt; Only treat a row as a duplicate when the order ID and every other column match. Keep the first occurrence and log the rest. Building a key from the whole row is more reliable than checking the order ID alone:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;=COUNTIF(K3:K2000,K3)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Here column K joins order ID, date, product, quantity and amount with a &lt;code&gt;|&lt;/code&gt; separator; anything above 1 is a duplicate.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Same order ID, different quantity.&lt;/strong&gt; Do not guess. "Keep the larger one" or "keep the later one" sounds reasonable, but either way you have made a business decision for someone else. Exclude both rows, list them as waiting for the owner's call, and add the confirmed row back once you hear.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Blank amounts.&lt;/strong&gt; Two cases. If quantity and unit price are both present, you can fill in quantity × unit price and include the row, but it must be listed in the exceptions table so everyone knows the number was calculated. If quantity is missing too, leave it out and wait; don't estimate.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 3: An exceptions table that separates "included after fix" from "excluded"
&lt;/h2&gt;

&lt;p&gt;Every row that was skipped, recalculated or put on hold goes into one exceptions table. This is the one from the illustrative demo:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fzkadciygsdexkciepkoj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fzkadciygsdexkciepkoj.png" alt="Exceptions sheet: each row lists source sheet, source row, order ID, issue, handling, whether it was included, and the amount involved (illustrative data)" width="800" height="271"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Header to copy:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Source sheet&lt;/th&gt;
&lt;th&gt;Source row&lt;/th&gt;
&lt;th&gt;Order ID&lt;/th&gt;
&lt;th&gt;Issue&lt;/th&gt;
&lt;th&gt;Handling&lt;/th&gt;
&lt;th&gt;Included&lt;/th&gt;
&lt;th&gt;Amount involved&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The "Included" column takes only Yes or No:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Yes&lt;/strong&gt; means the row was corrected and is in the merged detail. The exceptions table is simply telling you it was touched.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;No&lt;/strong&gt; means the row is not in the merged result at all: blanks, subtotals, duplicates, and anything waiting for confirmation.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In this illustrative demo file, the four source sheets hold 6,324 raw data rows in total and the merged detail holds 6,303. The exceptions table has 25 rows: 21 excluded and 4 included after the amount was recalculated as quantity × unit price. The 21 excluded rows are 8 exact duplicates, 3 blank rows, 3 monthly subtotal rows, 3 rows with neither amount nor quantity, and 4 rows belonging to two order IDs that each appear twice with different quantities. Those four are all left out until the owner confirms. 6,303 plus 21 is 6,324, so every raw row is accounted for.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 4: A reconciliation page that explains the total
&lt;/h2&gt;

&lt;p&gt;This is the page worth the most effort. It doesn't ask whether the report looks right; it asks whether a handful of equations hold. The checks page from the illustrative demo:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fa0wgstn7ohzuqg3vyoww.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fa0wgstn7ohzuqg3vyoww.png" alt="Checks and acceptance sheet: per-sheet row and amount checks, North sheet subtotals against merged month totals, summary total against merged detail total, and a yes/no checklist (illustrative data)" width="800" height="280"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Three groups of checks cover most of the risk.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Per sheet, rows and amounts.&lt;/strong&gt; One line per source sheet: raw data rows, merged rows, excluded rows from the exceptions table. Then the source amount calculated under the same rules, and the merged amount.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;=IF(B3=C3+D3,"Match","Mismatch")
=IF(ROUND(F3-G3,2)=0,"Match","Mismatch")
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;"Calculated under the same rules" is doing real work there. Text amounts are summed after stripping commas. A sheet with subtotal rows is summed without them. A sheet with recalculated amounts adds those back. A sheet with excluded duplicates subtracts them. If the check uses different rules from the cleaning, it proves nothing.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Existing subtotals against merged totals.&lt;/strong&gt; If a source sheet came with its own monthly subtotals, compare each one with the merged total for the same region and month. When the owner's own arithmetic agrees with your merge, you know no rows went missing or got doubled in between.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Report total against merged detail total.&lt;/strong&gt; Build the summary report entirely from formulas that point at the merged detail (SUMIFS by month and region, for example), so the two totals should be equal by construction. When they aren't, it is usually a month or region label written slightly differently and silently left out.&lt;/p&gt;

&lt;p&gt;In the illustrative demo, that adds up to 12 checks: 4 row checks, 4 amount checks, 3 monthly subtotal checks for the North sheet and 1 grand-total check. All 12 show "Match".&lt;/p&gt;

&lt;h2&gt;
  
  
  Acceptance checklist (answer yes or no to each)
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;[ ] The column mapping covers every column of every source sheet; unused columns are marked "not used"&lt;/li&gt;
&lt;li&gt;[ ] The report's columns, breakdown and total positions match the agreed fixed layout&lt;/li&gt;
&lt;li&gt;[ ] Every date in the merged detail is a real date and falls inside the period&lt;/li&gt;
&lt;li&gt;[ ] Every amount, quantity and unit price in the merged detail is a number, not text&lt;/li&gt;
&lt;li&gt;[ ] Every merged row carries its source sheet and source row, and a few picked at random trace back correctly&lt;/li&gt;
&lt;li&gt;[ ] Per sheet: raw data rows = merged rows + excluded rows in the exceptions table&lt;/li&gt;
&lt;li&gt;[ ] Per sheet: source amount under the cleaning rules = merged amount&lt;/li&gt;
&lt;li&gt;[ ] Each existing subtotal in a source sheet (if any) = the matching merged total&lt;/li&gt;
&lt;li&gt;[ ] Report grand total = merged detail amount total&lt;/li&gt;
&lt;li&gt;[ ] Every exceptions row states the issue, the handling and Yes/No for included&lt;/li&gt;
&lt;li&gt;[ ] Every recalculated row is listed in the exceptions table with how it was calculated&lt;/li&gt;
&lt;li&gt;[ ] Rows sharing an order ID with different content were not resolved by guessing and are listed for the owner&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Hand the report over only when every line is yes.&lt;/p&gt;

&lt;h2&gt;
  
  
  Common pitfalls
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Text amounts skipped without warning.&lt;/strong&gt; SUM ignores text and doesn't complain. Add "every amount is a number" to the checklist, and calculate the per-sheet source amount from comma-stripped values.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Subtotal rows counted as orders.&lt;/strong&gt; They look like data rows with a blank order ID. Pull them out before merging, log them as exceptions, and add "existing subtotal = merged total" to the checklist.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Deduplicating on order ID alone.&lt;/strong&gt; A repeated ID can be a pasted copy or two genuinely different records. Remove only exact duplicates automatically; list the rest.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Dates landing in the wrong month.&lt;/strong&gt; Day and month get swapped, and 3 July becomes 7 March. Check that every date is inside the period, and compare row counts per month with last period.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Hand-typed numbers in the report.&lt;/strong&gt; Typed in under deadline pressure, they break the moment next period's data arrives. Keep every report cell a formula, and say so in the checklist.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Logging what was dropped but not what was recalculated.&lt;/strong&gt; Recalculated rows feel finished because they're in the result. Log both kinds, with the Included column filled in every time.&lt;/p&gt;

&lt;h2&gt;
  
  
  Handing it off
&lt;/h2&gt;

&lt;p&gt;If you pass this job to a colleague or to an AI, give them three things up front: the original source sheets, last period's accepted report, and your preference for rows that need confirmation. Ask for the mapping table, the exceptions table and the reconciliation page back, then go down the checklist.&lt;/p&gt;

</description>
      <category>excel</category>
      <category>spreadsheets</category>
      <category>productivity</category>
      <category>tutorial</category>
    </item>
  </channel>
</rss>
