{"id":25805675,"url":"https://github.com/scriptogre/invoicing-automation-cronjob","last_synced_at":"2026-06-11T08:31:14.311Z","repository":{"id":156108247,"uuid":"632851159","full_name":"scriptogre/invoicing-automation-cronjob","owner":"scriptogre","description":"Invoicing Automation Cronjob is a Python script designed to streamline the invoicing process for a service provider. It integrates with Factureaza.ro, generating and submitting invoices, emailing the invoice to the accountant and employer, and updating an Excel file with invoice details. It's meant to be run as a cron job.","archived":false,"fork":false,"pushed_at":"2023-05-16T14:27:46.000Z","size":12,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-04-01T05:53:22.954Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/scriptogre.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-04-26T09:03:58.000Z","updated_at":"2023-05-16T14:30:13.000Z","dependencies_parsed_at":null,"dependency_job_id":"a2ea09c1-8bac-4c3a-8383-585f10ffe0ed","html_url":"https://github.com/scriptogre/invoicing-automation-cronjob","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/scriptogre/invoicing-automation-cronjob","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scriptogre%2Finvoicing-automation-cronjob","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scriptogre%2Finvoicing-automation-cronjob/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scriptogre%2Finvoicing-automation-cronjob/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scriptogre%2Finvoicing-automation-cronjob/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/scriptogre","download_url":"https://codeload.github.com/scriptogre/invoicing-automation-cronjob/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scriptogre%2Finvoicing-automation-cronjob/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34190583,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-11T02:00:06.485Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":"2025-02-27T19:39:16.121Z","updated_at":"2026-06-11T08:31:14.288Z","avatar_url":"https://github.com/scriptogre.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Invoicing Automation Cronjob\n\nThis repository hosts a Python script designed to automate the invoicing process with the Factureaza.ro platform.\n\n## Functionality\n\nThe script performs the following tasks:\n\n1. Retrieves a client ID based on the unique fiscal code (CIF).\n2. Fetches the next invoice number in the series.\n3. Increments the invoice number.\n4. Creates a new invoice entry in XML format, detailing the services provided and their cost.\n5. Submits the new invoice to Factureaza.ro.\n6. Fetches the invoice PDF.\n7. Emails the invoice as a PDF attachment to the accountant.\n8. Updates an Excel template with relevant invoice information.\n9. Emails the updated Excel file and the invoice to the employer.\n10. Cleans up temporary files.\n\nThe script is designed to run as a cron job, automating the invoicing process on a schedule.\n\n## Setup\n\nThe script uses a number of environment variables for configuration. For details, please see `config.py`.\n\n## Usage\n\nThe script can be run directly:\n\n```bash\npython main.py\n```\n\nThe application also comes with a Dockerfile for easy setup and deployment. This Dockerfile uses Python 3.11-slim as the base image and also installs LibreOffice, which is a requirement for some parts of the application. The Docker container is set to run the application upon startup.\n\nTo build and run the application using Docker:\n\n```bash\ndocker build -t invoicing-automation-cronjob .\ndocker run invoicing-automation-cronjob\n```\n\n## Error Reporting\n\nThe script integrates with Sentry for error reporting. Make sure to set up the Sentry DSN in your environment.\n\n## Dependencies\n\nThe script depends on several Python libraries, including `sentry_sdk` for error reporting, and utility modules for email and file handling. For a full list of dependencies, please see the imports at the beginning of `main.py`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscriptogre%2Finvoicing-automation-cronjob","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fscriptogre%2Finvoicing-automation-cronjob","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscriptogre%2Finvoicing-automation-cronjob/lists"}