Apps ScriptExcel

Google Apps Script that does routine sheet tasks for you

Delivery from 1 dayRevisions includedQuality check
Packages
Payment protectionDetails
  • Revisions within the package are free.
  • If you do not respond within 3 days of delivery, the work is accepted automatically.
Order · $25

The money is reserved when you pay and released only once you accept the work.

Google Apps Script that does routine sheet tasks for you

Example result

Example for the Standard package

Spreadsheet template: invoice tracker for a small agency

Sheet layout — tab "Invoices"

ColumnHeaderFilled by
AInvoice #You
BClientYou (drop-down from tab "Clients")
CIssue dateYou
DAmountYou
EPayment terms (days)Formula
FDue dateFormula
GPaid onYou (leave empty until paid)
HStatusFormula
IDays overdueFormula

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

Apps Script runs inside Google Sheets and can do the dull parts of your routine: send emails from rows, move finished rows to an archive, fill a document per row or run a cleanup every morning on a timer. We write the script for your sheet and columns, comment every block and give steps to paste it into Extensions, approve the permissions and set the trigger. Columns are found by header name where possible, so adding a column does not break it.

What is included

  • What you getCommented Apps Script code, installation steps, trigger settings and a short test plan. Delivered as text you paste into the script editor of your sheet.
  • Your routine as codeWritten for your sheet and columns
  • TriggersOn a timer, on edit or on form submit
  • Custom menuRun tasks from a button in the sheet
  • Comments in codeEvery block explained in plain words
  • Error notesClear messages if data is missing

How it works

  1. 1
    BriefYou describe the task and the sheet
  2. 2
    CodeWe write and comment the script
  3. 3
    InstallYou paste it, approve and test

What we need from you

The task step by step as you do it now, the sheet and column names, when it should run and whether it needs Gmail, Drive or Calendar.

We will ask you:

  • What routine task should the script take over?
  • Which sheets and columns does it work with?
  • When should it run?
  • Does it need Gmail, Drive, Docs or Calendar?

Compare packages

PackagesBasicScript for 1 task$12StandardScript for up to 3 tasks with triggers$25PremiumUp to 6 tasks, triggers and a menu$49
Deadline1 day2 days3 days
Revisions123
Tasks in the script1up to 3up to 6
Time or edit triggersNoYesYes
Custom menuNoNoYes
Order BasicOrder StandardOrder 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.
How it works →

Questions and answers

Is it safe to approve the permissions?

The code runs under your own account, every line is readable and commented, and we never get access to your sheet. Google shows exactly what it will use before you approve.

Are there limits on emails?

Yes, Google sets daily quotas: roughly 100 recipients a day on a free Gmail account and more on Workspace. We plan the script around your account type.

Will you install it for me?

No, we do not access your accounts. The steps take about ten minutes, and we fix anything that fails within your revisions.

Packages
Order · $25· 2 days