{"id":20560327,"url":"https://github.com/andreaskoch/togglcsv","last_synced_at":"2025-04-14T14:06:05.495Z","repository":{"id":57560955,"uuid":"67070210","full_name":"andreaskoch/togglcsv","owner":"andreaskoch","description":"Toggl⥃CSV is a command line utility for Windows, Mac OS and Linux that imports or exports time reports to and from a Toggl account via CSV files","archived":false,"fork":false,"pushed_at":"2016-10-01T21:51:31.000Z","size":138,"stargazers_count":17,"open_issues_count":4,"forks_count":5,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-06-20T10:18:23.539Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/andreaskoch.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-08-31T20:13:19.000Z","updated_at":"2024-05-06T13:02:10.000Z","dependencies_parsed_at":"2022-09-01T11:51:47.659Z","dependency_job_id":null,"html_url":"https://github.com/andreaskoch/togglcsv","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andreaskoch%2Ftogglcsv","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andreaskoch%2Ftogglcsv/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andreaskoch%2Ftogglcsv/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andreaskoch%2Ftogglcsv/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/andreaskoch","download_url":"https://codeload.github.com/andreaskoch/togglcsv/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224873086,"owners_count":17384078,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-16T03:54:14.093Z","updated_at":"2024-11-16T03:54:14.712Z","avatar_url":"https://github.com/andreaskoch.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Toggl⥃CSV: CSV-based export and import for Toggl\n\nToggl⥃CSV is a command line utility for Windows, Mac OS and Linux that imports or exports time reports to and from a Toggl account via CSV files\n\n[Toggl](https://www.toggl.com) is a very convenient web-based time tracking utility that I use to track efforts for different projects during my daily work as a software developer.\n\nUnfortunately Toggls' (as of August 2016) bulk editing, export and import are a bit frustrating to use if you have time records in multiple workspaces, across multiple years.\nThat's why I have created **Toggl⥃CSV**.\n\n**Toggl⥃CSV** can be used to\n\n- **export** toggl time records as CSV from a given account\n- **import** CSV based time records into a given account\n\nThis enables you to create regular **backups** of **all** your time tracking reports, to do **bulk editing** of your time records **via Excel** and to **transfer data** from one account or workspace to another.\n\n[![Build Status](https://travis-ci.org/andreaskoch/togglcsv.svg?branch=master)](https://travis-ci.org/andreaskoch/togglcsv)\n\n## Usage\n\ntogglcsv `\u003caction\u003e` `Your-Toggl-API-Token`\n\n### Export\n\nExport all time records from your Toggl account starting from a given **start date** until the given **end date**:\n\ntogglcsv **export** `Your-Toggl-API-Token` `Start-Date (required, e.g. 2015-01-23)` `End-Date (optional, e.g. 2015-12-31)`\n\n```bash\ntogglcsv export 1971800d4d82861d8f2c1651fea4d212 2015-01-01 2016-08-12\n```\n\nThe **end date** parameter is optional. If you don't specify an end date the current date will be used.\n\n### Import\n\nPipe the a given CSV file into **togglcsv** and import them into your Toggl account:\n\ntogglcsv **import** `Your-Toggl-API-Token` `\u003c` `report.csv`\n\n```bash\ntogglcsv import 1971800d4d82861d8f2c1651fea4d212 \u003c files/toggl-report-sample.csv\n```\n\nProjects and Tags that don't exist are created automatically. But please make sure that the workspace you are assigning in your [CSV](files/toggl-report-sample.csv) does exist because workspaces cannot be created via the [Toggl API](https://github.com/toggl/toggl_api_docs).\n\n## The CSV Format\n\nThe CSV files created by the **export** action have the following format:\n\n| Start                | Stop                 | Workspace Name | Project Name | Client Name | Tags(s)          | Description     |\n|:---------------------|:---------------------|:---------------|:-------------|:------------|:-----------------|:----------------|\n| 2016-08-12T07:54:47Z | 2016-08-12T08:19:02Z | My Workspace   | Project A    | A Client    | Meetings, Sprint | Retrospective   |\n| 2016-08-12T08:19:03Z | 2016-08-12T08:26:25Z | My Workspace   | Project A    | A Client    | Meetings, Sprint | Sprint Review   |\n| 2016-08-12T08:26:32Z | 2016-08-12T09:34:15Z | My Workspace   | Project B    | A Client    | Meetings, Sprint | Sprint Planning |\n| 2016-08-12T10:28:00Z | 2016-08-12T11:01:09Z | My Workspace   | Project C    | A Client    | Meetings, Sprint | Sprint Planning |\n| 2016-08-12T11:01:09Z | 2016-08-12T13:20:32Z | My Workspace   | Project A    | A Client    | Bugs             | Fixing Bug XY   |\n| ...                  | ...                  | ...            | ...          | ...         | ...              | ...             |\n\n**CSV-file parameters**\n\n- Header: `yes`\n  - Columns: `7`\n    1. Start (Date format: [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601))\n    2. Stop (Date format: [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601))\n    3. Workspace name (Note: The workspace must exist before the import)\n    4. Project name\n    5. Client name\n    6. Tags (comma separated)\n    7. Description of the time record\n- Column Delimiter: `,`\n- Row Delimiter: `\\n`\n- Encoding: `UTF-8`\n\nExample: [toggl-report-sample.csv](files/toggl-report-sample.csv)\n\n## Licensing\n\nToggl⥃CSV is licensed under the Apache License, Version 2.0. See [LICENSE](LICENSE) for the full license text.\n\n## Related Resources\n\n### Toggl API\n\nToggl⥃CSV uses [github.com/andreaskoch/togglapi](https://github.com/andreaskoch/togglapi) for the communication with the [Toggl API](https://github.com/toggl/toggl_api_docs/blob/master/chapters/time_entries.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandreaskoch%2Ftogglcsv","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fandreaskoch%2Ftogglcsv","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandreaskoch%2Ftogglcsv/lists"}