End-of-day report template: a daily report format you can copy
Use the fill-in version on this page: type your day, choose plain text, Slack or email, and copy. Nothing you type is saved or sent anywhere. Below you will find the blank template to copy as-is, what belongs on each line, worked examples for four different roles, and how to write one for a manager in another time zone.
The blank template
Date:
Shipped:
In progress:
Blocked:
Need from you:
Proof/links:
Fill in only the lines that apply and delete the rest. Five honest lines are worth more than twenty padded ones.
What goes on each line
Shipped. What reached done today, each item named specifically. "Merged the refund flow" tells the reader something; "worked on payments" does not.
In progress. What moved, how far it got, and what is left. A rough share of the work or the one remaining step is enough.
Blocked. What is stuck and what would unblock it. This is the most valuable line in the report, because it is the one someone else can do something about. Write it even on a good day if anything is waiting on someone.
Need from you. The specific ask, and from whom: a review, an answer, access, a decision. It turns a report into something the reader can act on straight away.
Proof/links. Links to the work itself. They make the report checkable without a follow-up question, and they protect you: nobody has to take "it is done" on trust.
For the reasoning behind each line and the habits that make reports useless, read how to write an end-of-day report.
Worked examples for four roles
These are illustrative. The names, numbers and links are made up to show the shape, not taken from real reports.
Software engineer
Date: 2026-09-21
Shipped: Search filters on the orders page, merged and on staging
In progress: CSV export, about half done; pagination for large files left
Blocked: Nothing
Need from you: A yes or no on whether exports include cancelled orders
Proof/links: github.com/acme/app/pull/914
Why this works: every line is a state rather than an activity, and the one question is specific enough to answer in a single word.
Sales
Date: 2026-09-21
Shipped: Sent proposals to two new accounts
In progress: Contract review with a logistics prospect; their legal comments are due tomorrow
Blocked: Pricing approval for the three-year version of that deal
Need from you: Sign-off on the multi-year discount by Thursday
Proof/links: The three deal records in the CRM
Why this works: it leads with the outcomes the manager tracks and names the one decision that has a deadline, so it does not sit unread in an inbox.
Customer support
Date: 2026-09-21
Shipped: Closed 34 tickets; wrote a saved reply for the password reset loop
In progress: A refund escalation, waiting on finance
Blocked: Three tickets that cannot close until a login bug is fixed
Need from you: Priority on the login bug; it is behind most of today's volume
Proof/links: The bug ticket and the support queue view
Why this works: it turns a count into a pattern, one bug behind most of the tickets, which is the thing a manager can actually fix.
Remote contractor reporting to a client abroad
Date: 2026-09-21 (IST)
Shipped: Homepage hero redesign, deployed to the preview link
In progress: Mobile menu; desktop is done, tablet breakpoints are left
Blocked: Waiting for the final brand colours
Need from you: The brand colour codes before your morning, so I can finish tomorrow
Proof/links: The preview link and the design file
Why this works: it states the time zone and asks for the missing input before the client's day starts, so a whole day is not lost to the time difference.
Reporting to a manager in another time zone
When your day ends as theirs begins, the report does more work than usual, because it is the only update they get before they start making decisions.
Send it before you log off, not the next morning. It should already be waiting when their day starts.
Put the date in your own time zone, or both. "Yesterday" means different things on either side of the clock.
Lead with anything blocked. Across a large time difference, a blocker raised at the end of your day costs a full day unless it is visible at the start of theirs.
Make every ask answerable without a call: a yes or no question, a specific file, a specific decision. If they have to message you to understand it, you will not see the reply until tomorrow.
End-of-day report or daily report?
Mostly the same document under two names. Both summarize one person's day for whoever depends on it, and this template works for either.
The exception is site work. In construction and field service, a "daily report" is a site log that records weather, crew, equipment and incidents. That is a different document with its own formats, and this template is not it. This one is for knowledge work.
If you manage a team, not just yourself
Filling this in for yourself takes two minutes. Collecting it from ten people every day, and working out which "almost done" is genuinely almost done, is the hard part.
That is what Eodly does. Each person gets asked for a check-in in Slack, Telegram or Discord (Microsoft Teams coming soon), the claims are weighed against what actually moved in GitHub and Linear, and you get one page each evening instead of ten separate reports. See the team version.