# Timeslice Timesheet Summary > Paste a timesheet: hours per project, task, tag or client, per day and week, billable sums. Totals a timesheet table (CSV from any time tracker or spreadsheet) by project, task, tag or client over a date range: hours per day and per ISO week, billable and non-billable time, amounts from hourly rates, optional rounding per entry, a stacked bar chart per day and a donut of the shares. Part of usefulweb.app (https://usefulweb.app/). Part of [Timeslice](https://timeslice.usefulweb.app/) (ownerApp: timeslice). Results are deterministic calculations from the inputs and the listed assumptions; the API returns exactly what the web page shows. ## Use it - Human interface: https://timeslicetimesheetsummary.usefulweb.app/ (interactive tool at https://timeslicetimesheetsummary.usefulweb.app/tool) - JSON API: POST https://timeslicetimesheetsummary.usefulweb.app/api/v1/calculate with a JSON object of inputs (schema: https://timeslicetimesheetsummary.usefulweb.app/api/v1/tool) - OpenAPI: https://timeslicetimesheetsummary.usefulweb.app/openapi.json - MCP (Streamable HTTP): https://timeslicetimesheetsummary.usefulweb.app/mcp - tool `timeslice_timesheet_summary` ## Inputs - entries (textarea): Timesheet table (CSV with a header row) - Columns (any order, comma, semicolon or tab): date, start, end or duration, project, client, task, tags, billable, rate, note. Durations like 1h30, 90m, 1:30 or 1.5 work too. - groupBy (select): Group by - from (text): From (YYYY-MM-DD, empty = first entry) - to (text): To (YYYY-MM-DD, empty = last entry) - roundMinutes (select): Round each entry to - roundMode (select): Rounding - defaultRate (number): Hourly rate for rows without one - currency (text): Currency code (for example EUR, USD) - dateOrder (select): Dates like 03/11/2026 are - billableByDefault (boolean): Rows without a billable column are billable ## Method - Each row becomes one time entry: date + start + end (an end before the start means the entry runs past midnight), date + start + duration, or date + duration alone (such rows are placed one after another from 09:00 so they still add up per day). - Entries are cut at midnight and at the range limits, so a night shift counts on both days. Rounding (optional) applies to each entry piece, to the nearest step or always up. - Billable amount = rounded billable hours × the row’s rate (else the default rate). Group by tag counts an entry under each of its tags, so tag totals can add up to more than the total. - Weeks are ISO 8601 weeks (Monday to Sunday, week 1 contains the first Thursday of the year). Times are wall-clock times: a night with a daylight-saving change counts the clock difference. ## Limits - A calculation aid, not payroll or tax advice. Check rounding rules against your contract.