Payment protectionDetails
- Revisions within the package are free.
- If you do not respond within 3 days of delivery, the work is accepted automatically.
The money is reserved when you pay and released only once you accept the work.

Example result
Spreadsheet template: invoice tracker for a small agency
Sheet layout — tab "Invoices"
| Column | Header | Filled by |
|---|---|---|
| A | Invoice # | You |
| B | Client | You (drop-down from tab "Clients") |
| C | Issue date | You |
| D | Amount | You |
| E | Payment terms (days) | Formula |
| F | Due date | Formula |
| G | Paid on | You (leave empty until paid) |
| H | Status | Formula |
| I | Days overdue | Formula |
Formulas (excerpt, 6 of 10)
E2 — payment terms from the client list
=IFERROR(VLOOKUP(B2, Clients!A:C, 3, FALSE), 30)
Looks up the client's terms in the "Clients" tab; if the client isn't there, uses 30 days.
F2 — due date
=IF(C2="", "", C2 + E2)
Adds the terms to the issue date. Stays empty for blank rows.
H2 — status
=IF(C2="", "", IF(G2<>"", "Paid", IF(TODAY()>F2, "Overdue", "Open")))
Paid if a payment date is entered; otherwise Overdue after the due date, else Open.
I2 — days overdue
=IF(H2="Overdue", TODAY() - F2, "")
Dashboard!B2 — total outstanding
=SUMIFS(Invoices!D:D, Invoices!H:H, "<>Paid", Invoices!C:C, "<>")
Dashboard!A5 — balance by client (one formula fills the table)
=QUERY(Invoices!B:H, "select B, sum(D) where H <> 'Paid' and B is not null group by B order by sum(D) desc label sum(D) 'Owed'", 1)
Where to paste
- Put E2, F2, H2 and I2 in row 2 of "Invoices", then drag down to row 500
- Paste the two Dashboard formulas once; they update by themselves
- Conditional formatting on H2:H500: text is "Overdue" → light red fill
Edge cases handled
- Partly paid invoice: add a row with the remaining amount and a new number like INV-041b
- Client renamed: change it only in "Clients"; the drop-down keeps rows consistent
- Excel instead of Sheets: all formulas work except QUERY; use a PivotTable on columns B, D, H instead
Check example
Invoice INV-038, client Northside Dental, issued Sep 1, terms 14 days → due Sep 15. Today Oct 20, not paid → Overdue, 35 days.
Client: a 4-person video production studio. Tool: Google Sheets. Task: "We lose track of who has paid. We need one sheet that shows overdue invoices and how much each client owes."
The client and all details are made up.
About this service
When an Excel list has grown into thousands of rows, several people edit it and the same supplier is spelled five ways, it is time for a database, but a straight import just copies the mess. Attach your Excel files (a sample of rows is enough) and we plan the move: how the columns split into linked tables, which values need cleaning first, the import order so keys match, and the queries that rebuild the views you used in Excel. You get the plan and the SQL as text, to carry out yourself step by step.
What is included
- What you getA migration plan as text on the order page: the target tables and fields, a column-to-field map for each sheet, the clean-up steps before import, the import order and append queries, and select queries that replace your old filtered views.
- Target structureLinked tables instead of one big sheet
- Column mapEvery column to its new field
- Clean-up firstDuplicates and spellings to fix before import
- Import orderSo keys and links match
- Replacement queriesYour Excel views rebuilt
How it works
- 1WorkbooksYou attach the Excel files
- 2PlanWe map columns to tables and steps
- 3DeliveryYou get the plan and SQL
What we need from you
Your Excel workbooks or a sample of their rows (as files, screenshots or pasted text), what each sheet is used for, who edits it, the formulas or filters you rely on, and your Access version.
We will ask you:
- What is each sheet used for?
- Which columns repeat the same values in many rows?
- Which Excel formulas or filters do you rely on?
- Will people keep using Excel alongside Access?
Compare packages
| Packages | BasicOne sheet$12 | StandardUp to 3 sheets$25 | PremiumUp to 6 sheets$49 |
|---|---|---|---|
| Deadline | 1 day | 2 days | 3 days |
| Revisions | 1 | 2 | 3 |
| Sheets planned | 1 | up to 3 | up to 6 |
| Target tables | up to 5 | up to 10 | up to 15 |
| Replacement queries | up to 2 | up to 5 | up to 10 |
| Order Basic | Order Standard | Order Premium |
Payment protection
You pay when you order, but the money is released only for accepted work.
- Fixed priceThe package price does not change after you pay.
- The money is reservedWhen you pay, the amount is only reserved. It is released to the service once you accept the work.
- Checked before deliveryEvery result goes through a quality check before it reaches you, and you see it on the order page before accepting it.
- Free revisionsAsk for changes within your brief as many times as the package allows.
- Acceptance after 3 daysIf within 3 days of delivery you neither accept the work nor ask for changes, it is accepted automatically. If you write in the order chat after delivery, the order waits; once we answer, we may start the 3 days again and will say so in the chat.
- Redo or a full refundIf the result does not match your brief and the revisions did not fix it, or the work takes more than twice its deadline, write in the order chat: we will redo the work or refund the payment in full.
Questions and answers
Do I get a ready database file?
No. Everything comes as text on the order page: table designs, SQL, VBA and steps. Building it in Access takes from minutes to an hour, depending on size.
Will you set it up in my database?
No, we do not connect to your computer or files. You get text, SQL and code on the order page with steps to apply them yourself.
Will my Excel formulas move into Access?
Formulas do not import as they are. We rewrite the calculations you rely on as calculated fields or queries and say where each one lives now.