<?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: Ashish Srivastava</title>
    <description>The latest articles on DEV Community by Ashish Srivastava (@ashishexcelnotes).</description>
    <link>https://dev.to/ashishexcelnotes</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%2F4196358%2F1f75e1f3-818d-40ee-ae92-0591c24bd5d3.png</url>
      <title>DEV Community: Ashish Srivastava</title>
      <link>https://dev.to/ashishexcelnotes</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ashishexcelnotes"/>
    <language>en</language>
    <item>
      <title>Payroll register in Excel: gross pay, deductions and net pay for a small team</title>
      <dc:creator>Ashish Srivastava</dc:creator>
      <pubDate>Sat, 31 Oct 2026 13:34:36 +0000</pubDate>
      <link>https://dev.to/ashishexcelnotes/payroll-register-in-excel-gross-pay-deductions-and-net-pay-for-a-small-team-3254</link>
      <guid>https://dev.to/ashishexcelnotes/payroll-register-in-excel-gross-pay-deductions-and-net-pay-for-a-small-team-3254</guid>
      <description>&lt;p&gt;&lt;em&gt;Written with AI assistance.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;If you pay a handful of people, you don't need payroll software to stay organised. You need one register with a row per employee per month, and formulas that work out gross pay, deductions and net pay. This guide builds that register in Excel, so you type each number once and can print a payslip for anyone.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; deductions, contributions and reporting duties depend on where you operate. This article shows spreadsheet mechanics only, with rates you enter yourself. It is not tax, payroll, legal or accounting advice; check the rules with a qualified adviser.&lt;/p&gt;

&lt;h2&gt;
  
  
  Sheet 1: Employees
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Col&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;Emp ID&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;B&lt;/td&gt;
&lt;td&gt;Name&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;C&lt;/td&gt;
&lt;td&gt;Job title&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;D&lt;/td&gt;
&lt;td&gt;Start date&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;E&lt;/td&gt;
&lt;td&gt;Monthly base pay&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;F&lt;/td&gt;
&lt;td&gt;Fixed allowances&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;G&lt;/td&gt;
&lt;td&gt;Deduction 1 % (for example tax withholding)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;H&lt;/td&gt;
&lt;td&gt;Deduction 2 % (for example pension)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;I&lt;/td&gt;
&lt;td&gt;Fixed deduction per month&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;J&lt;/td&gt;
&lt;td&gt;Employer contribution % (optional)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;You enter the rates that apply to you; nothing is preset. Keep only what you need. Full bank and ID numbers don't belong in a spreadsheet you email around.&lt;/p&gt;

&lt;h2&gt;
  
  
  Sheet 2: Register (one row per employee per month)
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Col&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;Month (first day, e.g. 2026-10-01)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;B&lt;/td&gt;
&lt;td&gt;Emp ID&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;C&lt;/td&gt;
&lt;td&gt;Days in month&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;D&lt;/td&gt;
&lt;td&gt;Days paid&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;E&lt;/td&gt;
&lt;td&gt;Base pay&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;F&lt;/td&gt;
&lt;td&gt;Allowances&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;G&lt;/td&gt;
&lt;td&gt;Other earnings&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;H&lt;/td&gt;
&lt;td&gt;Gross&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;I&lt;/td&gt;
&lt;td&gt;Deduction 1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;J&lt;/td&gt;
&lt;td&gt;Deduction 2&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;K&lt;/td&gt;
&lt;td&gt;Fixed deduction&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;L&lt;/td&gt;
&lt;td&gt;Other deductions&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;M&lt;/td&gt;
&lt;td&gt;Total deductions&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;N&lt;/td&gt;
&lt;td&gt;Net pay&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Days in month (C2):&lt;/strong&gt; &lt;code&gt;=DAY(EOMONTH(A2,0))&lt;/code&gt;. If you pay on working days (Monday to Friday), use &lt;code&gt;=NETWORKDAYS(A2,EOMONTH(A2,0))&lt;/code&gt; instead.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pro-rated base pay (E2)&lt;/strong&gt;, for someone who started mid-month or took unpaid leave:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;=IF($B2="","",ROUND(INDEX(Employees!$E:$E,MATCH($B2,Employees!$A:$A,0))*D2/C2,2))
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Copy the same pattern for allowances (column F of Employees).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Gross, deductions, net:&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;H2: =IF($B2="","",E2+F2+N(G2))
I2: =IF($B2="","",ROUND(H2*INDEX(Employees!$G:$G,MATCH($B2,Employees!$A:$A,0)),2))
J2: =IF($B2="","",ROUND(H2*INDEX(Employees!$H:$H,MATCH($B2,Employees!$A:$A,0)),2))
K2: =IF($B2="","",INDEX(Employees!$I:$I,MATCH($B2,Employees!$A:$A,0)))
M2: =IF($B2="","",I2+J2+K2+N(L2))
N2: =IF($B2="","",H2-M2)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The percentage deductions here are taken from gross pay. If a rule you follow works on a different base, change the formula to match it. Keeping the rates in the Employees sheet means that when one changes, you update one cell, not a formula.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Quick check:&lt;/strong&gt; base pay 4,200 plus allowances 300 for a full month is a gross of 4,500. At a 15% deduction 1 that is 675. Half a month (15 of 30 days) gives a gross of 2,250 and a deduction of 337.50.&lt;/p&gt;

&lt;h2&gt;
  
  
  Add checks
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Days paid can't exceed days in month.&lt;/strong&gt; Select column D, &lt;strong&gt;Data &amp;gt; Data Validation&lt;/strong&gt;, whole number between 0 and &lt;code&gt;=C2&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Duplicates.&lt;/strong&gt; A check column catches the same person and month entered twice:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;=IF(COUNTIFS($A:$A,A2,$B:$B,B2)&amp;gt;1,"Duplicate","OK")
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Unknown IDs.&lt;/strong&gt; Wrap the lookups in &lt;code&gt;IFERROR(...,0)&lt;/code&gt; and add a Name column that shows &lt;code&gt;"Check ID"&lt;/code&gt; when the ID isn't in the Employees list.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  A monthly summary without a pivot table
&lt;/h2&gt;

&lt;p&gt;On a &lt;strong&gt;Summary&lt;/strong&gt; sheet, list months down column A and use SUMIFS:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Gross:      =SUMIFS(Register!$H:$H,Register!$A:$A,A2)
Deductions: =SUMIFS(Register!$M:$M,Register!$A:$A,A2)
Net pay:    =SUMIFS(Register!$N:$N,Register!$A:$A,A2)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;For a year-to-date total, add a start and end date:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;=SUMIFS(Register!$N:$N,Register!$A:$A,"&amp;gt;="&amp;amp;DATE(2026,1,1),Register!$A:$A,"&amp;lt;="&amp;amp;DATE(2026,12,1))
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Overtime and one-off payments
&lt;/h2&gt;

&lt;p&gt;Bonuses, overtime and reimbursements don't belong in the Employees sheet because they change each month. Put them in the Register's &lt;strong&gt;Other earnings&lt;/strong&gt; column and include them in gross, as above. Label them clearly on the payslip so the employee can see where the extra amount came from.&lt;/p&gt;

&lt;h2&gt;
  
  
  Employer cost (optional)
&lt;/h2&gt;

&lt;p&gt;If you track an employer contribution, add one more column: &lt;code&gt;=ROUND(H2*INDEX(Employees!$J:$J,MATCH($B2,Employees!$A:$A,0)),2)&lt;/code&gt;. Total payroll cost for the month is then gross plus that column.&lt;/p&gt;

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

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Overwriting last month's rows.&lt;/strong&gt; Add new rows each month; the register is your history.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Rates hard-coded in formulas.&lt;/strong&gt; Keep them in the Employees sheet.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Duplicate rows&lt;/strong&gt; for the same person and month. Use the check column.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Sharing the whole file.&lt;/strong&gt; Send each person a PDF of their own slip, not the register.&lt;/li&gt;
&lt;/ol&gt;




&lt;p&gt;&lt;em&gt;Written with AI tools. This is general spreadsheet guidance for Excel (.xlsx), not tax, legal or accounting advice.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Practical spreadsheet templates for small businesses, made with AI assistance.&lt;/p&gt;

</description>
      <category>excel</category>
      <category>spreadsheets</category>
      <category>productivity</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>FLASH40 has ended — Excel templates for freelancers and small shops (full price)</title>
      <dc:creator>Ashish Srivastava</dc:creator>
      <pubDate>Fri, 30 Oct 2026 18:55:20 +0000</pubDate>
      <link>https://dev.to/ashishexcelnotes/flash40-has-ended-excel-templates-for-freelancers-and-small-shops-full-price-3je7</link>
      <guid>https://dev.to/ashishexcelnotes/flash40-has-ended-excel-templates-for-freelancers-and-small-shops-full-price-3je7</guid>
      <description>&lt;h1&gt;
  
  
  FLASH40 has ended — templates still available at full price
&lt;/h1&gt;

&lt;p&gt;The &lt;strong&gt;FLASH40&lt;/strong&gt; 40% off window closed after &lt;strong&gt;30 Oct 2026 11:59 PM IST&lt;/strong&gt;. The same Excel templates remain on Gumroad at regular prices.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Live paid templates&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://ashishsrivastavajay.gumroad.com/l/fhoirr" rel="noopener noreferrer"&gt;Agency Admin Workbook&lt;/a&gt; — $15&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://ashishsrivastavajay.gumroad.com/l/gehzwf" rel="noopener noreferrer"&gt;Admin Data Consolidation&lt;/a&gt; — $15&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://ashishsrivastavajay.gumroad.com/l/dcbkqg" rel="noopener noreferrer"&gt;Order &amp;amp; Shipping Tracker&lt;/a&gt; — $8&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://ashishsrivastavajay.gumroad.com/l/vcqscv" rel="noopener noreferrer"&gt;Freelance Income Tracker&lt;/a&gt; — $9&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://ashishsrivastavajay.gumroad.com/l/lozujz" rel="noopener noreferrer"&gt;Sheets Bundle&lt;/a&gt; — $19&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://ashishsrivastavajay.gumroad.com/l/hpuzo" rel="noopener noreferrer"&gt;Simple Bookkeeping&lt;/a&gt; — $6&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Free starter (always $0):&lt;/strong&gt; &lt;a href="https://ashishsrivastavajay.gumroad.com/l/free-order-payment-tracker" rel="noopener noreferrer"&gt;Order &amp;amp; Payment Tracker&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Made with AI tools under my direction. Plain formulas where noted — check each product page for macros/VBA. Global templates — not tax, payroll, or legal advice. Questions welcome in the comments.&lt;/p&gt;

</description>
      <category>excel</category>
      <category>freelancers</category>
      <category>productivity</category>
      <category>discuss</category>
    </item>
    <item>
      <title>Sales tax / VAT on an Excel invoice — rates, inclusive prices, and rounding</title>
      <dc:creator>Ashish Srivastava</dc:creator>
      <pubDate>Fri, 30 Oct 2026 18:54:59 +0000</pubDate>
      <link>https://dev.to/ashishexcelnotes/sales-tax-vat-on-an-excel-invoice-rates-inclusive-prices-and-rounding-2h1a</link>
      <guid>https://dev.to/ashishexcelnotes/sales-tax-vat-on-an-excel-invoice-rates-inclusive-prices-and-rounding-2h1a</guid>
      <description>&lt;p&gt;Sales tax, VAT and similar taxes all work the same way in a spreadsheet: a percentage applied to an amount. What differs is the rate, whether prices include the tax, and how you round. This guide shows a simple, generic tax % column for an Excel invoice template and the logic behind it, using plain formulas that work in older Excel versions too.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; which rate applies, whether you must charge tax and what an invoice must show depend on where you operate. This is about spreadsheet logic only. It is not tax, legal or accounting advice; check the rules with a qualified adviser.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Keep one default rate in Settings
&lt;/h2&gt;

&lt;p&gt;Make a &lt;strong&gt;Settings&lt;/strong&gt; sheet and type your default tax rate in one cell, say &lt;code&gt;Settings!B7&lt;/code&gt; = &lt;code&gt;8%&lt;/code&gt;. Type &lt;code&gt;0%&lt;/code&gt; if you don't charge tax. Every formula points at this cell, so you never type the rate twice.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. The invoice log
&lt;/h2&gt;

&lt;p&gt;On an &lt;strong&gt;Invoices&lt;/strong&gt; sheet, one row per invoice: B = date, C = customer, D = amount before tax, E = tax % (optional, leave blank to use the default).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Rate used (H2):&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($B2="","",IF(E2="",Settings!$B$7,E2))
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;A blank means "use the default". A typed &lt;code&gt;0%&lt;/code&gt; means "no tax on this one", so the two cases stay different.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Tax (F2) and total (G2):&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;F2: =IF($B2="","",ROUND(D2*H2,2))
G2: =IF($B2="","",D2+F2)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Quick check:&lt;/strong&gt; 1,000 at 8% gives tax 80 and a total of 1,080. The same 1,000 with &lt;code&gt;5%&lt;/code&gt; typed in column E gives 50 and 1,050, and with &lt;code&gt;0%&lt;/code&gt; gives 0 and 1,000.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. When your prices already include tax
&lt;/h2&gt;

&lt;p&gt;Some businesses quote one price that includes tax. Then you work backwards from the price. In a spare area, put the tax-inclusive price in P2, the rate in Q2, and:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Net amount (R2): =ROUND(P2/(1+Q2),2)
Tax part (S2):   =P2-R2
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;With 1,080 at 8%, the net is 1,000 and the tax part is 80. Use the tax part as a difference, not as a second rounded calculation, so net and tax always add back to the total.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. Mixed rates on one invoice
&lt;/h2&gt;

&lt;p&gt;If different items carry different rates, put the rate on each line instead of the invoice. On an &lt;strong&gt;Items&lt;/strong&gt; list add a tax % column (blank = default). The line formula picks the item's rate if there is one and the default if not:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;=IFERROR(IF(INDEX(Items!$C:$C,MATCH($A10,Items!$A:$A,0))="",Settings!$B$7,INDEX(Items!$C:$C,MATCH($A10,Items!$A:$A,0))),Settings!$B$7)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  5. Round each line, then add
&lt;/h2&gt;

&lt;p&gt;Rounding can make totals differ by a cent. Take three items at 0.50 with 5% tax:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Round each line: 0.03 + 0.03 + 0.03 = &lt;strong&gt;0.09&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Add first, then round: 1.50 x 5% = 0.075, which rounds to &lt;strong&gt;0.08&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Neither is "wrong". What matters is picking one method and using it everywhere. Rounding each line means the tax column always adds up to what's printed on each line, which is why the formulas above round per line. If you need a particular rounding method, ask your adviser.&lt;/p&gt;

&lt;h2&gt;
  
  
  6. A tax summary by rate
&lt;/h2&gt;

&lt;p&gt;If you use more than one rate, list the rates in a small table (say M2:M5) and use SUMIFS on the "rate used" column:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Amount at this rate: =SUMIFS($D$2:$D$500,$H$2:$H$500,M2)
Tax at this rate:    =SUMIFS($F$2:$F$500,$H$2:$H$500,M2)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Add a check that the table's total equals &lt;code&gt;=SUM(F2:F500)&lt;/code&gt;. If it doesn't, a row uses a rate that isn't in your list.&lt;/p&gt;

&lt;h2&gt;
  
  
  7. Why every formula starts with &lt;code&gt;IF($B2="","",…)&lt;/code&gt;
&lt;/h2&gt;

&lt;p&gt;You'll fill formulas down 500 rows ahead of time. If they aren't wrapped, empty rows show 0 or errors, and your totals and charts get messy. Using the date cell as the "is this row in use?" check keeps unused rows blank.&lt;/p&gt;

&lt;h2&gt;
  
  
  8. Turn the log into a receivables list
&lt;/h2&gt;

&lt;p&gt;Add columns for &lt;strong&gt;due date&lt;/strong&gt; (I = date + payment terms) and &lt;strong&gt;amount received&lt;/strong&gt; (J), then:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Balance (K):      =IF($B2="","",G2-N(J2))
Days overdue (L): =IF($B2="","",IF(AND(K2&amp;gt;0,TODAY()&amp;gt;I2),TODAY()-I2,0))
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;A per-customer &lt;code&gt;SUMIFS&lt;/code&gt; on balance and days overdue then gives 0-30 / 31-60 / 61-90 / 90+ buckets, which is your follow-up list for the week.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;Hard-coding the rate inside formulas. Keep it in a cell.&lt;/li&gt;
&lt;li&gt;Mixing amounts before tax and after tax in one column.&lt;/li&gt;
&lt;li&gt;Leaving the tax cell blank when you mean zero. Type &lt;code&gt;0%&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Using a rate from an old invoice for a new one. Check your rates when they change.&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;em&gt;Written with AI tools. This is general spreadsheet guidance for Excel (.xlsx), not tax, legal or accounting advice.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Practical spreadsheet templates for small businesses, made with AI assistance.&lt;/p&gt;

</description>
      <category>excel</category>
      <category>spreadsheets</category>
      <category>productivity</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Order &amp; Shipping Tracker in Excel — ship-by dates and late flags (40% off through 30 Oct)</title>
      <dc:creator>Ashish Srivastava</dc:creator>
      <pubDate>Thu, 29 Oct 2026 16:02:31 +0000</pubDate>
      <link>https://dev.to/ashishexcelnotes/order-shipping-tracker-in-excel-ship-by-dates-and-late-flags-40-off-through-30-oct-1pak</link>
      <guid>https://dev.to/ashishexcelnotes/order-shipping-tracker-in-excel-ship-by-dates-and-late-flags-40-off-through-30-oct-1pak</guid>
      <description>&lt;h1&gt;
  
  
  Order &amp;amp; Shipping Tracker — 40% off with FLASH40 through 30 Oct
&lt;/h1&gt;

&lt;p&gt;&lt;strong&gt;Update (30 Oct):&lt;/strong&gt; FLASH40 ends &lt;strong&gt;tonight at 11:59 PM IST&lt;/strong&gt; — last hours at 40% off. After that, full price.&lt;/p&gt;

&lt;p&gt;For freelancers and small shops who track orders in scattered notes: one Excel file with ship-by dates, late flags, and simple profit-per-order math.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What's in it&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Order log with ship-by date&lt;/li&gt;
&lt;li&gt;Late / on-time flags (plain formulas — no macros)&lt;/li&gt;
&lt;li&gt;Basic profit / order view&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Price:&lt;/strong&gt; usually $8. Code &lt;strong&gt;FLASH40&lt;/strong&gt; = 40% off (~$5) through &lt;strong&gt;30 Oct 2026 11:59 PM IST&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;→ &lt;a href="https://ashishsrivastavajay.gumroad.com/l/dcbkqg?code=FLASH40" rel="noopener noreferrer"&gt;Order &amp;amp; Shipping Tracker on Gumroad&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Same sale (same code):&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://ashishsrivastavajay.gumroad.com/l/fhoirr?code=FLASH40" rel="noopener noreferrer"&gt;Agency Admin Workbook&lt;/a&gt; (~$9)&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://ashishsrivastavajay.gumroad.com/l/gehzwf?code=FLASH40" rel="noopener noreferrer"&gt;Admin Data Consolidation&lt;/a&gt; (~$9)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://ashishsrivastavajay.gumroad.com/l/vcqscv?code=FLASH40" rel="noopener noreferrer"&gt;Freelance Income Tracker&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Free (no code): &lt;a href="https://ashishsrivastavajay.gumroad.com/l/free-order-payment-tracker" rel="noopener noreferrer"&gt;Order &amp;amp; Payment Tracker&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Made with AI tools under my direction. Global templates — not tax or legal advice. Questions welcome in the comments.&lt;/p&gt;

</description>
      <category>excel</category>
      <category>freelancing</category>
      <category>productivity</category>
      <category>discuss</category>
    </item>
    <item>
      <title>ChatGPT Prompts for Small Business Owners: 8 Fill-in Templates and How to Use Them</title>
      <dc:creator>Ashish Srivastava</dc:creator>
      <pubDate>Thu, 29 Oct 2026 13:38:00 +0000</pubDate>
      <link>https://dev.to/ashishexcelnotes/chatgpt-prompts-for-small-business-owners-8-fill-in-templates-and-how-to-use-them-nb4</link>
      <guid>https://dev.to/ashishexcelnotes/chatgpt-prompts-for-small-business-owners-8-fill-in-templates-and-how-to-use-them-nb4</guid>
      <description>&lt;p&gt;&lt;em&gt;Written with AI assistance. The prompts below are starting points; results depend on the details you add and the tool you use.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;A prompt is a short brief. The more specific it is, the less editing you do afterwards. The shortcut is a &lt;strong&gt;fill-in template&lt;/strong&gt;: a prompt with [brackets] where your details go, saved so you only fill the blanks.&lt;/p&gt;

&lt;p&gt;Below are eight, covering parts of a small shop that people often forget about. Each is written to be pasted into ChatGPT or any other AI chat tool.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. How to fill the brackets
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Replace every [bracket]. A prompt with a bracket left in gets generic output.&lt;/li&gt;
&lt;li&gt;Give real numbers: the date, the order number, the price.&lt;/li&gt;
&lt;li&gt;Say who's reading. "A customer who has waited a week" gets a different reply from "a new customer".&lt;/li&gt;
&lt;li&gt;Ask for a length. "Three sentences" or "under 80 words" saves trimming.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  2. Eight fill-in prompts
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Product description (listing)&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;Write a product description for [product]. Buyer: [who]. Key features: [features]. Tone: [tone]. Under [80] words.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Listing titles&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;Give me 10 listing title options for [product] sold on [platform]. Include [keyword] and keep each under [60] characters.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Shipping update (customer email)&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;Write a shipping update for order [order number]. It left on [date] with [carrier]; tracking number [number]. Friendly, three sentences.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Delay apology (customer email)&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;Write a polite apology for a delay on order [order number]. New date: [date]. Offer [remedy]. No excuses, no blame.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Supplier quote&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;Write a short message to [supplier] asking for a quote on [quantity] of [item], delivery to [place] by [date].
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Pricing sums&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;I pay [cost] per unit plus [shipping] shipping and want about [margin]% margin. Show the maths for a selling price, step by step, so I can check it.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Packing checklist&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;Make a checklist for packing and posting an order, for a shop that sells [product]. Keep it to [8] steps.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Review request&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;Write a short, friendly message asking a customer who received [product] to leave a review. Do not offer anything in return.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  3. Always check what it writes
&lt;/h2&gt;

&lt;p&gt;AI tools write fluently, including when they're wrong. Before you send or publish anything:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Check facts, prices, dates and policies&lt;/strong&gt; against your own records. The tool doesn't know your stock, your carrier or your refund rules unless you told it.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Redo any maths.&lt;/strong&gt; The pricing prompt asks for the steps so you can follow them; confirm the answer with a calculator or a spreadsheet.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Read it aloud.&lt;/strong&gt; If it doesn't sound like you, change it.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Don't promise anything on your behalf&lt;/strong&gt; (refunds, delivery dates, discounts) that you haven't decided yourself.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I haven't measured how well these prompts perform. Results depend on the details you add and the tool you use.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. Keep them in a sheet you can search
&lt;/h2&gt;

&lt;p&gt;Once you have a few dozen, paste them into a sheet: &lt;strong&gt;A Category&lt;/strong&gt;, &lt;strong&gt;B Prompt&lt;/strong&gt;. Put a search word in B1, then in C4:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;=IF($B$1="","",IF(ISNUMBER(SEARCH($B$1,B4)),"match",""))
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Fill it down, and filter column C for "match". Count the matches 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(C4:C104,"match")
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;SEARCH ignores capital letters, so "Tracking" and "tracking" both find the shipping prompt. With the eight prompts above, searching "tracking" finds one match (the shipping update).&lt;/p&gt;

&lt;h2&gt;
  
  
  5. Don't paste private details
&lt;/h2&gt;

&lt;p&gt;Leave out customers' full names, addresses, phone numbers and payment details when you use a public AI tool. Use "a customer" and the order number instead.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Written with AI tools. This is general guidance, not business, legal or accounting advice.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Practical spreadsheet templates for small businesses, made with AI assistance.&lt;/p&gt;

</description>
      <category>chatgpt</category>
      <category>ai</category>
      <category>productivity</category>
      <category>smallbusiness</category>
    </item>
    <item>
      <title>Admin Data Consolidation Workbook — merge messy admin tables in Excel (40% off through 30 Oct)</title>
      <dc:creator>Ashish Srivastava</dc:creator>
      <pubDate>Thu, 29 Oct 2026 08:29:04 +0000</pubDate>
      <link>https://dev.to/ashishexcelnotes/admin-data-consolidation-workbook-merge-messy-admin-tables-in-excel-40-off-through-30-oct-51h1</link>
      <guid>https://dev.to/ashishexcelnotes/admin-data-consolidation-workbook-merge-messy-admin-tables-in-excel-40-off-through-30-oct-51h1</guid>
      <description>&lt;h1&gt;
  
  
  Admin Data Consolidation — 40% off with FLASH40 through 30 Oct
&lt;/h1&gt;

&lt;p&gt;&lt;strong&gt;Update (30 Oct):&lt;/strong&gt; FLASH40 ends &lt;strong&gt;tonight at 11:59 PM IST&lt;/strong&gt; — last hours at 40% off. After that, full price.&lt;/p&gt;

&lt;p&gt;One Excel workbook for merging messy admin tables into a clean working file. &lt;strong&gt;LibreOffice-tested.&lt;/strong&gt; Plain formulas — &lt;strong&gt;no macros / no VBA&lt;/strong&gt;. UI notes in &lt;strong&gt;English + Spanish&lt;/strong&gt;. Built with AI tools under my direction.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Usually $15.&lt;/strong&gt; Code &lt;strong&gt;FLASH40&lt;/strong&gt; = 40% off (~$9) through &lt;strong&gt;30 Oct 2026 11:59 PM IST&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;→ &lt;a href="https://ashishsrivastavajay.gumroad.com/l/gehzwf?code=FLASH40" rel="noopener noreferrer"&gt;Admin Data Consolidation Workbook&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Also in the same sale:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://ashishsrivastavajay.gumroad.com/l/fhoirr?code=FLASH40" rel="noopener noreferrer"&gt;Agency Admin Workbook&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://ashishsrivastavajay.gumroad.com/l/dcbkqg?code=FLASH40" rel="noopener noreferrer"&gt;Order &amp;amp; Shipping Tracker&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Free starter (no code): &lt;a href="https://ashishsrivastavajay.gumroad.com/l/free-order-payment-tracker" rel="noopener noreferrer"&gt;Order &amp;amp; Payment Tracker&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Global templates — not tax, payroll, or legal advice. Questions welcome in the comments.&lt;/p&gt;

</description>
      <category>excel</category>
      <category>spreadsheets</category>
      <category>productivity</category>
      <category>discuss</category>
    </item>
    <item>
      <title>Agency Admin Workbook — clients, income/expense, and reports in one Excel file (40% off through 30 Oct)</title>
      <dc:creator>Ashish Srivastava</dc:creator>
      <pubDate>Thu, 29 Oct 2026 03:42:16 +0000</pubDate>
      <link>https://dev.to/ashishexcelnotes/agency-admin-workbook-clients-incomeexpense-and-reports-in-one-excel-file-40-off-through-30-3joi</link>
      <guid>https://dev.to/ashishexcelnotes/agency-admin-workbook-clients-incomeexpense-and-reports-in-one-excel-file-40-off-through-30-3joi</guid>
      <description>&lt;h1&gt;
  
  
  Agency Admin Workbook — 40% off with FLASH40 through 30 Oct
&lt;/h1&gt;

&lt;p&gt;&lt;strong&gt;Update (30 Oct ~8 PM IST):&lt;/strong&gt; Final hours — FLASH40 ends &lt;strong&gt;tonight at 11:59 PM IST&lt;/strong&gt;. After that, full price.&lt;/p&gt;

&lt;p&gt;I put together an Excel workbook for freelancers and small agencies who juggle clients, money in/out, and simple reports in separate sheets (or worse, in their head).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What's in it&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Client list&lt;/li&gt;
&lt;li&gt;Income and expense log&lt;/li&gt;
&lt;li&gt;Auto-built summary reports (plain Excel formulas — no macros)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Price:&lt;/strong&gt; usually $15. Code &lt;strong&gt;FLASH40&lt;/strong&gt; = 40% off (~$9) through &lt;strong&gt;30 Oct 2026 11:59 PM IST&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;→ &lt;a href="https://ashishsrivastavajay.gumroad.com/l/fhoirr?code=FLASH40" rel="noopener noreferrer"&gt;Agency Admin Workbook on Gumroad&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Other paid Excel templates in the same sale (same code):&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://ashishsrivastavajay.gumroad.com/l/hpuzo?code=FLASH40" rel="noopener noreferrer"&gt;Simple Bookkeeping&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://ashishsrivastavajay.gumroad.com/l/dcbkqg?code=FLASH40" rel="noopener noreferrer"&gt;Order &amp;amp; Shipping Tracker&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://ashishsrivastavajay.gumroad.com/l/lozujz?code=FLASH40" rel="noopener noreferrer"&gt;Sheets Bundle&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Free (no code needed): &lt;a href="https://ashishsrivastavajay.gumroad.com/l/free-order-payment-tracker" rel="noopener noreferrer"&gt;Order &amp;amp; Payment Tracker&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Made with AI tools under my direction. Global templates — not tax, payroll, or legal advice. Happy to answer setup questions in the comments.&lt;/p&gt;

</description>
      <category>excel</category>
      <category>spreadsheets</category>
      <category>productivity</category>
      <category>discuss</category>
    </item>
    <item>
      <title>FLASH40: 40% off my Excel templates for freelancers and small shops (through 30 Oct)</title>
      <dc:creator>Ashish Srivastava</dc:creator>
      <pubDate>Wed, 28 Oct 2026 14:46:43 +0000</pubDate>
      <link>https://dev.to/ashishexcelnotes/flash40-40-off-my-excel-templates-for-freelancers-and-small-shops-through-30-oct-ic3</link>
      <guid>https://dev.to/ashishexcelnotes/flash40-40-off-my-excel-templates-for-freelancers-and-small-shops-through-30-oct-ic3</guid>
      <description>&lt;p&gt;&lt;em&gt;Written with AI assistance. I edited it.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Update (30 Oct ~8 PM IST):&lt;/strong&gt; Final hours — FLASH40 ends &lt;strong&gt;tonight at 11:59 PM IST&lt;/strong&gt;. After that, full price.&lt;/p&gt;

&lt;p&gt;I'm running a short flash sale on the Excel (.xlsx) templates I publish for freelancers and small shops — orders, invoices/receivables, bookkeeping, shipping, inventory, and a sheets bundle.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Code &lt;code&gt;FLASH40&lt;/code&gt; = 40% off every paid product through 30 Oct 2026, 11:59 PM IST.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Start free, then grab what you need:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Free Order &amp;amp; Payment Tracker: &lt;a href="https://ashishsrivastavajay.gumroad.com/l/free-order-payment-tracker" rel="noopener noreferrer"&gt;https://ashishsrivastavajay.gumroad.com/l/free-order-payment-tracker&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Simple Bookkeeping ($6): &lt;a href="https://ashishsrivastavajay.gumroad.com/l/hpuzo?code=FLASH40" rel="noopener noreferrer"&gt;https://ashishsrivastavajay.gumroad.com/l/hpuzo?code=FLASH40&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Invoice &amp;amp; Receivables ($7): &lt;a href="https://ashishsrivastavajay.gumroad.com/l/bxwjyy?code=FLASH40" rel="noopener noreferrer"&gt;https://ashishsrivastavajay.gumroad.com/l/bxwjyy?code=FLASH40&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Order &amp;amp; Shipping Tracker ($8): &lt;a href="https://ashishsrivastavajay.gumroad.com/l/dcbkqg?code=FLASH40" rel="noopener noreferrer"&gt;https://ashishsrivastavajay.gumroad.com/l/dcbkqg?code=FLASH40&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Sheets Bundle ($19): &lt;a href="https://ashishsrivastavajay.gumroad.com/l/lozujz?code=FLASH40" rel="noopener noreferrer"&gt;https://ashishsrivastavajay.gumroad.com/l/lozujz?code=FLASH40&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Shop: &lt;a href="https://ashishsrivastavajay.gumroad.com" rel="noopener noreferrer"&gt;https://ashishsrivastavajay.gumroad.com&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;All templates are made with AI tools under my direction, Excel only, no macros. They're for record-keeping — not tax, legal, or accounting advice.&lt;/p&gt;

&lt;p&gt;If you've sold low-price utility templates before: did a free tracker → niche paid files → bundle convert for you, or did one mid-priced bundle win first? Still looking for the first buyers and hard lessons on discovery.&lt;/p&gt;

</description>
      <category>excel</category>
      <category>spreadsheets</category>
      <category>productivity</category>
      <category>discuss</category>
    </item>
    <item>
      <title>Invoice format in Excel: a simple layout with an optional tax % column</title>
      <dc:creator>Ashish Srivastava</dc:creator>
      <pubDate>Wed, 28 Oct 2026 13:42:10 +0000</pubDate>
      <link>https://dev.to/ashishexcelnotes/invoice-format-in-excel-a-simple-layout-with-an-optional-tax-column-7g5</link>
      <guid>https://dev.to/ashishexcelnotes/invoice-format-in-excel-a-simple-layout-with-an-optional-tax-column-7g5</guid>
      <description>&lt;p&gt;You don't need billing software to send a clean invoice. A well laid out Excel workbook can keep your details in one place, pull customer and item details from lists, add tax if you charge it, and print or save a PDF. This guide builds a simple, worldwide invoice format in Excel step by step.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; whether you charge tax, which rate applies and what an invoice must show depend on where you operate. This article covers spreadsheet layout and formulas only. It is not tax, legal or accounting advice.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 1: A Settings sheet
&lt;/h2&gt;

&lt;p&gt;Make a sheet called &lt;strong&gt;Settings&lt;/strong&gt; with the details that appear on every invoice:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Cell&lt;/th&gt;
&lt;th&gt;Value&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;B2&lt;/td&gt;
&lt;td&gt;Business name&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;B3&lt;/td&gt;
&lt;td&gt;Address&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;B4&lt;/td&gt;
&lt;td&gt;Email&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;B5&lt;/td&gt;
&lt;td&gt;Currency label, e.g. &lt;code&gt;USD&lt;/code&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;B6&lt;/td&gt;
&lt;td&gt;Tax name (for example VAT or Sales tax)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;B7&lt;/td&gt;
&lt;td&gt;Default tax % (type &lt;code&gt;0%&lt;/code&gt; if you don't charge tax)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;B8&lt;/td&gt;
&lt;td&gt;Invoice prefix, e.g. &lt;code&gt;INV-&lt;/code&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;B9&lt;/td&gt;
&lt;td&gt;Payment details&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Every invoice formula points at these cells, so if your address changes you edit one cell.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 2: Customers and Items lists
&lt;/h2&gt;

&lt;p&gt;On a &lt;strong&gt;Customers&lt;/strong&gt; sheet: A = customer name, B = email, C = billing address, D = payment terms in days.&lt;/p&gt;

&lt;p&gt;On an &lt;strong&gt;Items&lt;/strong&gt; sheet: A = item or service, B = unit price, C = tax % (leave blank to use the default from Settings).&lt;/p&gt;

&lt;p&gt;Turn both into Excel Tables (&lt;strong&gt;Ctrl+T&lt;/strong&gt;) so new rows appear in your dropdowns automatically.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 3: The invoice header
&lt;/h2&gt;

&lt;p&gt;On an &lt;strong&gt;Invoice&lt;/strong&gt; sheet:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;F2:&lt;/strong&gt; a running number you type, e.g. &lt;code&gt;41&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;F3:&lt;/strong&gt; &lt;code&gt;=Settings!B8&amp;amp;TEXT(F2,"0000")&lt;/code&gt; gives &lt;code&gt;INV-0041&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;F4:&lt;/strong&gt; the invoice date&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;B6:&lt;/strong&gt; the customer, as a dropdown (&lt;strong&gt;Data &amp;gt; Data Validation &amp;gt; List&lt;/strong&gt;, pointing at the customer names)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;F5, due date:&lt;/strong&gt; &lt;code&gt;=F4+IFERROR(INDEX(Customers!$D:$D,MATCH($B6,Customers!$A:$A,0)),30)&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If the customer isn't in the list, the due date falls back to 30 days.&lt;/p&gt;

&lt;p&gt;Pull the customer's address the same way:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;B7: =IFERROR(INDEX(Customers!$C:$C,MATCH($B$6,Customers!$A:$A,0)),"")
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Step 4: The line items
&lt;/h2&gt;

&lt;p&gt;Start the item rows at row 10 with these columns:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Col&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;Item (dropdown from the Items list)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;B&lt;/td&gt;
&lt;td&gt;Qty (you type)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;C&lt;/td&gt;
&lt;td&gt;Rate&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;D&lt;/td&gt;
&lt;td&gt;Amount&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;E&lt;/td&gt;
&lt;td&gt;Tax %&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;F&lt;/td&gt;
&lt;td&gt;Tax&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;G&lt;/td&gt;
&lt;td&gt;Line total&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;C10: =IF($A10="","",IFERROR(INDEX(Items!$B:$B,MATCH($A10,Items!$A:$A,0)),0))
D10: =IF($A10="","",ROUND(B10*C10,2))
E10: =IF($A10="","",IFERROR(IF(INDEX(Items!$C:$C,MATCH($A10,Items!$A:$A,0))="",Settings!$B$7,INDEX(Items!$C:$C,MATCH($A10,Items!$A:$A,0))),Settings!$B$7))
F10: =IF($A10="","",ROUND(D10*E10,2))
G10: =IF($A10="","",D10+F10)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The &lt;code&gt;IF($A10="","",…)&lt;/code&gt; wrapper keeps unused rows blank. Copy row 10 down for as many lines as you need. These are plain IF, INDEX and MATCH formulas, so they work in older versions of Excel as well as Excel 365.&lt;/p&gt;

&lt;p&gt;The tax % column is optional. An item with a blank tax % uses the default; an item with &lt;code&gt;0%&lt;/code&gt; stays at zero, which is handy for items you don't charge tax on.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 5: Totals
&lt;/h2&gt;

&lt;p&gt;Below the items (say rows 25 to 27), with the tax label pulled from Settings:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Subtotal:        =SUM(D10:D24)
=Settings!B6:    =SUM(F10:F24)
Total due:       =SUM(G10:G24)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Add the currency label next to the total with &lt;code&gt;="Total due ("&amp;amp;Settings!B5&amp;amp;")"&lt;/code&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 6: Keep a register of every invoice
&lt;/h2&gt;

&lt;p&gt;Before you clear the invoice for the next customer, copy its number, date, customer, subtotal, tax and total into an &lt;strong&gt;Invoices&lt;/strong&gt; register sheet, one row per invoice. Add columns for &lt;strong&gt;Amount received&lt;/strong&gt; and &lt;strong&gt;Balance&lt;/strong&gt; (&lt;code&gt;=F2-N(G2)&lt;/code&gt;). That register is what you use for monthly totals and for chasing payments. A pivot table on it (Rows: month; Values: sum of total) gives a quick monthly view.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 7: Print or save as PDF
&lt;/h2&gt;

&lt;p&gt;Select the invoice area, &lt;strong&gt;Page Layout &amp;gt; Print Area &amp;gt; Set Print Area&lt;/strong&gt;, choose &lt;strong&gt;Fit to 1 page wide&lt;/strong&gt;, then &lt;strong&gt;File &amp;gt; Export &amp;gt; Create PDF&lt;/strong&gt;. Name the file with the invoice number so it's easy to find later.&lt;/p&gt;

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

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Hard-coding a tax rate in formulas.&lt;/strong&gt; Keep rates in Settings and Items.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Typing customer details by hand each time.&lt;/strong&gt; Look them up from the list instead.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Overwriting the last invoice without logging it.&lt;/strong&gt; Add it to the register first.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Rounding only the grand total.&lt;/strong&gt; Round each line's tax so the lines add up to the total.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Reusing invoice numbers.&lt;/strong&gt; A check such as &lt;code&gt;=COUNTIF(A:A,A2)&amp;gt;1&lt;/code&gt; on the register's number column flags duplicates.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;em&gt;Written with AI tools. This is general spreadsheet guidance for Excel (.xlsx), not tax, legal or accounting advice.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Practical spreadsheet templates for small businesses, made with AI assistance.&lt;/p&gt;

</description>
      <category>excel</category>
      <category>spreadsheets</category>
      <category>productivity</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Salary slip format in Excel: a printable payslip you fill from one register</title>
      <dc:creator>Ashish Srivastava</dc:creator>
      <pubDate>Wed, 28 Oct 2026 13:36:05 +0000</pubDate>
      <link>https://dev.to/ashishexcelnotes/salary-slip-format-in-excel-a-printable-payslip-you-fill-from-one-register-5geo</link>
      <guid>https://dev.to/ashishexcelnotes/salary-slip-format-in-excel-a-printable-payslip-you-fill-from-one-register-5geo</guid>
      <description>&lt;p&gt;&lt;em&gt;Written with AI assistance.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Staff, contractors and part-timers often ask for a payslip, for a loan, a rental application or their own records. You don't need payroll software for that. A clear salary slip format in Excel, filled automatically from a simple monthly register, does the job. This guide focuses on the slip: what to put on it, how to lay it out and how to fill it with formulas.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; which deductions apply, what a payslip must show and what you must report depend on where you operate. This article covers spreadsheet layout only. It is not tax, payroll, legal or accounting advice; check the rules with a qualified adviser.&lt;/p&gt;

&lt;h2&gt;
  
  
  What a typical salary slip shows
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Header:&lt;/strong&gt; business name, address, "Salary slip for October 2026"&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Employee details:&lt;/strong&gt; name, employee ID, job title, start date, bank account (last 4 digits only)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Attendance:&lt;/strong&gt; days in the month, days paid&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Earnings and deductions:&lt;/strong&gt; two columns side by side&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Net pay&lt;/strong&gt;, plus a line such as "This is a computer-generated slip"&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Step 1: The data the slip reads from
&lt;/h2&gt;

&lt;p&gt;Keep three sheets:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Settings:&lt;/strong&gt; B1 = business name, B2 = address, B3 = currency label, B4 = name of deduction 1 (for example "Tax withholding"), B5 = name of deduction 2 (for example "Pension")&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Employees:&lt;/strong&gt; A = Emp ID, B = Name, C = Job title, D = Start date, E = Bank (last 4)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Register:&lt;/strong&gt; one row per employee per month. A = Month (first day), B = Emp ID, C = Days in month, D = Days paid, E = Base pay, F = Allowances, G = Other earnings, H = Gross, I = Deduction 1, J = Deduction 2, K = Other deductions, L = Total deductions, M = Net pay&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The slip never holds numbers of its own. It only looks them up, so a mistake fixed in the register fixes the slip.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 2: Lay out the slip
&lt;/h2&gt;

&lt;p&gt;On a &lt;strong&gt;Slip&lt;/strong&gt; sheet, use columns B to E on a portrait page:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;B2:E2&lt;/strong&gt; merged: &lt;code&gt;=Settings!B1&lt;/code&gt;, bold, centred&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;B3:E3&lt;/strong&gt; merged: &lt;code&gt;=Settings!B2&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;B4:E4&lt;/strong&gt; merged: &lt;code&gt;="Salary slip for "&amp;amp;TEXT($C$6,"mmmm yyyy")&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Two inputs at the top:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;C6:&lt;/strong&gt; Month (type the first day of the month, or use a dropdown of register months)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;C7:&lt;/strong&gt; Emp ID (a dropdown from the Employees list)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Step 3: Pull employee details
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;C9:  =IFERROR(INDEX(Employees!$B:$B,MATCH($C$7,Employees!$A:$A,0)),"")
E9:  =IFERROR(INDEX(Employees!$C:$C,MATCH($C$7,Employees!$A:$A,0)),"")
C10: =IFERROR(TEXT(INDEX(Employees!$D:$D,MATCH($C$7,Employees!$A:$A,0)),"dd mmm yyyy"),"")
C11: =IFERROR("XXXX"&amp;amp;INDEX(Employees!$E:$E,MATCH($C$7,Employees!$A:$A,0)),"")
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Step 4: Pull the month's figures
&lt;/h2&gt;

&lt;p&gt;Each money field needs a lookup on two conditions: the month and the employee. SUMIFS is the simplest way and works in older Excel too:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;=SUMIFS(Register!$E:$E,Register!$A:$A,$C$6,Register!$B:$B,$C$7)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That gives base pay. Change only the first range for each field: &lt;code&gt;$F:$F&lt;/code&gt; for allowances, &lt;code&gt;$G:$G&lt;/code&gt; for other earnings, &lt;code&gt;$I:$I&lt;/code&gt; to &lt;code&gt;$K:$K&lt;/code&gt; for deductions, &lt;code&gt;$D:$D&lt;/code&gt; for days paid.&lt;/p&gt;

&lt;p&gt;Put earnings in B:C and deductions in D:E on the same rows, so the slip reads across:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Earnings&lt;/th&gt;
&lt;th&gt;Amount&lt;/th&gt;
&lt;th&gt;Deductions&lt;/th&gt;
&lt;th&gt;Amount&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Base pay&lt;/td&gt;
&lt;td&gt;…&lt;/td&gt;
&lt;td&gt;&lt;code&gt;=Settings!B4&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;…&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Allowances&lt;/td&gt;
&lt;td&gt;…&lt;/td&gt;
&lt;td&gt;&lt;code&gt;=Settings!B5&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;…&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Other earnings&lt;/td&gt;
&lt;td&gt;…&lt;/td&gt;
&lt;td&gt;Other deductions&lt;/td&gt;
&lt;td&gt;…&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Gross&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;=SUM(C15:C17)&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Total deductions&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;=SUM(E15:E17)&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Leave out rows that don't apply to you rather than showing zeros.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 5: Net pay
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;C21: =C18-E18
B22: ="Net pay: "&amp;amp;TEXT(C21,"#,##0.00")&amp;amp;" "&amp;amp;Settings!B3
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;code&gt;C18&lt;/code&gt; is the gross cell and &lt;code&gt;E18&lt;/code&gt; the total deductions cell in the layout above. Adjust the references to match your rows.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 6: Catch blanks before printing
&lt;/h2&gt;

&lt;p&gt;Add a check cell outside the print area:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;=IF(COUNTIFS(Register!$A:$A,$C$6,Register!$B:$B,$C$7)=0,"No register row for this month",
 IF(COUNTIFS(Register!$A:$A,$C$6,Register!$B:$B,$C$7)&amp;gt;1,"Duplicate rows: check register","OK"))
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Use &lt;strong&gt;Conditional Formatting&lt;/strong&gt; to turn it red when it isn't "OK".&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 7: Print a slip for each person
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Select B2:E24, then &lt;strong&gt;Page Layout &amp;gt; Print Area &amp;gt; Set Print Area&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Page Setup &amp;gt; Fit to 1 page&lt;/strong&gt;, portrait.&lt;/li&gt;
&lt;li&gt;Pick the month in C6, then change C7 for each employee and use &lt;strong&gt;File &amp;gt; Export &amp;gt; Create PDF&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Name files like &lt;code&gt;Slip_2026-10_E003.pdf&lt;/code&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;For a few staff this takes a couple of minutes a month.&lt;/p&gt;

&lt;h2&gt;
  
  
  Tips
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Protect the slip sheet&lt;/strong&gt; (Review &amp;gt; Protect Sheet, leaving C6 and C7 unlocked) so formulas don't get typed over.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Don't store full bank or ID numbers&lt;/strong&gt; in a file you email around.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Keep old register rows.&lt;/strong&gt; They're your history if anyone asks for a past slip.&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;em&gt;Written with AI tools. This is general spreadsheet guidance for Excel (.xlsx), not tax, legal or accounting advice.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Practical spreadsheet templates for small businesses, made with AI assistance.&lt;/p&gt;

</description>
      <category>excel</category>
      <category>spreadsheets</category>
      <category>productivity</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Order Tracking Spreadsheet for Online Sellers: Ship-By Dates, Late Orders and Profit per Order</title>
      <dc:creator>Ashish Srivastava</dc:creator>
      <pubDate>Wed, 28 Oct 2026 12:56:52 +0000</pubDate>
      <link>https://dev.to/ashishexcelnotes/order-tracking-spreadsheet-for-online-sellers-ship-by-dates-late-orders-and-profit-per-order-54oc</link>
      <guid>https://dev.to/ashishexcelnotes/order-tracking-spreadsheet-for-online-sellers-ship-by-dates-late-orders-and-profit-per-order-54oc</guid>
      <description>&lt;p&gt;&lt;em&gt;Written with AI assistance. I edited it. The formulas below were checked in LibreOffice Calc on sample rows (not in Excel or Google Sheets).&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;If you sell on more than one channel (say Etsy, Shopify, eBay and Instagram DMs), each one has its own order screen and none of them tells you the two things that matter at 9 a.m.: &lt;strong&gt;what has to ship today, and which orders are already late&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Here's a single order sheet that answers both, plus what each order actually made after postage and fees. It uses WORKDAY, NETWORKDAYS, COUNTIF and SUMIFS, with no macros.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Settings and the order list
&lt;/h2&gt;

&lt;p&gt;At the top of the sheet:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;B1: Handling days&lt;/strong&gt;, the number of working days you promise to ship within (2 here).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;B2: As of&lt;/strong&gt;, today's date. &lt;code&gt;=TODAY()&lt;/code&gt; works; I used a fixed date so the results below don't change.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;U2:U10: Holidays&lt;/strong&gt;, days you don't ship. Blank cells are ignored.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Orders from row 5: &lt;strong&gt;A Order date&lt;/strong&gt;, &lt;strong&gt;B Order no&lt;/strong&gt;, &lt;strong&gt;C Channel&lt;/strong&gt;, &lt;strong&gt;D Price&lt;/strong&gt;, &lt;strong&gt;E Shipping charged&lt;/strong&gt;, &lt;strong&gt;F Item cost&lt;/strong&gt;, &lt;strong&gt;G Postage&lt;/strong&gt;, &lt;strong&gt;H Fees&lt;/strong&gt; (platform and payment fees), &lt;strong&gt;I Shipped date&lt;/strong&gt;, &lt;strong&gt;J Delivered date&lt;/strong&gt;. Give column C a dropdown (Data validation → List) so "etsy" and "Etsy " don't become two channels.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. The ship-by date
&lt;/h2&gt;

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

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;=IF(A5="","",WORKDAY(A5,$B$1,$U$2:$U$10))
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;WORKDAY counts forward in working days, skipping weekends and your holidays. An order on Friday with 2 handling days must ship by Tuesday, not Sunday. Format K as a date.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Status
&lt;/h2&gt;

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

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;=IF(A5="","",IF(J5&amp;lt;&amp;gt;"","Delivered",IF(I5&amp;lt;&amp;gt;"","In transit",IF($B$2&amp;gt;K5,"LATE - ship now","To ship"))))
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The order of the tests matters. A delivered date wins over a shipped date, and only orders with neither can be "To ship" or "LATE". You fill in two dates per order; the status works itself out.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. Days late
&lt;/h2&gt;

&lt;p&gt;M5, in working days:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;=IF(A5="","",IF(I5&amp;lt;&amp;gt;"",MAX(0,NETWORKDAYS(K5,I5,$U$2:$U$10)-1),IF($B$2&amp;gt;K5,NETWORKDAYS(K5,$B$2,$U$2:$U$10)-1,0)))
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;For shipped orders it measures how late the shipping was (0 if on time). For unshipped orders it measures how late they are today. NETWORKDAYS counts both end dates, so the &lt;code&gt;-1&lt;/code&gt; makes "shipped on the ship-by date" read 0. Format M as a &lt;strong&gt;Number&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;This column is worth keeping even after orders ship: a run of 1s and 2s on one channel is an early warning that your handling time is too optimistic.&lt;/p&gt;

&lt;h2&gt;
  
  
  5. Profit and margin per order
&lt;/h2&gt;

&lt;p&gt;N5, profit:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;=IF(A5="","",D5+E5-F5-G5-H5)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;O5, margin (format as %):&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(N5="",D5+E5=0),"",N5/(D5+E5))
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Including shipping charged and postage paid is the point. An order where you charge 4 for shipping and pay 6 to post it quietly loses 2, and a per-order profit column shows it.&lt;/p&gt;

&lt;h2&gt;
  
  
  6. The summary
&lt;/h2&gt;

&lt;p&gt;Put the four statuses in Q5:Q8 and count them in R5:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;=COUNTIF($L$5:$L$504,Q5)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then the totals and a check:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Cell&lt;/th&gt;
&lt;th&gt;Formula&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;R9: Orders counted by status&lt;/td&gt;
&lt;td&gt;&lt;code&gt;=SUM(R5:R8)&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;R10: All orders&lt;/td&gt;
&lt;td&gt;&lt;code&gt;=COUNTA($B$5:$B$504)&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;R11: Check&lt;/td&gt;
&lt;td&gt;&lt;code&gt;=IF(R9=R10,"OK","CHECK")&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;R12: Total profit&lt;/td&gt;
&lt;td&gt;&lt;code&gt;=SUM(N5:N504)&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;R13: Overall margin&lt;/td&gt;
&lt;td&gt;&lt;code&gt;=IF(SUM(D5:D504)+SUM(E5:E504)=0,"",R12/(SUM(D5:D504)+SUM(E5:E504)))&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;R14: Revenue, last 30 days&lt;/td&gt;
&lt;td&gt;&lt;code&gt;=SUMIFS(D5:D504,A5:A504,"&amp;gt;"&amp;amp;($B$2-30))+SUMIFS(E5:E504,A5:A504,"&amp;gt;"&amp;amp;($B$2-30))&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;R15: Delivered but never marked shipped&lt;/td&gt;
&lt;td&gt;&lt;code&gt;=COUNTIFS(I5:I504,"",J5:J504,"&amp;lt;&amp;gt;")&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;And a channel table (channels in Q18:Q21):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;=COUNTIF($C$5:$C$504,Q18)
=SUMIFS($N$5:$N$504,$C$5:$C$504,Q18)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;R11 catches an order with no order date (it has no status, so the counts fall short). R15 catches a delivered date typed into a row with no shipped date, which would hide a late shipment.&lt;/p&gt;

&lt;p&gt;Six made-up orders, as of Wednesday 28 Oct 2026, with 2 handling days:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Order&lt;/th&gt;
&lt;th&gt;Ordered&lt;/th&gt;
&lt;th&gt;Channel&lt;/th&gt;
&lt;th&gt;Ship-by&lt;/th&gt;
&lt;th&gt;Status&lt;/th&gt;
&lt;th&gt;Days late&lt;/th&gt;
&lt;th&gt;Profit&lt;/th&gt;
&lt;th&gt;Margin&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1001&lt;/td&gt;
&lt;td&gt;Mon 19 Oct&lt;/td&gt;
&lt;td&gt;Etsy&lt;/td&gt;
&lt;td&gt;Wed 21 Oct&lt;/td&gt;
&lt;td&gt;Delivered&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;23.80&lt;/td&gt;
&lt;td&gt;53%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;1002&lt;/td&gt;
&lt;td&gt;Wed 21 Oct&lt;/td&gt;
&lt;td&gt;Shopify&lt;/td&gt;
&lt;td&gt;Fri 23 Oct&lt;/td&gt;
&lt;td&gt;In transit&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;11.40&lt;/td&gt;
&lt;td&gt;46%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;1003&lt;/td&gt;
&lt;td&gt;Fri 23 Oct&lt;/td&gt;
&lt;td&gt;eBay&lt;/td&gt;
&lt;td&gt;Tue 27 Oct&lt;/td&gt;
&lt;td&gt;LATE - ship now&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;29.50&lt;/td&gt;
&lt;td&gt;43%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;1004&lt;/td&gt;
&lt;td&gt;Mon 26 Oct&lt;/td&gt;
&lt;td&gt;Etsy&lt;/td&gt;
&lt;td&gt;Wed 28 Oct&lt;/td&gt;
&lt;td&gt;To ship&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;11.40&lt;/td&gt;
&lt;td&gt;52%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;1005&lt;/td&gt;
&lt;td&gt;Thu 22 Oct&lt;/td&gt;
&lt;td&gt;Instagram&lt;/td&gt;
&lt;td&gt;Mon 26 Oct&lt;/td&gt;
&lt;td&gt;In transit&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;21.00&lt;/td&gt;
&lt;td&gt;60%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;1006&lt;/td&gt;
&lt;td&gt;Sat 24 Oct&lt;/td&gt;
&lt;td&gt;Shopify&lt;/td&gt;
&lt;td&gt;Tue 27 Oct&lt;/td&gt;
&lt;td&gt;LATE - ship now&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;25.60&lt;/td&gt;
&lt;td&gt;47%&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Statuses: 1 to ship, 2 late, 2 in transit, 1 delivered, so 6 of 6 counted and the check said OK. Profit 122.70 on 250.00 of revenue (49%). By channel: Etsy 2 orders, 35.20; Shopify 2, 37.00; eBay 1, 29.50; Instagram 1, 21.00.&lt;/p&gt;

&lt;p&gt;Two things stand out. Order 1006 came in on a Saturday and was already late by Wednesday, because the two handling days started on Monday. And order 1002 shipped a working day late (Monday instead of Friday) even though it now shows as "In transit", which is exactly what the days-late column is for.&lt;/p&gt;

&lt;h2&gt;
  
  
  7. Test it before you trust it
&lt;/h2&gt;

&lt;p&gt;Add rows you know the answer to, then confirm:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;an order placed on a Friday (ship-by should be the following Tuesday with 2 handling days)&lt;/li&gt;
&lt;li&gt;an order whose ship-by date falls on one of your holidays (it should move past it)&lt;/li&gt;
&lt;li&gt;an order shipped exactly on its ship-by date (days late should be 0)&lt;/li&gt;
&lt;li&gt;a delivered date with no shipped date (R15 should say 1)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Then delete them.&lt;/p&gt;

&lt;p&gt;This is an order-tracking method, not accounting or tax advice. Check your profit figures against your platform payouts.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;About me, and a disclosure:&lt;/strong&gt; I'm Ashish, an Excel and Google Sheets builder with 18+ years of work experience, and I write these tutorials and build my workbooks with AI assistance under my direction.&lt;/p&gt;

</description>
      <category>excel</category>
      <category>spreadsheets</category>
      <category>productivity</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>A freelance income tracker spreadsheet: invoices, unpaid clients, and money set aside for tax</title>
      <dc:creator>Ashish Srivastava</dc:creator>
      <pubDate>Tue, 27 Oct 2026 16:11:12 +0000</pubDate>
      <link>https://dev.to/ashishexcelnotes/a-freelance-income-tracker-spreadsheet-invoices-unpaid-clients-and-money-set-aside-for-tax-b09</link>
      <guid>https://dev.to/ashishexcelnotes/a-freelance-income-tracker-spreadsheet-invoices-unpaid-clients-and-money-set-aside-for-tax-b09</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;This article was written with AI assistance and reviewed before publishing.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;When you freelance, "how much did I make this month?" is surprisingly hard to answer. Some invoices are paid, some are late, and some clients pay in a different currency. Here's a plain spreadsheet that answers it, plus two more questions: &lt;strong&gt;who still owes me?&lt;/strong&gt; and &lt;strong&gt;how much should I put aside?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;It works in Excel or Google Sheets.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. The Income tab: one row per invoice
&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;Example&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Invoice #&lt;/td&gt;
&lt;td&gt;INV-031&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Client&lt;/td&gt;
&lt;td&gt;Acme Ltd&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Project&lt;/td&gt;
&lt;td&gt;Landing page&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Invoice date&lt;/td&gt;
&lt;td&gt;2026-10-05&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Due date&lt;/td&gt;
&lt;td&gt;=D2+30&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Amount&lt;/td&gt;
&lt;td&gt;1,200.00&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Currency&lt;/td&gt;
&lt;td&gt;USD&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Paid date&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Status&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Days overdue&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;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(H2&amp;lt;&amp;gt;"","Paid",IF(TODAY()&amp;gt;E2,"Overdue","Open"))
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Days overdue:&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(I2="Overdue",TODAY()-E2,"")
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Sort by Days overdue, largest first. Those are the reminder emails to send today.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Handling more than one currency
&lt;/h2&gt;

&lt;p&gt;Add a &lt;strong&gt;Rate&lt;/strong&gt; column (how much of your home currency one unit is worth on the day you're paid) and a &lt;strong&gt;Home amount&lt;/strong&gt; column:&lt;br&gt;
&lt;/p&gt;

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

&lt;/div&gt;



&lt;p&gt;Fill in the rate from your bank statement once the money arrives. Then your totals reflect what actually landed in your account, not an estimate.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Monthly summary
&lt;/h2&gt;

&lt;p&gt;On a Summary tab, put the first day of each month in A2:A13, then:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Earned (paid):  =SUMIFS(Income!L:L,Income!H:H,"&amp;gt;="&amp;amp;A2,Income!H:H,"&amp;lt;="&amp;amp;EOMONTH(A2,0))
Invoiced:       =SUMIFS(Income!F:F,Income!D:D,"&amp;gt;="&amp;amp;A2,Income!D:D,"&amp;lt;="&amp;amp;EOMONTH(A2,0))
Still owed:     =SUMIFS(Income!F:F,Income!I:I,"&amp;lt;&amp;gt;Paid")
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;A simple column chart of "Earned" by month shows your real income trend, including the slow months.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. A "set aside" line (not tax advice)
&lt;/h2&gt;

&lt;p&gt;Lots of freelancers move a fixed percentage of every payment into a separate account. Put your percentage in one cell (for example &lt;code&gt;Summary!B1&lt;/code&gt; = 25%) and add:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Set aside this month: =B2*$B$1
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The right percentage depends on where you live and how you're set up, so ask a local accountant. The point of the sheet is just to make the habit automatic.&lt;/p&gt;

&lt;h2&gt;
  
  
  5. Expenses (optional)
&lt;/h2&gt;

&lt;p&gt;Add an Expenses tab with Date, Description, Category, and Amount. Then you get:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Profit this month = Earned − SUMIFS(Expenses!D:D, Expenses!A:A, "&amp;gt;="&amp;amp;A2, Expenses!A:A, "&amp;lt;="&amp;amp;EOMONTH(A2,0))
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Weekly 5-minute routine
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Add any new invoices.&lt;/li&gt;
&lt;li&gt;Mark payments received, with the date and rate.&lt;/li&gt;
&lt;li&gt;Send reminders to everything marked Overdue.&lt;/li&gt;
&lt;li&gt;Move the set-aside amount.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;That's all there is to it. If you build one, I'd like to hear what columns you added.&lt;/p&gt;

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