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
Inherited Access databases are often kept alive by one person who knows which form to open first and which query not to touch, and nobody else can safely change them. Send screenshots of the tables, relationships, forms and the SQL and VBA you can export, and we write plain documentation: what each table holds, how they link, what each query, form, report and macro does, and the order of everyday tasks. Risky spots, such as delete queries without criteria or code that runs on open, are listed separately.
What is included
- What you getDocumentation as text on the order page: a table and relationship guide, a list of queries, forms, reports and macros with what each does, an everyday tasks guide and a risk list. You can paste it into a Word file to keep with the database.
- Tables and linksWhat each holds and how they connect
- Object catalogueQueries, forms, reports, macros
- Code explainedWhat each VBA procedure does
- Everyday tasksStep order for common jobs
- Risk listDestructive queries and fragile code
How it works
- 1MaterialYou send screenshots, SQL and VBA
- 2ReadingWe trace what each object does
- 3DeliveryYou get the documentation text
What we need from you
Screenshots of the navigation pane, table designs and relationships window, the SQL of queries and VBA modules pasted as text or in a Word file, and what you know about how the database is used today.
We will ask you:
- What is the database used for today?
- Who will read the documentation?
- Which parts are you afraid to touch?
- Which Access version do you use?
Compare packages
| Packages | BasicUp to 10 tables$12 | StandardUp to 25 tables$25 | PremiumUp to 40 tables$49 |
|---|---|---|---|
| Deadline | 1 day | 2 days | 3 days |
| Revisions | 1 | 2 | 3 |
| Tables | up to 10 | up to 25 | up to 40 |
| Other objects | up to 15 | up to 40 | up to 80 |
| VBA lines explained | up to 100 | up to 400 | up to 1,000 |
| 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
Can I send my .accdb file?
No, database files cannot be opened here. Send screenshots of the table design and relationships window, or export tables or queries to Excel and attach them (hide personal data first).
Can Access print this documentation itself?
Its Database Documenter lists properties, but not what objects are for or how tasks flow. We explain purpose and order in plain words; the two work well together.
Will you fix the risky parts?
Not in this service. We list them with what could go wrong; fixes can be ordered as a separate error fix or query service.