{"id":14449267,"url":"https://github.com/alyf-de/erpnext_germany","last_synced_at":"2026-01-30T19:12:52.375Z","repository":{"id":39110012,"uuid":"460792619","full_name":"alyf-de/erpnext_germany","owner":"alyf-de","description":"ERPNext customizations for German companies","archived":false,"fork":false,"pushed_at":"2026-01-22T14:14:59.000Z","size":3162,"stargazers_count":75,"open_issues_count":11,"forks_count":34,"subscribers_count":12,"default_branch":"version-16-hotfix","last_synced_at":"2026-01-22T14:25:27.564Z","etag":null,"topics":["business","erpnext","frappe-framework","germany","localization"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/alyf-de.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-02-18T09:40:24.000Z","updated_at":"2026-01-22T14:15:02.000Z","dependencies_parsed_at":"2024-02-05T23:23:12.783Z","dependency_job_id":"68a5dbcb-c084-4af5-b586-3b65630f405d","html_url":"https://github.com/alyf-de/erpnext_germany","commit_stats":null,"previous_names":[],"tags_count":74,"template":false,"template_full_name":null,"purl":"pkg:github/alyf-de/erpnext_germany","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alyf-de%2Ferpnext_germany","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alyf-de%2Ferpnext_germany/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alyf-de%2Ferpnext_germany/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alyf-de%2Ferpnext_germany/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alyf-de","download_url":"https://codeload.github.com/alyf-de/erpnext_germany/tar.gz/refs/heads/version-16-hotfix","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alyf-de%2Ferpnext_germany/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28917530,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-30T19:10:10.838Z","status":"ssl_error","status_checked_at":"2026-01-30T19:06:40.573Z","response_time":66,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["business","erpnext","frappe-framework","germany","localization"],"created_at":"2024-09-01T08:01:12.932Z","updated_at":"2026-01-30T19:12:52.369Z","avatar_url":"https://github.com/alyf-de.png","language":"Python","funding_links":[],"categories":["Uncategorized"],"sub_categories":["Uncategorized"],"readme":"## ERPNext Germany\n\nApp to hold regional code for Germany, built on top of ERPNext.\n\n### Features\n\n- German accounting reports\n\n    - _Summen- und Saldenliste_\n    - _Zusammenfassende Meldung_\n\n- Section for Register Information (Registerart, -gericht und nummer) in **Company**, **Customer** and **Supplier**\n\n    ![Section with Register Information](docs/register_information.png)\n\n- Validation of EU VAT IDs\n\n    Automatically checks the validity of EU VAT IDs of all your customers every three months, or manually whenever you want. Check out the [intro on Youtube](https://youtu.be/hsFMn2Y85zA) (german).\n\n    ![Validate EU VAT ID](docs/vat_check.png)\n\n- Allow deletion of the most recent sales transaction (per naming series and company) only\n\n    This ensures consecutive numbering of transactions. Applies to **Quotation**, **Sales Order**, **Sales Invoice**.\n\n- Restrict deletion of attachments to submitted transactions\n- Custom fields in **Employee** (tax information, etc.)\n- List of religios denominations (\"Konfessionen\")\n- List of German health insurance providers (depends on HRMS)\n- Create **Business Letters** from a template and print or email them to your customers or suppliers\n- Record **Business Trips** and pay out allowances to your employees (dt. Reisekostenabrechnung) (depends on HRMS)\n\n## Installation\n\n\u003e [!NOTE]\n\u003e Some features of this app depend on the [HRMS](https://github.com/frappe/hrms) app. If you want to use them, you need to install the HRMS app before installing this app.\n\n### On Frappe Cloud\n\nYou can find ERPNext Germany in the [Frappe Cloud Marketplace](https://frappecloud.com/marketplace/apps/erpnext_germany).\nPlease refer to the [Frappe Cloud documentation](https://frappecloud.com/docs/installing-an-app) on how to install an app.\n\n### Local\n\nUsing bench, [install ERPNext](https://github.com/frappe/bench#installation) as mentioned here.\n\nOnce ERPNext is installed, add the ERPNext Germany app to your bench by running\n\n```bash\nbench get-app https://github.com/alyf-de/erpnext_germany.git\n```\n\nAfter that, you can install the app on required site (let's say demo.com ) by running\n\n```bash\nbench --site demo.com install-app erpnext_germany\n```\n\n## Business Trip\n\nBefore an employee can create a **Business Trip (Dienstreise)**, you should configure the available regions and their travel allowances in the **Business Trip Region** list. A basic list based on the German tax law is imported on installation, but not further updated later. In the **Business Trip Settings (Dienstreise-Einstellungen)** you can set the value for the mileage allowance and select **Expense Claim Type** for mileage allowance and **Additional meal expenses**. Both Expense Claim Type are preset to **Additional meal expenses**. If you have HRMS installed, it allows you to book expenses as Expense Claims.\n\nWhen a **Business Trip** is submitted, it creates a draft **Expense Claim** for the employee's travel allowances including the Additional meal expenses as well as mileage allowance for \"Car (private)\". One business trip will create on **Expense Claim** which can be approved and submitted as usual.\n\nMileage allowance is calculated based on the distance entered in the details of the journey when \"Car (private)\" is selected.\n\nThe Additional meal expenses depend on the selected region. Select the \"From\" and \"To\" dates of the trip and with the click on \"Add Row\" all days of the trip a pre-created.\n\nThe receipts for transport and accommodation can be attached, but are not processed automatically. You can check them, create a **Purchase Invoice** and pay the respective amount to the employee.\n\nYou can use our [Banking app](https://github.com/alyf-de/banking) to reconcile the **Expense Claims** and **Purchase Invoices** with the respective **Bank Transactions**.\n\n## Zusammenfassende Meldung\n\nCurrently, this report lists all invoices as other service (\"S\"). If you do triangular transactions (\"D\") or intra-Community supplies (\"L\"), you need to manually adjust this column in the CSV file. Automatically determining the service type is planned for a future version.\n\n## Quick Start Demo\n\nThe fastest way to get a running demo site on your local desktop.\n\nPrerequisites: [Docker](https://www.docker.com/) and [git](https://git-scm.com/) installed on your machine.\n\n```bash\ngit clone https://github.com/alyf-de/erpnext_germany.git\ncd erpnext_germany/docker\ncp .env.example .env\ndocker compose up -d\n```\n\nThe first setup will take a while. Then you can access the demo site at http://localhost:8000.\nLog in with the Username `Administrator` and the default password `admin`.\n\nRead more about the setup in the [docker/README.md](docker/README.md) file.\n\n### Contributing\n\n#### Create a release\n\nCreate a temporary release branch based on the current hotfix branch:\n\n```bash\ngit fetch upstream\ngit checkout upstream/version-XX-hotfix\ngit checkout -b version-XX-release\n```\n\nCreate a PR against the main branch:\n\n```bash\ngh pr create --base version-XX --title \"chore: release vXX\" --body \"\"\n```\n\nIf all tests pass, merge the PR using a merge commit (don't rebase or squash). This should automatically delete the release branch and trigger a CI workflow to create a new release.\n\n### License\n\nGNU GPL V3. See the `LICENSE` file for more information.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falyf-de%2Ferpnext_germany","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falyf-de%2Ferpnext_germany","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falyf-de%2Ferpnext_germany/lists"}