From a660ed061be74af10d55ad7fdab4d4c9f229c4fd Mon Sep 17 00:00:00 2001 From: Mihir Kandoi Date: Wed, 14 Jan 2026 10:22:59 +0530 Subject: [PATCH 01/68] fix: add uom js error (cherry picked from commit 6d3f6d73d08b1f96eb65737d70511bb29f98fd56) --- erpnext/setup/doctype/uom/uom.js | 5 ----- 1 file changed, 5 deletions(-) diff --git a/erpnext/setup/doctype/uom/uom.js b/erpnext/setup/doctype/uom/uom.js index 273e30fd197..eb61f63f034 100644 --- a/erpnext/setup/doctype/uom/uom.js +++ b/erpnext/setup/doctype/uom/uom.js @@ -1,7 +1,2 @@ // Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors // License: GNU General Public License v3. See license.txt - -//--------- ONLOAD ------------- -cur_frm.cscript.onload = function (doc, cdt, cdn) {}; - -cur_frm.cscript.refresh = function (doc, cdt, cdn) {}; From e49add20b7e5988fc7abf28277be527a6ccc1b7a Mon Sep 17 00:00:00 2001 From: l0gesh29 Date: Tue, 23 Dec 2025 20:10:38 +0530 Subject: [PATCH 02/68] feat: modify field properties (cherry picked from commit 38a46424799bb4dc2481d8aa884c0e051874a93f) --- erpnext/accounts/doctype/sales_invoice/sales_invoice.json | 8 +++----- .../sales_invoice_timesheet/sales_invoice_timesheet.json | 6 +++--- erpnext/projects/doctype/timesheet/timesheet.json | 7 ++++--- 3 files changed, 10 insertions(+), 11 deletions(-) diff --git a/erpnext/accounts/doctype/sales_invoice/sales_invoice.json b/erpnext/accounts/doctype/sales_invoice/sales_invoice.json index ebf2d2f4b00..3dccf199353 100644 --- a/erpnext/accounts/doctype/sales_invoice/sales_invoice.json +++ b/erpnext/accounts/doctype/sales_invoice/sales_invoice.json @@ -778,8 +778,7 @@ }, { "collapsible": 1, - "collapsible_depends_on": "eval:doc.total_billing_amount > 0", - "depends_on": "eval:!doc.is_return", + "depends_on": "eval:doc.total_billing_amount > 0", "fieldname": "time_sheet_list", "fieldtype": "Section Break", "hide_border": 1, @@ -793,7 +792,6 @@ "hide_days": 1, "hide_seconds": 1, "label": "Time Sheets", - "no_copy": 1, "options": "Sales Invoice Timesheet", "print_hide": 1 }, @@ -2092,7 +2090,7 @@ "fieldtype": "Column Break" }, { - "depends_on": "eval:(!doc.is_return && doc.total_billing_amount > 0)", + "depends_on": "eval:doc.total_billing_amount > 0", "fieldname": "section_break_104", "fieldtype": "Section Break" }, @@ -2306,7 +2304,7 @@ "link_fieldname": "consolidated_invoice" } ], - "modified": "2025-10-09 14:48:59.472826", + "modified": "2025-12-23 20:09:14.424656", "modified_by": "Administrator", "module": "Accounts", "name": "Sales Invoice", diff --git a/erpnext/accounts/doctype/sales_invoice_timesheet/sales_invoice_timesheet.json b/erpnext/accounts/doctype/sales_invoice_timesheet/sales_invoice_timesheet.json index 1302fd38b26..cf9a90062b2 100644 --- a/erpnext/accounts/doctype/sales_invoice_timesheet/sales_invoice_timesheet.json +++ b/erpnext/accounts/doctype/sales_invoice_timesheet/sales_invoice_timesheet.json @@ -52,7 +52,6 @@ "fieldtype": "Data", "hidden": 1, "label": "Timesheet Detail", - "no_copy": 1, "print_hide": 1, "read_only": 1 }, @@ -117,15 +116,16 @@ ], "istable": 1, "links": [], - "modified": "2024-03-27 13:10:36.562795", + "modified": "2025-12-23 13:54:17.677187", "modified_by": "Administrator", "module": "Accounts", "name": "Sales Invoice Timesheet", "owner": "Administrator", "permissions": [], "quick_entry": 1, + "row_format": "Dynamic", "sort_field": "creation", "sort_order": "DESC", "states": [], "track_changes": 1 -} \ No newline at end of file +} diff --git a/erpnext/projects/doctype/timesheet/timesheet.json b/erpnext/projects/doctype/timesheet/timesheet.json index 255f7e8ed97..0022ef9193b 100644 --- a/erpnext/projects/doctype/timesheet/timesheet.json +++ b/erpnext/projects/doctype/timesheet/timesheet.json @@ -91,7 +91,7 @@ "in_standard_filter": 1, "label": "Status", "no_copy": 1, - "options": "Draft\nSubmitted\nBilled\nPayslip\nCompleted\nCancelled", + "options": "Draft\nSubmitted\nPartially Billed\nBilled\nPayslip\nCompleted\nCancelled", "print_hide": 1, "read_only": 1 }, @@ -310,7 +310,7 @@ "idx": 1, "is_submittable": 1, "links": [], - "modified": "2024-03-27 13:10:53.551907", + "modified": "2025-12-19 13:48:23.453636", "modified_by": "Administrator", "module": "Projects", "name": "Timesheet", @@ -386,8 +386,9 @@ "write": 1 } ], + "row_format": "Dynamic", "sort_field": "creation", "sort_order": "ASC", "states": [], "title_field": "title" -} \ No newline at end of file +} From 332673f260a5de24f52d8da1db7d1b473635edf7 Mon Sep 17 00:00:00 2001 From: l0gesh29 Date: Tue, 23 Dec 2025 20:13:54 +0530 Subject: [PATCH 03/68] feat(timesheet): handle partial billing in sales invoice (cherry picked from commit c87b5d31323ab7018f8080b8e1dafac3e470c7c6) --- .../doctype/sales_invoice/sales_invoice.py | 39 +++++++++++++++---- .../projects/doctype/timesheet/timesheet.py | 9 ++++- 2 files changed, 38 insertions(+), 10 deletions(-) diff --git a/erpnext/accounts/doctype/sales_invoice/sales_invoice.py b/erpnext/accounts/doctype/sales_invoice/sales_invoice.py index cad1a597386..c7c029768e5 100644 --- a/erpnext/accounts/doctype/sales_invoice/sales_invoice.py +++ b/erpnext/accounts/doctype/sales_invoice/sales_invoice.py @@ -352,10 +352,17 @@ class SalesInvoice(SellingController): self.is_opening = "No" self.set_against_income_account() - self.validate_time_sheets_are_submitted() + + if not self.is_return: + self.validate_time_sheets_are_submitted() + self.validate_multiple_billing("Delivery Note", "dn_detail", "amount") - if self.is_return: - self.timesheets = [] + + if self.is_return and self.return_against: + for row in self.timesheets: + row.billing_hours *= -1 + row.billing_amount *= -1 + self.update_packing_list() self.set_billing_hours_and_amount() self.update_timesheet_billing_for_project() @@ -484,7 +491,7 @@ class SalesInvoice(SellingController): if cint(self.is_pos) != 1 and not self.is_return: self.update_against_document_in_jv() - self.update_time_sheet(self.name) + self.update_time_sheet(None if (self.is_return and self.return_against) else self.name) if frappe.get_single_value("Selling Settings", "sales_update_frequency") == "Each Transaction": update_company_current_month_sales(self.company) @@ -804,8 +811,19 @@ class SalesInvoice(SellingController): for data in timesheet.time_logs: if ( (self.project and args.timesheet_detail == data.name) - or (not self.project and not data.sales_invoice) - or (not sales_invoice and data.sales_invoice == self.name) + or (not self.project and not data.sales_invoice and args.timesheet_detail == data.name) + or ( + not sales_invoice + and data.sales_invoice == self.name + and args.timesheet_detail == data.name + ) + or ( + self.is_return + and self.return_against + and data.sales_invoice + and not sales_invoice + and args.timesheet_detail == data.name + ) ): data.sales_invoice = sales_invoice @@ -848,7 +866,7 @@ class SalesInvoice(SellingController): for data in self.timesheets: if data.time_sheet: status = frappe.db.get_value("Timesheet", data.time_sheet, "status") - if status not in ["Submitted", "Payslip"]: + if status not in ["Submitted", "Payslip", "Partially Billed"]: frappe.throw(_("Timesheet {0} is already completed or cancelled").format(data.time_sheet)) def set_pos_fields(self, for_validate=False): @@ -1283,7 +1301,12 @@ class SalesInvoice(SellingController): timesheet.billing_amount = ts_doc.total_billable_amount def update_timesheet_billing_for_project(self): - if not self.timesheets and self.project and self.is_auto_fetch_timesheet_enabled(): + if ( + not self.is_return + and not self.timesheets + and self.project + and self.is_auto_fetch_timesheet_enabled() + ): self.add_timesheet_data() else: self.calculate_billing_amount_for_timesheet() diff --git a/erpnext/projects/doctype/timesheet/timesheet.py b/erpnext/projects/doctype/timesheet/timesheet.py index 866281bf1ef..7645ee263cc 100644 --- a/erpnext/projects/doctype/timesheet/timesheet.py +++ b/erpnext/projects/doctype/timesheet/timesheet.py @@ -51,7 +51,9 @@ class Timesheet(Document): per_billed: DF.Percent sales_invoice: DF.Link | None start_date: DF.Date | None - status: DF.Literal["Draft", "Submitted", "Billed", "Payslip", "Completed", "Cancelled"] + status: DF.Literal[ + "Draft", "Submitted", "Partially Billed", "Billed", "Payslip", "Completed", "Cancelled" + ] time_logs: DF.Table[TimesheetDetail] title: DF.Data | None total_billable_amount: DF.Currency @@ -128,6 +130,9 @@ class Timesheet(Document): if flt(self.per_billed, self.precision("per_billed")) >= 100.0: self.status = "Billed" + if 0.0 < flt(self.per_billed, self.precision("per_billed")) < 100.0: + self.status = "Partially Billed" + if self.sales_invoice: self.status = "Completed" @@ -433,7 +438,7 @@ def make_sales_invoice(source_name, item_code=None, customer=None, currency=None target.append("items", {"item_code": item_code, "qty": hours, "rate": billing_rate}) for time_log in timesheet.time_logs: - if time_log.is_billable: + if time_log.is_billable and not time_log.sales_invoice: target.append( "timesheets", { From 9b882753125d813c952626c7650ee8f3e2ce29cd Mon Sep 17 00:00:00 2001 From: l0gesh29 Date: Tue, 23 Dec 2025 20:14:45 +0530 Subject: [PATCH 04/68] feat: add list_view status for partial billing (cherry picked from commit ff0b37055b9890ab368fc60553103dd2eca46a35) --- erpnext/projects/doctype/timesheet/timesheet_list.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/erpnext/projects/doctype/timesheet/timesheet_list.js b/erpnext/projects/doctype/timesheet/timesheet_list.js index 0de568ce589..b733cccc787 100644 --- a/erpnext/projects/doctype/timesheet/timesheet_list.js +++ b/erpnext/projects/doctype/timesheet/timesheet_list.js @@ -1,6 +1,10 @@ frappe.listview_settings["Timesheet"] = { add_fields: ["status", "total_hours", "start_date", "end_date"], get_indicator: function (doc) { + if (doc.status == "Partially Billed") { + return [__("Partially Billed"), "orange", "status,=," + "Partially Billed"]; + } + if (doc.status == "Billed") { return [__("Billed"), "green", "status,=," + "Billed"]; } From cbfc13728bb0b50c7ed2bba7ff5240ce24649acb Mon Sep 17 00:00:00 2001 From: l0gesh29 Date: Wed, 24 Dec 2025 18:35:48 +0530 Subject: [PATCH 05/68] fix: include total hours validation in depends on (cherry picked from commit 57d34ab146868f50884a52dfdcbf76ec0d267925) --- erpnext/accounts/doctype/sales_invoice/sales_invoice.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/erpnext/accounts/doctype/sales_invoice/sales_invoice.json b/erpnext/accounts/doctype/sales_invoice/sales_invoice.json index 3dccf199353..2d32832d25c 100644 --- a/erpnext/accounts/doctype/sales_invoice/sales_invoice.json +++ b/erpnext/accounts/doctype/sales_invoice/sales_invoice.json @@ -778,7 +778,7 @@ }, { "collapsible": 1, - "depends_on": "eval:doc.total_billing_amount > 0", + "collapsible_depends_on": "eval:doc.total_billing_amount > 0 || doc.total_billing_hours > 0", "fieldname": "time_sheet_list", "fieldtype": "Section Break", "hide_border": 1, @@ -2090,7 +2090,7 @@ "fieldtype": "Column Break" }, { - "depends_on": "eval:doc.total_billing_amount > 0", + "depends_on": "eval:doc.total_billing_amount > 0 || doc.total_billing_hours > 0", "fieldname": "section_break_104", "fieldtype": "Section Break" }, @@ -2304,7 +2304,7 @@ "link_fieldname": "consolidated_invoice" } ], - "modified": "2025-12-23 20:09:14.424656", + "modified": "2025-12-24 18:29:50.242618", "modified_by": "Administrator", "module": "Accounts", "name": "Sales Invoice", From a04da71182c95cff77327932670eac0fff464f3b Mon Sep 17 00:00:00 2001 From: l0gesh29 Date: Wed, 24 Dec 2025 22:08:28 +0530 Subject: [PATCH 06/68] test: add test for partial billing and return (cherry picked from commit ae594e81f98a6edd904755d70404427c7bb1e942) --- .../doctype/timesheet/test_timesheet.py | 59 ++++++++++++++++++- 1 file changed, 58 insertions(+), 1 deletion(-) diff --git a/erpnext/projects/doctype/timesheet/test_timesheet.py b/erpnext/projects/doctype/timesheet/test_timesheet.py index ed815c45884..c1f6e8d5dd9 100644 --- a/erpnext/projects/doctype/timesheet/test_timesheet.py +++ b/erpnext/projects/doctype/timesheet/test_timesheet.py @@ -7,6 +7,7 @@ import frappe from frappe.tests import IntegrationTestCase from frappe.utils import add_to_date, now_datetime, nowdate +from erpnext.accounts.doctype.sales_invoice.sales_invoice import make_sales_return from erpnext.accounts.doctype.sales_invoice.test_sales_invoice import create_sales_invoice from erpnext.projects.doctype.task.test_task import create_task from erpnext.projects.doctype.timesheet.timesheet import OverlapError, make_sales_invoice @@ -272,6 +273,60 @@ class TestTimesheet(ERPNextTestSuite): ts.calculate_percentage_billed() self.assertEqual(ts.per_billed, 100) + def test_partial_billing_and_return(self): + """ + Test Timesheet status transitions during partial billing, full billing, + sales return, and return cancellation. + + Scenario: + 1. Create a Timesheet with two billable time logs. + 2. Create a Sales Invoice billing only one time log → Timesheet becomes Partially Billed. + 3. Create another Sales Invoice billing the remaining time log → Timesheet becomes Billed. + 4. Create a Sales Return against the second invoice → Timesheet reverts to Partially Billed. + 5. Cancel the Sales Return → Timesheet returns to Billed status. + + This test ensures Timesheet status is recalculated correctly + across billing and return lifecycle events. + """ + emp = make_employee("test_employee_6@salary.com") + + timesheet = make_timesheet(emp, simulate=True, is_billable=1, do_not_submit=True) + timesheet_detail = timesheet.append("time_logs", {}) + timesheet_detail.is_billable = 1 + timesheet_detail.activity_type = "_Test Activity Type" + timesheet_detail.from_time = timesheet.time_logs[0].to_time + datetime.timedelta(minutes=1) + timesheet_detail.hours = 2 + timesheet_detail.to_time = timesheet_detail.from_time + datetime.timedelta( + hours=timesheet_detail.hours + ) + timesheet.save().submit() + + sales_invoice = make_sales_invoice(timesheet.name, "_Test Item", "_Test Customer", currency="INR") + sales_invoice.due_date = nowdate() + sales_invoice.timesheets.pop() + sales_invoice.submit() + + timesheet_status = frappe.get_value("Timesheet", timesheet.name, "status") + self.assertEqual(timesheet_status, "Partially Billed") + + sales_invoice2 = make_sales_invoice(timesheet.name, "_Test Item", "_Test Customer", currency="INR") + sales_invoice2.due_date = nowdate() + sales_invoice2.submit() + + timesheet_status = frappe.get_value("Timesheet", timesheet.name, "status") + self.assertEqual(timesheet_status, "Billed") + + sales_return = make_sales_return(sales_invoice2.name).submit() + timesheet_status = frappe.get_value("Timesheet", timesheet.name, "status") + self.assertEqual(timesheet_status, "Partially Billed") + + sales_return.load_from_db() + sales_return.cancel() + + timesheet.load_from_db() + self.assertEqual(timesheet.time_logs[1].sales_invoice, sales_invoice2.name) + self.assertEqual(timesheet.status, "Billed") + def make_timesheet( employee, @@ -283,6 +338,7 @@ def make_timesheet( company=None, currency=None, exchange_rate=None, + do_not_submit=False, ): update_activity_type(activity_type) timesheet = frappe.new_doc("Timesheet") @@ -311,7 +367,8 @@ def make_timesheet( else: timesheet.save(ignore_permissions=True) - timesheet.submit() + if not do_not_submit: + timesheet.submit() return timesheet From 65a1c7086bf2c704daf06226677bb2cdce7e45c0 Mon Sep 17 00:00:00 2001 From: l0gesh29 Date: Wed, 24 Dec 2025 22:09:03 +0530 Subject: [PATCH 07/68] fix: handle return cancellation (cherry picked from commit 50f73a5072b471e347decf2819879a5a957dbe0a) --- erpnext/accounts/doctype/sales_invoice/sales_invoice.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/erpnext/accounts/doctype/sales_invoice/sales_invoice.py b/erpnext/accounts/doctype/sales_invoice/sales_invoice.py index c7c029768e5..585a2bffece 100644 --- a/erpnext/accounts/doctype/sales_invoice/sales_invoice.py +++ b/erpnext/accounts/doctype/sales_invoice/sales_invoice.py @@ -571,7 +571,7 @@ class SalesInvoice(SellingController): self.check_if_consolidated_invoice() super().before_cancel() - self.update_time_sheet(None) + self.update_time_sheet(self.return_against if (self.is_return and self.return_against) else None) def on_cancel(self): check_if_return_invoice_linked_with_payment_entry(self) From 84a749e3d091dfed21856700a26769997679bcb9 Mon Sep 17 00:00:00 2001 From: l0gesh29 Date: Fri, 9 Jan 2026 17:43:55 +0530 Subject: [PATCH 08/68] fix: add validation for duplication (cherry picked from commit cda8a97f4a0344f7e8de04dc52305709fffc14fc) --- .../accounts/doctype/sales_invoice/sales_invoice.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/erpnext/accounts/doctype/sales_invoice/sales_invoice.py b/erpnext/accounts/doctype/sales_invoice/sales_invoice.py index 585a2bffece..6f6fd853375 100644 --- a/erpnext/accounts/doctype/sales_invoice/sales_invoice.py +++ b/erpnext/accounts/doctype/sales_invoice/sales_invoice.py @@ -869,6 +869,16 @@ class SalesInvoice(SellingController): if status not in ["Submitted", "Payslip", "Partially Billed"]: frappe.throw(_("Timesheet {0} is already completed or cancelled").format(data.time_sheet)) + if data.time_sheet and data.timesheet_detail: + if sales_invoice := frappe.db.get_value( + "Timesheet Detail", data.timesheet_detail, "sales_invoice" + ): + frappe.throw( + _("Row {0}: Sales Invoice {1} is already created for {2}").format( + data.idx, frappe.bold(sales_invoice), frappe.bold(data.time_sheet) + ) + ) + def set_pos_fields(self, for_validate=False): """Set retail related fields from POS Profiles""" if cint(self.is_pos) != 1: From ce421bb1d47628c202879341a4e2288c9c10e96b Mon Sep 17 00:00:00 2001 From: Logesh Periyasamy Date: Fri, 9 Jan 2026 18:11:42 +0530 Subject: [PATCH 09/68] fix: add validation for amount and hours Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> (cherry picked from commit 43d1d685c63ec8129fe02133cc2f19821f4cd093) --- erpnext/accounts/doctype/sales_invoice/sales_invoice.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/erpnext/accounts/doctype/sales_invoice/sales_invoice.py b/erpnext/accounts/doctype/sales_invoice/sales_invoice.py index 6f6fd853375..45791a66083 100644 --- a/erpnext/accounts/doctype/sales_invoice/sales_invoice.py +++ b/erpnext/accounts/doctype/sales_invoice/sales_invoice.py @@ -360,8 +360,10 @@ class SalesInvoice(SellingController): if self.is_return and self.return_against: for row in self.timesheets: - row.billing_hours *= -1 - row.billing_amount *= -1 + if row.billing_hours > 0: + row.billing_hours *= -1 + if row.billing_amount > 0: + row.billing_amount *= -1 self.update_packing_list() self.set_billing_hours_and_amount() From 6dade11d8fe0f645aa04870fad829f1d049ee770 Mon Sep 17 00:00:00 2001 From: l0gesh29 Date: Fri, 9 Jan 2026 19:08:23 +0530 Subject: [PATCH 10/68] fix: add validation for return against (cherry picked from commit ff9b936634fbd3d17677dbe124cab3521c0458f7) --- .../doctype/sales_invoice/sales_invoice.py | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/erpnext/accounts/doctype/sales_invoice/sales_invoice.py b/erpnext/accounts/doctype/sales_invoice/sales_invoice.py index 45791a66083..53eb92a9b3f 100644 --- a/erpnext/accounts/doctype/sales_invoice/sales_invoice.py +++ b/erpnext/accounts/doctype/sales_invoice/sales_invoice.py @@ -823,6 +823,7 @@ class SalesInvoice(SellingController): self.is_return and self.return_against and data.sales_invoice + and data.sales_invoice == self.return_against and not sales_invoice and args.timesheet_detail == data.name ) @@ -865,12 +866,10 @@ class SalesInvoice(SellingController): payment.account = get_bank_cash_account(payment.mode_of_payment, self.company).get("account") def validate_time_sheets_are_submitted(self): + # Note: This validation is skipped for return invoices + # to allow returns to reference already-billed timesheet details for data in self.timesheets: - if data.time_sheet: - status = frappe.db.get_value("Timesheet", data.time_sheet, "status") - if status not in ["Submitted", "Payslip", "Partially Billed"]: - frappe.throw(_("Timesheet {0} is already completed or cancelled").format(data.time_sheet)) - + # Handle invoice duplication if data.time_sheet and data.timesheet_detail: if sales_invoice := frappe.db.get_value( "Timesheet Detail", data.timesheet_detail, "sales_invoice" @@ -881,6 +880,11 @@ class SalesInvoice(SellingController): ) ) + if data.time_sheet: + status = frappe.db.get_value("Timesheet", data.time_sheet, "status") + if status not in ["Submitted", "Payslip", "Partially Billed"]: + frappe.throw(_("Timesheet {0} is already completed or cancelled").format(data.time_sheet)) + def set_pos_fields(self, for_validate=False): """Set retail related fields from POS Profiles""" if cint(self.is_pos) != 1: From bfd6375508eeec7d19bce1904c8f3689e6632b01 Mon Sep 17 00:00:00 2001 From: l0gesh29 Date: Sun, 11 Jan 2026 13:52:46 +0530 Subject: [PATCH 11/68] fix: add validation for direct return (cherry picked from commit 8379b39aaf7a40ec416f64ee74f618d44cdadb05) --- .../accounts/doctype/sales_invoice/sales_invoice.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/erpnext/accounts/doctype/sales_invoice/sales_invoice.py b/erpnext/accounts/doctype/sales_invoice/sales_invoice.py index 53eb92a9b3f..059da953470 100644 --- a/erpnext/accounts/doctype/sales_invoice/sales_invoice.py +++ b/erpnext/accounts/doctype/sales_invoice/sales_invoice.py @@ -353,6 +353,9 @@ class SalesInvoice(SellingController): self.set_against_income_account() + if self.is_return and not self.return_against and self.timesheets: + frappe.throw(_("Direct return is not allowed for Timesheet.")) + if not self.is_return: self.validate_time_sheets_are_submitted() @@ -360,10 +363,10 @@ class SalesInvoice(SellingController): if self.is_return and self.return_against: for row in self.timesheets: - if row.billing_hours > 0: - row.billing_hours *= -1 - if row.billing_amount > 0: - row.billing_amount *= -1 + if row.billing_hours: + row.billing_hours = -abs(row.billing_hours) + if row.billing_amount: + row.billing_amount = -abs(row.billing_amount) self.update_packing_list() self.set_billing_hours_and_amount() From fe0431a6d090f4fa2ab95717c552cfb68b546727 Mon Sep 17 00:00:00 2001 From: l0gesh29 Date: Sun, 11 Jan 2026 14:32:15 +0530 Subject: [PATCH 12/68] chore: modify error msg (cherry picked from commit f7004aa8c31fc845aa1a8f774c490d50de601b21) --- erpnext/accounts/doctype/sales_invoice/sales_invoice.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/erpnext/accounts/doctype/sales_invoice/sales_invoice.py b/erpnext/accounts/doctype/sales_invoice/sales_invoice.py index 059da953470..e987a5ad099 100644 --- a/erpnext/accounts/doctype/sales_invoice/sales_invoice.py +++ b/erpnext/accounts/doctype/sales_invoice/sales_invoice.py @@ -886,7 +886,9 @@ class SalesInvoice(SellingController): if data.time_sheet: status = frappe.db.get_value("Timesheet", data.time_sheet, "status") if status not in ["Submitted", "Payslip", "Partially Billed"]: - frappe.throw(_("Timesheet {0} is already completed or cancelled").format(data.time_sheet)) + frappe.throw( + _("Timesheet {0} cannot be invoiced in its current state").format(data.time_sheet) + ) def set_pos_fields(self, for_validate=False): """Set retail related fields from POS Profiles""" From d57fc49896d27434902e431e1c8de08880e57920 Mon Sep 17 00:00:00 2001 From: Pandiyan5273 Date: Mon, 12 Jan 2026 13:49:19 +0530 Subject: [PATCH 13/68] test(stock-entry): manufacture entry without work order (cherry picked from commit 784e338be4b1fa6d5d204b7a0bad2b71dbd25fce) --- .../doctype/stock_entry/test_stock_entry.py | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/erpnext/stock/doctype/stock_entry/test_stock_entry.py b/erpnext/stock/doctype/stock_entry/test_stock_entry.py index 935e86dcdc6..cf1b12a8f28 100644 --- a/erpnext/stock/doctype/stock_entry/test_stock_entry.py +++ b/erpnext/stock/doctype/stock_entry/test_stock_entry.py @@ -2250,6 +2250,33 @@ class TestStockEntry(IntegrationTestCase): material_request.reload() self.assertEqual(material_request.transfer_status, "Completed") + def test_manufacture_entry_without_wo(self): + from erpnext.manufacturing.doctype.production_plan.test_production_plan import make_bom + + fg_item = make_item("_Mobiles", properties={"is_stock_item": 1}).name + rm_item1 = make_item("_Temper Glass", properties={"is_stock_item": 1}).name + rm_item2 = make_item("_Battery", properties={"is_stock_item": 1}).name + warehouse = "_Test Warehouse - _TC" + make_stock_entry(item_code=rm_item1, target=warehouse, qty=5, purpose="Material Receipt") + make_stock_entry(item_code=rm_item2, target=warehouse, qty=5, purpose="Material Receipt") + + bom_no = make_bom(item=fg_item, raw_materials=[rm_item1, rm_item2]).name + se = make_stock_entry(item_code=fg_item, qty=1, purpose="Manufacture", do_not_save=True) + se.from_bom = 1 + se.use_multi_level_bom = 1 + se.bom_no = bom_no + se.fg_completed_qty = 1 + se.from_warehouse = warehouse + se.to_warehouse = warehouse + + se.get_items() + rm_items = {d.item_code: d.qty for d in se.items if d.item_code != fg_item} + self.assertEqual(rm_items[rm_item1], 1) + self.assertEqual(rm_items[rm_item2], 1) + se.calculate_rate_and_amount() + se.save() + se.submit() + def make_serialized_item(self, **args): args = frappe._dict(args) From 8ba470160d09c1cfeb61439e901191089a31c862 Mon Sep 17 00:00:00 2001 From: diptanilsaha Date: Wed, 14 Jan 2026 01:34:20 +0530 Subject: [PATCH 14/68] fix(transaction.js): use flt instead of cint for plc_conversion_rate (cherry picked from commit 8b445e04e57ecfb25a22e767c455c3cabe173cb6) --- erpnext/public/js/controllers/transaction.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/erpnext/public/js/controllers/transaction.js b/erpnext/public/js/controllers/transaction.js index a77bd824f2f..cd9341dd9c8 100644 --- a/erpnext/public/js/controllers/transaction.js +++ b/erpnext/public/js/controllers/transaction.js @@ -1530,8 +1530,8 @@ erpnext.TransactionController = class TransactionController extends erpnext.taxe } else if ( this.frm.doc.price_list_currency === this.frm.doc.currency && this.frm.doc.plc_conversion_rate && - cint(this.frm.doc.plc_conversion_rate) != 1 && - cint(this.frm.doc.plc_conversion_rate) != cint(this.frm.doc.conversion_rate) + flt(this.frm.doc.plc_conversion_rate) != 1 && + flt(this.frm.doc.plc_conversion_rate) != flt(this.frm.doc.conversion_rate) ) { this.frm.set_value("conversion_rate", this.frm.doc.plc_conversion_rate); } From 768c1310739fee559b73015ed00a1361edcfcb9e Mon Sep 17 00:00:00 2001 From: Rohit Waghchaure Date: Tue, 13 Jan 2026 17:00:45 +0530 Subject: [PATCH 15/68] fix: valuation rate for non batchwise valuation (cherry picked from commit b6312bca9c8d163c8771e73a60545d226d3e559e) --- .../purchase_receipt/test_purchase_receipt.py | 148 ++++++++++++++++++ .../serial_and_batch_bundle.py | 21 ++- 2 files changed, 158 insertions(+), 11 deletions(-) diff --git a/erpnext/stock/doctype/purchase_receipt/test_purchase_receipt.py b/erpnext/stock/doctype/purchase_receipt/test_purchase_receipt.py index 6ee22025565..b26bab3d1c4 100644 --- a/erpnext/stock/doctype/purchase_receipt/test_purchase_receipt.py +++ b/erpnext/stock/doctype/purchase_receipt/test_purchase_receipt.py @@ -4849,6 +4849,154 @@ class TestPurchaseReceipt(IntegrationTestCase): self.assertEqual(return_entry.items[0].qty, -2) self.assertEqual(return_entry.items[0].rejected_qty, 0) # 3-3=0 + def test_do_not_use_batchwise_valuation_with_fifo(self): + from erpnext.stock.doctype.stock_entry.test_stock_entry import make_stock_entry + + item_code = make_item( + "Test Item Do Not Use Batchwise Valuation with FIFO", + { + "is_stock_item": 1, + "has_batch_no": 1, + "batch_number_series": "BN-TESTDNUBVWF-.#####", + "valuation_method": "FIFO", + }, + ).name + + doc = frappe.new_doc("Batch") + doc.update( + { + "batch_id": "BN-TESTDNUBVWF-00001", + "item": item_code, + } + ).insert() + + doc.db_set("use_batchwise_valuation", 0) + doc.reload() + + self.assertTrue(doc.use_batchwise_valuation == 0) + + doc = frappe.new_doc("Batch") + doc.update( + { + "batch_id": "BN-TESTDNUBVWF-00002", + "item": item_code, + } + ).insert() + + self.assertTrue(doc.use_batchwise_valuation == 1) + + warehouse = "_Test Warehouse - _TC" + make_stock_entry( + item_code=item_code, + qty=10, + rate=100, + target=warehouse, + batch_no="BN-TESTDNUBVWF-00001", + use_serial_batch_fields=1, + ) + + se1 = make_stock_entry( + item_code=item_code, + qty=10, + rate=200, + target=warehouse, + batch_no="BN-TESTDNUBVWF-00001", + use_serial_batch_fields=1, + ) + + stock_queue = frappe.db.get_value( + "Stock Ledger Entry", + { + "item_code": item_code, + "warehouse": warehouse, + "is_cancelled": 0, + "voucher_type": "Stock Entry", + "voucher_no": se1.name, + }, + "stock_queue", + ) + + stock_queue = frappe.parse_json(stock_queue) + + self.assertEqual(stock_queue, [[10, 100.0], [10, 200.0]]) + + se2 = make_stock_entry( + item_code=item_code, + qty=10, + rate=2, + target=warehouse, + batch_no="BN-TESTDNUBVWF-00002", + use_serial_batch_fields=1, + ) + + stock_queue = frappe.db.get_value( + "Stock Ledger Entry", + { + "item_code": item_code, + "warehouse": warehouse, + "is_cancelled": 0, + "voucher_type": "Stock Entry", + "voucher_no": se2.name, + }, + "stock_queue", + ) + + stock_queue = frappe.parse_json(stock_queue) + self.assertEqual(stock_queue, [[10, 100.0], [10, 200.0]]) + + se3 = make_stock_entry( + item_code=item_code, + qty=20, + source=warehouse, + batch_no="BN-TESTDNUBVWF-00001", + use_serial_batch_fields=1, + ) + + ste_details = frappe.db.get_value( + "Stock Ledger Entry", + { + "item_code": item_code, + "warehouse": warehouse, + "is_cancelled": 0, + "voucher_type": "Stock Entry", + "voucher_no": se3.name, + }, + ["stock_queue", "stock_value_difference"], + as_dict=1, + ) + + stock_queue = frappe.parse_json(ste_details.stock_queue) + self.assertEqual(stock_queue, []) + self.assertEqual(ste_details.stock_value_difference, 3000 * -1) + + se4 = make_stock_entry( + item_code=item_code, + qty=20, + rate=0, + target=warehouse, + batch_no="BN-TESTDNUBVWF-00001", + use_serial_batch_fields=1, + do_not_submit=1, + ) + + se4.items[0].basic_rate = 0.0 + se4.items[0].allow_zero_valuation_rate = 1 + se4.submit() + + stock_queue = frappe.db.get_value( + "Stock Ledger Entry", + { + "item_code": item_code, + "warehouse": warehouse, + "is_cancelled": 0, + "voucher_type": "Stock Entry", + "voucher_no": se4.name, + }, + "stock_queue", + ) + + self.assertEqual(frappe.parse_json(stock_queue), [[20, 0.0]]) + def prepare_data_for_internal_transfer(): from erpnext.accounts.doctype.sales_invoice.test_sales_invoice import create_internal_supplier diff --git a/erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py b/erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py index 8b50e1666ef..458df2fec38 100644 --- a/erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py +++ b/erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py @@ -712,17 +712,16 @@ class SerialandBatchBundle(Document): is_packed_item = True stock_queue = [] - batches = [] - if prev_sle and prev_sle.stock_queue: - batches = frappe.get_all( - "Batch", - filters={ - "name": ("in", [d.batch_no for d in self.entries if d.batch_no]), - "use_batchwise_valuation": 0, - }, - pluck="name", - ) + batches = frappe.get_all( + "Batch", + filters={ + "name": ("in", [d.batch_no for d in self.entries if d.batch_no]), + "use_batchwise_valuation": 0, + }, + pluck="name", + ) + if prev_sle and prev_sle.stock_queue and parse_json(prev_sle.stock_queue): if batches and valuation_method == "FIFO": stock_queue = parse_json(prev_sle.stock_queue) @@ -749,7 +748,7 @@ class SerialandBatchBundle(Document): if d.qty: d.stock_value_difference = flt(d.qty) * d.incoming_rate - if stock_queue and valuation_method == "FIFO" and d.batch_no in batches: + if valuation_method == "FIFO" and d.batch_no in batches and d.incoming_rate is not None: stock_queue.append([d.qty, d.incoming_rate]) d.stock_queue = json.dumps(stock_queue) From 86d5939d91af884c7321df4d3b8c106471317072 Mon Sep 17 00:00:00 2001 From: mahsem <137205921+mahsem@users.noreply.github.com> Date: Wed, 14 Jan 2026 16:36:22 +0100 Subject: [PATCH 16/68] fix: docs_path (cherry picked from commit 7ef8c81caf13452099ef8cd397f7f4e198284dfd) --- erpnext/stock/doctype/item/item.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/erpnext/stock/doctype/item/item.js b/erpnext/stock/doctype/item/item.js index 56cdb427acd..ad180a7f2f8 100644 --- a/erpnext/stock/doctype/item/item.js +++ b/erpnext/stock/doctype/item/item.js @@ -1063,7 +1063,7 @@ frappe.tour["Item"] = [ fieldname: "valuation_rate", title: "Valuation Rate", description: __( - "There are two options to maintain valuation of stock. FIFO (first in - first out) and Moving Average. To understand this topic in detail please visit Item Valuation, FIFO and Moving Average." + "There are two options to maintain valuation of stock. FIFO (first in - first out) and Moving Average. To understand this topic in detail please visit Item Valuation, FIFO and Moving Average." ), }, { From e64ae9a8a98698fc54c685d68e9b2537a9dd7485 Mon Sep 17 00:00:00 2001 From: Rohit Waghchaure Date: Thu, 15 Jan 2026 17:04:49 +0530 Subject: [PATCH 17/68] fix: Show non-SLE vouchers with GL entries in Stock vs Account Value Comparison report (cherry picked from commit 1db9ce205f8337c7008d1708bbda8afae641c820) --- .../stock_and_account_value_comparison.py | 38 ++++++++++++++++++- 1 file changed, 36 insertions(+), 2 deletions(-) diff --git a/erpnext/stock/report/stock_and_account_value_comparison/stock_and_account_value_comparison.py b/erpnext/stock/report/stock_and_account_value_comparison/stock_and_account_value_comparison.py index 172e0fa6a41..8afe1d72e27 100644 --- a/erpnext/stock/report/stock_and_account_value_comparison/stock_and_account_value_comparison.py +++ b/erpnext/stock/report/stock_and_account_value_comparison/stock_and_account_value_comparison.py @@ -42,9 +42,37 @@ def get_data(report_filters): gl_data = voucher_wise_gl_data.get(key) or {} d.account_value = gl_data.get("account_value", 0) d.difference_value = d.stock_value - d.account_value + d.ledger_type = "Stock Ledger Entry" if abs(d.difference_value) > 0.1: data.append(d) + if key in voucher_wise_gl_data: + del voucher_wise_gl_data[key] + + if voucher_wise_gl_data: + data += get_gl_ledgers_with_no_stock_ledger_entries(voucher_wise_gl_data) + + return data + + +def get_gl_ledgers_with_no_stock_ledger_entries(voucher_wise_gl_data): + data = [] + + for key in voucher_wise_gl_data: + gl_data = voucher_wise_gl_data.get(key) or {} + data.append( + { + "name": gl_data.get("name"), + "ledger_type": "GL Entry", + "voucher_type": gl_data.get("voucher_type"), + "voucher_no": gl_data.get("voucher_no"), + "posting_date": gl_data.get("posting_date"), + "stock_value": 0, + "account_value": gl_data.get("account_value", 0), + "difference_value": gl_data.get("account_value", 0) * -1, + } + ) + return data @@ -88,6 +116,7 @@ def get_gl_data(report_filters, filters): "name", "voucher_type", "voucher_no", + "posting_date", { "SUB": [{"SUM": "debit_in_account_currency"}, {"SUM": "credit_in_account_currency"}], "as": "account_value", @@ -109,10 +138,15 @@ def get_columns(filters): { "label": _("Stock Ledger ID"), "fieldname": "name", - "fieldtype": "Link", - "options": "Stock Ledger Entry", + "fieldtype": "Dynamic Link", + "options": "ledger_type", "width": "80", }, + { + "label": _("Ledger Type"), + "fieldname": "ledger_type", + "fieldtype": "Data", + }, {"label": _("Posting Date"), "fieldname": "posting_date", "fieldtype": "Date"}, {"label": _("Posting Time"), "fieldname": "posting_time", "fieldtype": "Time"}, {"label": _("Voucher Type"), "fieldname": "voucher_type", "width": "110"}, From 876e2d4e6e8c936bc7a4b7bfbbcc04db04477d75 Mon Sep 17 00:00:00 2001 From: Ankush Menat Date: Fri, 16 Jan 2026 11:24:43 +0530 Subject: [PATCH 18/68] build: Update Frappe dependency (#51779) --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index e450d675f02..d8acb83723b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -38,7 +38,7 @@ skip_namespaces = [ ] [tool.bench.frappe-dependencies] -frappe = ">=16.0.0-dev,<17.0.0" +frappe = ">=16.0.0,<17.0.0" [tool.ruff] line-length = 110 From f62ad83d6f73cd986e62e3e947708055d8e2b4e1 Mon Sep 17 00:00:00 2001 From: Jatin3128 <140256508+Jatin3128@users.noreply.github.com> Date: Fri, 16 Jan 2026 12:06:22 +0530 Subject: [PATCH 19/68] Merge pull request #51673 from Jatin3128/ar/ap-future-range-fix fix: add below-0 column in ar/ap report (cherry picked from commit c5b0787de6c020d8baa5f0eb080a943562360317) --- .../accounts_receivable/accounts_receivable.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/erpnext/accounts/report/accounts_receivable/accounts_receivable.py b/erpnext/accounts/report/accounts_receivable/accounts_receivable.py index 75e81d3b04c..0b4f59d6aae 100644 --- a/erpnext/accounts/report/accounts_receivable/accounts_receivable.py +++ b/erpnext/accounts/report/accounts_receivable/accounts_receivable.py @@ -877,11 +877,15 @@ class ReceivablePayableReport: else: entry_date = row.posting_date + row.range0 = 0.0 + self.get_ageing_data(entry_date, row) - # ageing buckets should not have amounts if due date is not reached if getdate(entry_date) > getdate(self.age_as_on): + row.range0 = row.outstanding [setattr(row, f"range{i}", 0.0) for i in self.range_numbers] + row.total_due = 0 + return row.total_due = sum(row[f"range{i}"] for i in self.range_numbers) @@ -1281,6 +1285,8 @@ class ReceivablePayableReport: ranges = [*self.ranges, _("Above")] prev_range_value = 0 + self.add_column(label=_("<0"), fieldname="range0", fieldtype="Currency") + self.ageing_column_labels.append(_("<0")) for idx, curr_range_value in enumerate(ranges): label = f"{prev_range_value}-{curr_range_value}" self.add_column(label=label, fieldname="range" + str(idx + 1)) @@ -1296,7 +1302,9 @@ class ReceivablePayableReport: for row in self.data: row = frappe._dict(row) if not cint(row.bold): - values = [flt(row.get(f"range{i}", None), precision) for i in self.range_numbers] + values = [flt(row.get("range0", 0), precision)] + [ + flt(row.get(f"range{i}", 0), precision) for i in self.range_numbers + ] rows.append({"values": values}) self.chart = { From d9326d80de118d74cc36913472ae051c49fec876 Mon Sep 17 00:00:00 2001 From: Mihir Kandoi Date: Mon, 12 Jan 2026 18:28:34 +0530 Subject: [PATCH 20/68] refactor: sample retention stock entry (cherry picked from commit 8d188cd32b74b839def62e1200f4573a404cab35) --- .../stock/doctype/stock_entry/stock_entry.js | 6 +-- .../stock/doctype/stock_entry/stock_entry.py | 52 +++++++++++-------- erpnext/stock/serial_batch_bundle.py | 2 +- 3 files changed, 32 insertions(+), 28 deletions(-) diff --git a/erpnext/stock/doctype/stock_entry/stock_entry.js b/erpnext/stock/doctype/stock_entry/stock_entry.js index d106d097256..b62dce837f1 100644 --- a/erpnext/stock/doctype/stock_entry/stock_entry.js +++ b/erpnext/stock/doctype/stock_entry/stock_entry.js @@ -568,10 +568,6 @@ frappe.ui.form.on("Stock Entry", { if (r.message) { var doc = frappe.model.sync(r.message)[0]; frappe.set_route("Form", doc.doctype, doc.name); - } else { - frappe.msgprint( - __("Retention Stock Entry already created or Sample Quantity not provided") - ); } }, }); @@ -1054,7 +1050,7 @@ frappe.ui.form.on("Stock Entry Detail", { var validate_sample_quantity = function (frm, cdt, cdn) { var d = locals[cdt][cdn]; - if (d.sample_quantity && frm.doc.purpose == "Material Receipt") { + if (d.sample_quantity && d.transfer_qty && frm.doc.purpose == "Material Receipt") { frappe.call({ method: "erpnext.stock.doctype.stock_entry.stock_entry.validate_sample_quantity", args: { diff --git a/erpnext/stock/doctype/stock_entry/stock_entry.py b/erpnext/stock/doctype/stock_entry/stock_entry.py index 8c200715397..9afb98b61d7 100644 --- a/erpnext/stock/doctype/stock_entry/stock_entry.py +++ b/erpnext/stock/doctype/stock_entry/stock_entry.py @@ -3408,10 +3408,10 @@ class StockEntry(StockController, SubcontractingInwardController): @frappe.whitelist() def move_sample_to_retention_warehouse(company, items): - from erpnext.stock.doctype.serial_and_batch_bundle.test_serial_and_batch_bundle import ( - get_batch_from_bundle, + from erpnext.stock.serial_batch_bundle import ( + SerialBatchCreation, + get_batch_nos, ) - from erpnext.stock.serial_batch_bundle import SerialBatchCreation if isinstance(items, str): items = json.loads(items) @@ -3422,38 +3422,46 @@ def move_sample_to_retention_warehouse(company, items): stock_entry.set_stock_entry_type() for item in items: if item.get("sample_quantity") and item.get("serial_and_batch_bundle"): - batch_no = get_batch_from_bundle(item.get("serial_and_batch_bundle")) - sample_quantity = validate_sample_quantity( - item.get("item_code"), - item.get("sample_quantity"), - item.get("transfer_qty") or item.get("qty"), - batch_no, + warehouse = item.get("t_warehouse") or item.get("warehouse") + total_qty = 0 + cls_obj = SerialBatchCreation( + { + "type_of_transaction": "Outward", + "serial_and_batch_bundle": item.get("serial_and_batch_bundle"), + "item_code": item.get("item_code"), + "warehouse": warehouse, + "do_not_save": True, + } ) - - if sample_quantity: - cls_obj = SerialBatchCreation( - { - "type_of_transaction": "Outward", - "serial_and_batch_bundle": item.get("serial_and_batch_bundle"), - "item_code": item.get("item_code"), - "warehouse": item.get("t_warehouse"), - } + sabb = cls_obj.duplicate_package() + batches = get_batch_nos(item.get("serial_and_batch_bundle")) + for batch_no in batches.keys(): + sample_quantity = validate_sample_quantity( + item.get("item_code"), + item.get("sample_quantity"), + item.get("transfer_qty") or item.get("qty"), + batch_no, ) - cls_obj.duplicate_package() + if sample_quantity: + total_qty += sample_quantity + sabe = next(item for item in sabb.entries if item.batch_no == batch_no) + sabe.qty = -1 * sample_quantity + if total_qty: + sabb.save() stock_entry.append( "items", { "item_code": item.get("item_code"), - "s_warehouse": item.get("t_warehouse"), + "s_warehouse": warehouse, "t_warehouse": retention_warehouse, - "qty": item.get("sample_quantity"), + "qty": total_qty, "basic_rate": item.get("valuation_rate"), "uom": item.get("uom"), "stock_uom": item.get("stock_uom"), "conversion_factor": item.get("conversion_factor") or 1.0, - "serial_and_batch_bundle": cls_obj.serial_and_batch_bundle, + "serial_and_batch_bundle": sabb.name, }, ) if stock_entry.get("items"): diff --git a/erpnext/stock/serial_batch_bundle.py b/erpnext/stock/serial_batch_bundle.py index 13d7b100855..9cb4c25d782 100644 --- a/erpnext/stock/serial_batch_bundle.py +++ b/erpnext/stock/serial_batch_bundle.py @@ -1116,7 +1116,7 @@ class SerialBatchCreation: id = self.serial_and_batch_bundle package = frappe.get_doc("Serial and Batch Bundle", id) - new_package = frappe.copy_doc(package) + new_package = frappe.copy_doc(package, ignore_no_copy=False) if self.get("returned_serial_nos"): self.remove_returned_serial_nos(new_package) From f1e41f4a4f14c77f2488f0ea92bda0b0a619f283 Mon Sep 17 00:00:00 2001 From: Mihir Kandoi Date: Mon, 12 Jan 2026 18:56:14 +0530 Subject: [PATCH 21/68] fix: remove already transferred batch (cherry picked from commit b54067e04d171d6c6b8d91760efa53a5270f4f93) --- erpnext/stock/doctype/stock_entry/stock_entry.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/erpnext/stock/doctype/stock_entry/stock_entry.py b/erpnext/stock/doctype/stock_entry/stock_entry.py index 9afb98b61d7..7d5f756e49f 100644 --- a/erpnext/stock/doctype/stock_entry/stock_entry.py +++ b/erpnext/stock/doctype/stock_entry/stock_entry.py @@ -3443,10 +3443,12 @@ def move_sample_to_retention_warehouse(company, items): batch_no, ) + sabe = next(item for item in sabb.entries if item.batch_no == batch_no) if sample_quantity: total_qty += sample_quantity - sabe = next(item for item in sabb.entries if item.batch_no == batch_no) sabe.qty = -1 * sample_quantity + else: + sabb.entries.remove(sabe) if total_qty: sabb.save() From c4c2d355654689a04a5b397b4784a8da52f9e370 Mon Sep 17 00:00:00 2001 From: Mihir Kandoi Date: Tue, 13 Jan 2026 12:28:56 +0530 Subject: [PATCH 22/68] feat: support for serial item (cherry picked from commit 3d0f6494115331ed4052e025da74eb212ab3b84c) --- erpnext/stock/doctype/stock_entry/stock_entry.py | 12 +++++++++++- erpnext/stock/serial_batch_bundle.py | 3 ++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/erpnext/stock/doctype/stock_entry/stock_entry.py b/erpnext/stock/doctype/stock_entry/stock_entry.py index 7d5f756e49f..e92ab143588 100644 --- a/erpnext/stock/doctype/stock_entry/stock_entry.py +++ b/erpnext/stock/doctype/stock_entry/stock_entry.py @@ -3435,6 +3435,7 @@ def move_sample_to_retention_warehouse(company, items): ) sabb = cls_obj.duplicate_package() batches = get_batch_nos(item.get("serial_and_batch_bundle")) + sabe_list = [] for batch_no in batches.keys(): sample_quantity = validate_sample_quantity( item.get("item_code"), @@ -3446,11 +3447,20 @@ def move_sample_to_retention_warehouse(company, items): sabe = next(item for item in sabb.entries if item.batch_no == batch_no) if sample_quantity: total_qty += sample_quantity - sabe.qty = -1 * sample_quantity + if sabb.has_serial_no: + sabe_list.extend( + [entry for entry in sabb.entries if entry.batch_no == batch_no][ + : int(sample_quantity) + ] + ) + else: + sabe.qty = -1 * sample_quantity else: sabb.entries.remove(sabe) if total_qty: + if sabe_list: + sabb.entries = sabe_list sabb.save() stock_entry.append( "items", diff --git a/erpnext/stock/serial_batch_bundle.py b/erpnext/stock/serial_batch_bundle.py index 9cb4c25d782..50603eb609d 100644 --- a/erpnext/stock/serial_batch_bundle.py +++ b/erpnext/stock/serial_batch_bundle.py @@ -989,9 +989,10 @@ def get_batch_nos(serial_and_batch_bundle): entries = frappe.get_all( "Serial and Batch Entry", - fields=["batch_no", "qty", "name"], + fields=["batch_no", {"SUM": "qty", "as": "qty"}], filters={"parent": serial_and_batch_bundle, "batch_no": ("is", "set")}, order_by="idx", + group_by="batch_no", ) if not entries: From f04221417edc455948542160992b55bfdffa3ba2 Mon Sep 17 00:00:00 2001 From: Mihir Kandoi Date: Fri, 16 Jan 2026 12:31:54 +0530 Subject: [PATCH 23/68] test: add test case (cherry picked from commit b567184dd707b3b5b8aad995007d67bd6f466029) --- .../stock/doctype/stock_entry/stock_entry.js | 12 ++++-- .../stock/doctype/stock_entry/stock_entry.py | 17 ++++++-- .../doctype/stock_entry/stock_entry_utils.py | 1 + .../doctype/stock_entry/test_stock_entry.py | 40 +++++++++++++++++++ 4 files changed, 62 insertions(+), 8 deletions(-) diff --git a/erpnext/stock/doctype/stock_entry/stock_entry.js b/erpnext/stock/doctype/stock_entry/stock_entry.js index b62dce837f1..7d2ae01357a 100644 --- a/erpnext/stock/doctype/stock_entry/stock_entry.js +++ b/erpnext/stock/doctype/stock_entry/stock_entry.js @@ -440,12 +440,16 @@ frappe.ui.form.on("Stock Entry", { if ( frm.doc.docstatus == 1 && - frm.doc.purpose == "Material Receipt" && + ["Material Receipt", "Manufacture"].includes(frm.doc.purpose) && frm.get_sum("items", "sample_quantity") ) { - frm.add_custom_button(__("Create Sample Retention Stock Entry"), function () { - frm.trigger("make_retention_stock_entry"); - }); + frm.add_custom_button( + __("Sample Retention Stock Entry"), + function () { + frm.trigger("make_retention_stock_entry"); + }, + __("Create") + ); } frm.trigger("setup_quality_inspection"); diff --git a/erpnext/stock/doctype/stock_entry/stock_entry.py b/erpnext/stock/doctype/stock_entry/stock_entry.py index e92ab143588..fc38aff9e2e 100644 --- a/erpnext/stock/doctype/stock_entry/stock_entry.py +++ b/erpnext/stock/doctype/stock_entry/stock_entry.py @@ -2570,6 +2570,7 @@ class StockEntry(StockController, SubcontractingInwardController): "expense_account": expense_account, "cost_center": item.get("buying_cost_center"), "is_finished_item": 1, + "sample_quantity": item.get("sample_quantity"), } if ( @@ -3103,6 +3104,7 @@ class StockEntry(StockController, SubcontractingInwardController): se_child.po_detail = item_row.get("po_detail") se_child.sco_rm_detail = item_row.get("sco_rm_detail") se_child.scio_detail = item_row.get("scio_detail") + se_child.sample_quantity = item_row.get("sample_quantity", 0) for field in [ self.subcontract_data.rm_detail_field, @@ -3415,6 +3417,7 @@ def move_sample_to_retention_warehouse(company, items): if isinstance(items, str): items = json.loads(items) + retention_warehouse = frappe.get_single_value("Stock Settings", "sample_retention_warehouse") stock_entry = frappe.new_doc("Stock Entry") stock_entry.company = company @@ -3449,12 +3452,17 @@ def move_sample_to_retention_warehouse(company, items): total_qty += sample_quantity if sabb.has_serial_no: sabe_list.extend( - [entry for entry in sabb.entries if entry.batch_no == batch_no][ - : int(sample_quantity) - ] + [ + entry + for entry in sabb.entries + if entry.batch_no == batch_no + and frappe.db.exists( + "Serial No", {"name": entry.serial_no, "warehouse": warehouse} + ) + ][: int(sample_quantity)] ) else: - sabe.qty = -1 * sample_quantity + sabe.qty = sample_quantity else: sabb.entries.remove(sabe) @@ -3462,6 +3470,7 @@ def move_sample_to_retention_warehouse(company, items): if sabe_list: sabb.entries = sabe_list sabb.save() + stock_entry.append( "items", { diff --git a/erpnext/stock/doctype/stock_entry/stock_entry_utils.py b/erpnext/stock/doctype/stock_entry/stock_entry_utils.py index 576d129ee2d..6e54fd4e3b9 100644 --- a/erpnext/stock/doctype/stock_entry/stock_entry_utils.py +++ b/erpnext/stock/doctype/stock_entry/stock_entry_utils.py @@ -190,6 +190,7 @@ def make_stock_entry(**args): "cost_center": args.cost_center, "expense_account": args.expense_account, "use_serial_batch_fields": args.use_serial_batch_fields, + "sample_quantity": frappe.get_value("Item", args.item, "sample_quantity") or 0, }, ) diff --git a/erpnext/stock/doctype/stock_entry/test_stock_entry.py b/erpnext/stock/doctype/stock_entry/test_stock_entry.py index cf1b12a8f28..7b710514519 100644 --- a/erpnext/stock/doctype/stock_entry/test_stock_entry.py +++ b/erpnext/stock/doctype/stock_entry/test_stock_entry.py @@ -2277,6 +2277,46 @@ class TestStockEntry(IntegrationTestCase): se.save() se.submit() + @IntegrationTestCase.change_settings( + "Stock Settings", {"sample_retention_warehouse": "_Test Warehouse 1 - _TC"} + ) + def test_sample_retention_stock_entry(self): + from erpnext.stock.doctype.stock_entry.stock_entry import move_sample_to_retention_warehouse + + warehouse = "_Test Warehouse - _TC" + retain_sample_item = make_item( + "Retain Sample Item", + properties={ + "is_stock_item": 1, + "retain_sample": 1, + "sample_quantity": 2, + "has_batch_no": 1, + "has_seral_no": 1, + "create_new_batch": 1, + "batch_number_series": "SAMPLE-RET-.#####", + "serial_no_series": "SAMPLE-RET-SN-.#####", + }, + ) + material_receipt = make_stock_entry( + item_code=retain_sample_item.item_code, target=warehouse, qty=10, purpose="Material Receipt" + ) + + source_sabb = frappe.get_doc( + "Serial and Batch Bundle", material_receipt.items[0].serial_and_batch_bundle + ) + batch = source_sabb.entries[0].batch_no + serial_nos = [entry.serial_no for entry in source_sabb.entries] + + sample_entry = frappe.get_doc( + move_sample_to_retention_warehouse(material_receipt.company, material_receipt.items) + ) + sample_entry.submit() + target_sabb = frappe.get_doc("Serial and Batch Bundle", sample_entry.items[0].serial_and_batch_bundle) + + self.assertEqual(sample_entry.items[0].transfer_qty, 2) + self.assertEqual(target_sabb.entries[0].batch_no, batch) + self.assertEqual([entry.serial_no for entry in target_sabb.entries], serial_nos[:2]) + def make_serialized_item(self, **args): args = frappe._dict(args) From accce1fe592e15b22312a787bf06e38e8e25377a Mon Sep 17 00:00:00 2001 From: Mihir Kandoi Date: Fri, 16 Jan 2026 13:15:22 +0530 Subject: [PATCH 24/68] fix: bugs (cherry picked from commit 19ae405742efd7e188fb560ed68731d7e6e3ec27) --- .../stock/doctype/stock_entry/stock_entry.py | 22 +++++++++---------- .../doctype/stock_entry/test_stock_entry.py | 2 +- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/erpnext/stock/doctype/stock_entry/stock_entry.py b/erpnext/stock/doctype/stock_entry/stock_entry.py index fc38aff9e2e..fbcc43231dd 100644 --- a/erpnext/stock/doctype/stock_entry/stock_entry.py +++ b/erpnext/stock/doctype/stock_entry/stock_entry.py @@ -3449,19 +3449,19 @@ def move_sample_to_retention_warehouse(company, items): sabe = next(item for item in sabb.entries if item.batch_no == batch_no) if sample_quantity: - total_qty += sample_quantity if sabb.has_serial_no: - sabe_list.extend( - [ - entry - for entry in sabb.entries - if entry.batch_no == batch_no - and frappe.db.exists( - "Serial No", {"name": entry.serial_no, "warehouse": warehouse} - ) - ][: int(sample_quantity)] - ) + new_sabe = [ + entry + for entry in sabb.entries + if entry.batch_no == batch_no + and frappe.db.exists( + "Serial No", {"name": entry.serial_no, "warehouse": warehouse} + ) + ][: int(sample_quantity)] + sabe_list.extend(new_sabe) + total_qty += len(new_sabe) else: + total_qty += sample_quantity sabe.qty = sample_quantity else: sabb.entries.remove(sabe) diff --git a/erpnext/stock/doctype/stock_entry/test_stock_entry.py b/erpnext/stock/doctype/stock_entry/test_stock_entry.py index 7b710514519..a0ac4f180b2 100644 --- a/erpnext/stock/doctype/stock_entry/test_stock_entry.py +++ b/erpnext/stock/doctype/stock_entry/test_stock_entry.py @@ -2291,7 +2291,7 @@ class TestStockEntry(IntegrationTestCase): "retain_sample": 1, "sample_quantity": 2, "has_batch_no": 1, - "has_seral_no": 1, + "has_serial_no": 1, "create_new_batch": 1, "batch_number_series": "SAMPLE-RET-.#####", "serial_no_series": "SAMPLE-RET-SN-.#####", From c0a30a53022425b9233de898d2aa2528416f0c12 Mon Sep 17 00:00:00 2001 From: Mihir Kandoi Date: Fri, 16 Jan 2026 13:38:38 +0530 Subject: [PATCH 25/68] chore: typo (cherry picked from commit 8fd1d6aec8b7e76881b1394eac70fb6482526756) --- erpnext/stock/doctype/purchase_receipt/purchase_receipt.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/erpnext/stock/doctype/purchase_receipt/purchase_receipt.js b/erpnext/stock/doctype/purchase_receipt/purchase_receipt.js index b5c1c38729f..81c1b147697 100644 --- a/erpnext/stock/doctype/purchase_receipt/purchase_receipt.js +++ b/erpnext/stock/doctype/purchase_receipt/purchase_receipt.js @@ -266,7 +266,7 @@ erpnext.stock.PurchaseReceiptController = class PurchaseReceiptController extend ); } cur_frm.add_custom_button( - __("Retention Stock Entry"), + __("Sample Retention Stock Entry"), this.make_retention_stock_entry, __("Create") ); From ccab91b9ed47ce8b1bb2d21ffb38b979dbd0c9be Mon Sep 17 00:00:00 2001 From: SowmyaArunachalam Date: Fri, 16 Jan 2026 13:15:00 +0530 Subject: [PATCH 26/68] fix: add company filters for warehouse (cherry picked from commit f952b92d71c4b81bf1931e748abbedc7cdc555d6) --- .../doctype/supplier_quotation/supplier_quotation.js | 8 ++++++++ erpnext/selling/doctype/quotation/quotation.js | 9 +++++++++ 2 files changed, 17 insertions(+) diff --git a/erpnext/buying/doctype/supplier_quotation/supplier_quotation.js b/erpnext/buying/doctype/supplier_quotation/supplier_quotation.js index 93f52d6ec42..4beb17d7cf6 100644 --- a/erpnext/buying/doctype/supplier_quotation/supplier_quotation.js +++ b/erpnext/buying/doctype/supplier_quotation/supplier_quotation.js @@ -16,6 +16,14 @@ erpnext.buying.SupplierQuotationController = class SupplierQuotationController e return !doc.qty && me.frm.doc.has_unit_price_items ? "yellow" : ""; }); + this.frm.set_query("warehouse", "items", (doc, cdt, cdn) => { + return { + filters: { + company: doc.company, + is_group: 0, + }, + }; + }); super.setup(); } diff --git a/erpnext/selling/doctype/quotation/quotation.js b/erpnext/selling/doctype/quotation/quotation.js index 480ca04b6a9..bb82310d9c5 100644 --- a/erpnext/selling/doctype/quotation/quotation.js +++ b/erpnext/selling/doctype/quotation/quotation.js @@ -36,6 +36,15 @@ frappe.ui.form.on("Quotation", { }; }); + frm.set_query("warehouse", "items", (doc, cdt, cdn) => { + return { + filters: { + company: doc.company, + is_group: 0, + }, + }; + }); + frm.set_indicator_formatter("item_code", function (doc) { return !doc.qty && frm.doc.has_unit_price_items ? "yellow" : ""; }); From d3dfed909ef7d4ef80d2fe62c726091d2763afdd Mon Sep 17 00:00:00 2001 From: Mihir Kandoi Date: Fri, 16 Jan 2026 15:58:02 +0530 Subject: [PATCH 27/68] fix: dont show certain fields based on permissions (cherry picked from commit b3db2981de2a128b22b6fcba593abbddf6a46b1c) --- erpnext/stock/doctype/item/item.js | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/erpnext/stock/doctype/item/item.js b/erpnext/stock/doctype/item/item.js index ad180a7f2f8..6f13428c22b 100644 --- a/erpnext/stock/doctype/item/item.js +++ b/erpnext/stock/doctype/item/item.js @@ -116,6 +116,11 @@ frappe.ui.form.on("Item", { }, __("View") ); + + frm.toggle_display( + ["opening_stock"], + frappe.model.can_create("Stock Entry") && frappe.model.can_write("Stock Entry") + ); } if (frm.doc.is_fixed_asset) { @@ -239,6 +244,8 @@ frappe.ui.form.on("Item", { }, }; }); + + frm.toggle_display(["standard_rate"], frappe.model.can_create("Item Price")); }, validate: function (frm) { From ab482caac9eda28c9faef50271735e0be19e4868 Mon Sep 17 00:00:00 2001 From: Pandiyan5273 Date: Fri, 16 Jan 2026 15:12:28 +0530 Subject: [PATCH 28/68] fix(stock): resolve quantity issue when adding items via barcode scan (cherry picked from commit f959b2c59ab5682f73e673d0e088b351c0de8415) --- erpnext/public/js/controllers/transaction.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/erpnext/public/js/controllers/transaction.js b/erpnext/public/js/controllers/transaction.js index cd9341dd9c8..937bb8b8513 100644 --- a/erpnext/public/js/controllers/transaction.js +++ b/erpnext/public/js/controllers/transaction.js @@ -518,7 +518,7 @@ erpnext.TransactionController = class TransactionController extends erpnext.taxe barcode(doc, cdt, cdn) { let row = locals[cdt][cdn]; - if (row.barcode) { + if (row.barcode && !frappe.flags.trigger_from_barcode_scanner) { erpnext.stock.utils.set_item_details_using_barcode(this.frm, row, (r) => { frappe.model.set_value(cdt, cdn, { item_code: r.message.item_code, From 49760e4542a74334cb3df3828a744dbf59b0389a Mon Sep 17 00:00:00 2001 From: Matt Howard Date: Mon, 5 Jan 2026 15:28:45 -0500 Subject: [PATCH 29/68] fix(postgres): compute current month sales without DATE_FORMAT (cherry picked from commit 64f391adf7c5c60414af291260bbba3425463964) --- erpnext/setup/doctype/company/company.py | 65 +++++++++++++++--------- 1 file changed, 42 insertions(+), 23 deletions(-) diff --git a/erpnext/setup/doctype/company/company.py b/erpnext/setup/doctype/company/company.py index def469e4fa3..5a2b6db83f2 100644 --- a/erpnext/setup/doctype/company/company.py +++ b/erpnext/setup/doctype/company/company.py @@ -11,7 +11,16 @@ from frappe.cache_manager import clear_defaults_cache from frappe.contacts.address_and_contact import load_address_and_contact from frappe.custom.doctype.property_setter.property_setter import make_property_setter from frappe.desk.page.setup_wizard.setup_wizard import make_records -from frappe.utils import add_months, cint, formatdate, get_first_day, get_link_to_form, get_timestamp, today +from frappe.utils import ( + add_months, + cint, + formatdate, + get_first_day, + get_last_day, + get_link_to_form, + get_timestamp, + today, +) from frappe.utils.nestedset import NestedSet, rebuild_tree from erpnext.accounts.doctype.account.account import get_account_currency @@ -866,31 +875,41 @@ def install_country_fixtures(company, country): def update_company_current_month_sales(company): - from_date = get_first_day(today()) - to_date = get_first_day(add_months(from_date, 1)) + """Update Company's Total Monthly Sales. - results = frappe.db.sql( - """ - SELECT - SUM(base_grand_total) AS total, - DATE_FORMAT(posting_date, '%%m-%%Y') AS month_year - FROM - `tabSales Invoice` - WHERE - posting_date >= %s - AND posting_date < %s - AND docstatus = 1 - AND company = %s - GROUP BY - month_year - """, - (from_date, to_date, company), - as_dict=True, + Postgres compatibility: + - Avoid MariaDB-only DATE_FORMAT(). + - Use a date range for the current month instead (portable + index-friendly). + """ + + # Local imports so you don't have to touch file-level imports + from frappe.query_builder.functions import Sum + + start_date = get_first_day(today()) + end_date = get_last_day(today()) + + si = frappe.qb.DocType("Sales Invoice") + + total_monthly_sales = ( + frappe.qb.from_(si) + .select(Sum(si.base_grand_total)) + .where( + (si.docstatus == 1) + & (si.company == company) + & (si.posting_date >= start_date) + & (si.posting_date <= end_date) + ) + ).run(pluck=True)[0] or 0 + + # Fieldname in standard ERPNext is `total_monthly_sales` + frappe.db.set_value( + "Company", + company, + "total_monthly_sales", + total_monthly_sales, + update_modified=False, ) - monthly_total = results[0]["total"] if len(results) > 0 else 0 - frappe.db.set_value("Company", company, "total_monthly_sales", monthly_total) - def update_company_monthly_sales(company): """Cache past year monthly sales of every company based on sales invoices""" From fcea7603a80f61073eb1aed651d6daf881673a43 Mon Sep 17 00:00:00 2001 From: "mergify[bot]" <37929162+mergify[bot]@users.noreply.github.com> Date: Sat, 17 Jan 2026 15:12:57 +0530 Subject: [PATCH 30/68] fix: change docfield type to render html format (backport #51795) (#51804) fix: change docfield type to render html format (#51795) (cherry picked from commit 3fe5b5c80d2781e2496e93eab4858956f81bb7e6) Co-authored-by: Sowmya <106989392+SowmyaArunachalam@users.noreply.github.com> --- erpnext/buying/doctype/supplier/supplier.json | 4 ++-- erpnext/buying/doctype/supplier/supplier.py | 2 +- erpnext/public/js/utils/party.js | 2 +- erpnext/selling/doctype/customer/customer.json | 4 ++-- erpnext/selling/doctype/customer/customer.py | 2 +- erpnext/stock/doctype/shipment/shipment.json | 15 ++++++++------- erpnext/stock/doctype/shipment/shipment.py | 8 ++++---- 7 files changed, 19 insertions(+), 18 deletions(-) diff --git a/erpnext/buying/doctype/supplier/supplier.json b/erpnext/buying/doctype/supplier/supplier.json index 125a8b6adb1..a801a2a601d 100644 --- a/erpnext/buying/doctype/supplier/supplier.json +++ b/erpnext/buying/doctype/supplier/supplier.json @@ -383,7 +383,7 @@ }, { "fieldname": "primary_address", - "fieldtype": "Text", + "fieldtype": "Text Editor", "label": "Primary Address", "read_only": 1 }, @@ -500,7 +500,7 @@ "link_fieldname": "party" } ], - "modified": "2025-06-29 05:30:50.398653", + "modified": "2026-01-16 15:56:31.139206", "modified_by": "Administrator", "module": "Buying", "name": "Supplier", diff --git a/erpnext/buying/doctype/supplier/supplier.py b/erpnext/buying/doctype/supplier/supplier.py index f5005fbc12a..543b3726089 100644 --- a/erpnext/buying/doctype/supplier/supplier.py +++ b/erpnext/buying/doctype/supplier/supplier.py @@ -62,7 +62,7 @@ class Supplier(TransactionBase): portal_users: DF.Table[PortalUser] prevent_pos: DF.Check prevent_rfqs: DF.Check - primary_address: DF.Text | None + primary_address: DF.TextEditor | None release_date: DF.Date | None represents_company: DF.Link | None supplier_details: DF.Text | None diff --git a/erpnext/public/js/utils/party.js b/erpnext/public/js/utils/party.js index d86296f1eea..a2e4dbf1da1 100644 --- a/erpnext/public/js/utils/party.js +++ b/erpnext/public/js/utils/party.js @@ -157,7 +157,7 @@ erpnext.utils.get_address_display = function (frm, address_field, display_field, args: { address_dict: frm.doc[address_field] }, callback: function (r) { if (r.message) { - frm.set_value(display_field, frappe.utils.html2text(r.message)); + frm.set_value(display_field, r.message); } }, }); diff --git a/erpnext/selling/doctype/customer/customer.json b/erpnext/selling/doctype/customer/customer.json index 7ddb8fc74cf..72798f32329 100644 --- a/erpnext/selling/doctype/customer/customer.json +++ b/erpnext/selling/doctype/customer/customer.json @@ -335,7 +335,7 @@ }, { "fieldname": "primary_address", - "fieldtype": "Text", + "fieldtype": "Text Editor", "label": "Primary Address", "read_only": 1 }, @@ -625,7 +625,7 @@ "link_fieldname": "party" } ], - "modified": "2025-11-25 09:35:56.772949", + "modified": "2026-01-16 15:56:05.967663", "modified_by": "Administrator", "module": "Selling", "name": "Customer", diff --git a/erpnext/selling/doctype/customer/customer.py b/erpnext/selling/doctype/customer/customer.py index 628173c2c7d..7003d491c32 100644 --- a/erpnext/selling/doctype/customer/customer.py +++ b/erpnext/selling/doctype/customer/customer.py @@ -83,7 +83,7 @@ class Customer(TransactionBase): opportunity_name: DF.Link | None payment_terms: DF.Link | None portal_users: DF.Table[PortalUser] - primary_address: DF.Text | None + primary_address: DF.TextEditor | None prospect_name: DF.Link | None represents_company: DF.Link | None sales_team: DF.Table[SalesTeam] diff --git a/erpnext/stock/doctype/shipment/shipment.json b/erpnext/stock/doctype/shipment/shipment.json index d7f0877a298..a5e0a2377cf 100644 --- a/erpnext/stock/doctype/shipment/shipment.json +++ b/erpnext/stock/doctype/shipment/shipment.json @@ -115,7 +115,7 @@ }, { "fieldname": "pickup_address", - "fieldtype": "Small Text", + "fieldtype": "Text Editor", "read_only": 1 }, { @@ -135,7 +135,7 @@ }, { "fieldname": "pickup_contact", - "fieldtype": "Small Text", + "fieldtype": "Text Editor", "read_only": 1 }, { @@ -193,7 +193,7 @@ }, { "fieldname": "delivery_address", - "fieldtype": "Small Text", + "fieldtype": "Text Editor", "read_only": 1 }, { @@ -214,7 +214,7 @@ { "depends_on": "eval:doc.delivery_contact_name", "fieldname": "delivery_contact", - "fieldtype": "Small Text", + "fieldtype": "Text Editor", "read_only": 1 }, { @@ -441,11 +441,11 @@ ], "is_submittable": 1, "links": [], - "modified": "2026-01-07 19:24:23.566312", + "modified": "2026-01-16 14:59:28.547953", "modified_by": "Administrator", "module": "Stock", "name": "Shipment", - "naming_rule": "Expression (old style)", + "naming_rule": "Expression", "owner": "Administrator", "permissions": [ { @@ -477,8 +477,9 @@ "write": 1 } ], + "row_format": "Dynamic", "sort_field": "creation", "sort_order": "DESC", "states": [], "track_changes": 1 -} \ No newline at end of file +} diff --git a/erpnext/stock/doctype/shipment/shipment.py b/erpnext/stock/doctype/shipment/shipment.py index a2d6dee50dc..ae5a4214d24 100644 --- a/erpnext/stock/doctype/shipment/shipment.py +++ b/erpnext/stock/doctype/shipment/shipment.py @@ -27,10 +27,10 @@ class Shipment(Document): awb_number: DF.Data | None carrier: DF.Data | None carrier_service: DF.Data | None - delivery_address: DF.SmallText | None + delivery_address: DF.TextEditor | None delivery_address_name: DF.Link delivery_company: DF.Link | None - delivery_contact: DF.SmallText | None + delivery_contact: DF.TextEditor | None delivery_contact_email: DF.Data | None delivery_contact_name: DF.Link | None delivery_customer: DF.Link | None @@ -42,10 +42,10 @@ class Shipment(Document): pallets: DF.Literal["No", "Yes"] parcel_template: DF.Link | None pickup: DF.Data | None - pickup_address: DF.SmallText | None + pickup_address: DF.TextEditor | None pickup_address_name: DF.Link pickup_company: DF.Link | None - pickup_contact: DF.SmallText | None + pickup_contact: DF.TextEditor | None pickup_contact_email: DF.Data | None pickup_contact_name: DF.Link | None pickup_contact_person: DF.Link | None From 9d5a0e56a00ee1179e1e3ace9f48334531014c41 Mon Sep 17 00:00:00 2001 From: Pandiyan5273 Date: Sat, 17 Jan 2026 20:28:04 +0530 Subject: [PATCH 31/68] fix: prevent UOM from updating incorrectly while scanning barcode (cherry picked from commit 30263b26a5f4a87585d6b2576effe7c9375f2916) --- erpnext/public/js/utils/barcode_scanner.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/erpnext/public/js/utils/barcode_scanner.js b/erpnext/public/js/utils/barcode_scanner.js index 2e580f83c18..9ee1029f345 100644 --- a/erpnext/public/js/utils/barcode_scanner.js +++ b/erpnext/public/js/utils/barcode_scanner.js @@ -138,7 +138,6 @@ erpnext.utils.BarcodeScanner = class BarcodeScanner { frappe.run_serially([ () => this.set_selector_trigger_flag(data), - () => this.set_barcode_uom(row, uom), () => this.set_serial_no(row, serial_no), () => this.set_batch_no(row, batch_no), () => this.set_barcode(row, barcode), @@ -148,6 +147,7 @@ erpnext.utils.BarcodeScanner = class BarcodeScanner { this.show_scan_message(row.idx, !is_new_row, qty); }), () => this.clean_up(), + () => this.set_barcode_uom(row, uom), () => this.revert_selector_flag(), () => resolve(row), ]); From cb2d4550af079c064b469e6858e31a47e652220c Mon Sep 17 00:00:00 2001 From: Mihir Kandoi Date: Sun, 18 Jan 2026 20:11:51 +0530 Subject: [PATCH 32/68] fix: setting process loss qty causes fg item qty to be incorrect (cherry picked from commit 56f5df6847f6e99d2dfe477e9c361c60c04bd081) --- erpnext/stock/doctype/stock_entry/stock_entry.js | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/erpnext/stock/doctype/stock_entry/stock_entry.js b/erpnext/stock/doctype/stock_entry/stock_entry.js index 7d2ae01357a..6155d2e5f77 100644 --- a/erpnext/stock/doctype/stock_entry/stock_entry.js +++ b/erpnext/stock/doctype/stock_entry/stock_entry.js @@ -885,12 +885,11 @@ frappe.ui.form.on("Stock Entry", { frm.doc.items.forEach((item) => { if (item.is_finished_item) { - fg_completed_qty += flt(item.transfer_qty); + fg_completed_qty += flt(item.transfer_qty + frm.doc.process_loss_qty); } }); - frm.doc.fg_completed_qty = fg_completed_qty; - frm.refresh_field("fg_completed_qty"); + frm.set_value("fg_completed_qty", fg_completed_qty); }, }); From 68c8dfb24cc5652de458959ae02f9474a395ddbc Mon Sep 17 00:00:00 2001 From: SowmyaArunachalam Date: Wed, 14 Jan 2026 12:49:30 +0530 Subject: [PATCH 33/68] fix: add other charges in total (cherry picked from commit 9406c07c420943f5f7b9d399c282114bf967bd4a) --- .../report/item_wise_sales_register/item_wise_sales_register.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/erpnext/accounts/report/item_wise_sales_register/item_wise_sales_register.py b/erpnext/accounts/report/item_wise_sales_register/item_wise_sales_register.py index fa99ff8e42c..db73972bfb8 100644 --- a/erpnext/accounts/report/item_wise_sales_register/item_wise_sales_register.py +++ b/erpnext/accounts/report/item_wise_sales_register/item_wise_sales_register.py @@ -105,7 +105,7 @@ def _execute(filters=None, additional_table_columns=None, additional_conditions= { "total_tax": total_tax, "total_other_charges": total_other_charges, - "total": d.base_net_amount + total_tax, + "total": d.base_net_amount + total_tax + total_other_charges, "currency": company_currency, } ) From 181141b56a6b1420e504e109760b052d252b1448 Mon Sep 17 00:00:00 2001 From: Lakshit Jain Date: Mon, 19 Jan 2026 12:30:29 +0530 Subject: [PATCH 34/68] Merge pull request #51787 from ljain112/fix-taxes-disc fix: recalculate taxes when item tax template changes after discount (cherry picked from commit f00aeec9b47878761ccc225c504a0412f6488a0b) --- .../sales_invoice/test_sales_invoice.py | 54 +++++++++++++++++++ erpnext/controllers/taxes_and_totals.py | 15 +++++- 2 files changed, 68 insertions(+), 1 deletion(-) diff --git a/erpnext/accounts/doctype/sales_invoice/test_sales_invoice.py b/erpnext/accounts/doctype/sales_invoice/test_sales_invoice.py index 13eb0f6ae18..d14db8be7c6 100644 --- a/erpnext/accounts/doctype/sales_invoice/test_sales_invoice.py +++ b/erpnext/accounts/doctype/sales_invoice/test_sales_invoice.py @@ -2951,6 +2951,60 @@ class TestSalesInvoice(ERPNextTestSuite): self.assertEqual(sales_invoice.items[0].item_tax_template, "_Test Account Excise Duty @ 10 - _TC") self.assertEqual(sales_invoice.items[0].item_tax_rate, item_tax_map) + def test_item_tax_template_change_with_grand_total_discount(self): + """ + Test that when item tax template changes due to discount on Grand Total, + the tax calculations are consistent. + """ + item = create_item("Test Item With Multiple Tax Templates") + + item.set("taxes", []) + item.append( + "taxes", + { + "item_tax_template": "_Test Account Excise Duty @ 10 - _TC", + "minimum_net_rate": 0, + "maximum_net_rate": 500, + }, + ) + + item.append( + "taxes", + { + "item_tax_template": "_Test Account Excise Duty @ 12 - _TC", + "minimum_net_rate": 501, + "maximum_net_rate": 1000, + }, + ) + + item.save() + + si = create_sales_invoice(item=item.name, rate=700, do_not_save=True) + si.append( + "taxes", + { + "charge_type": "On Net Total", + "account_head": "_Test Account Excise Duty - _TC", + "cost_center": "_Test Cost Center - _TC", + "description": "Excise Duty", + "rate": 0, + }, + ) + si.insert() + + self.assertEqual(si.items[0].item_tax_template, "_Test Account Excise Duty @ 12 - _TC") + + si.apply_discount_on = "Grand Total" + si.discount_amount = 300 + si.save() + + # Verify template changed to 10% + self.assertEqual(si.items[0].item_tax_template, "_Test Account Excise Duty @ 10 - _TC") + self.assertEqual(si.taxes[0].tax_amount, 70) # 10% of 700 + self.assertEqual(si.grand_total, 470) # 700 + 70 - 300 + + si.submit() + @IntegrationTestCase.change_settings("Selling Settings", {"enable_discount_accounting": 1}) def test_sales_invoice_with_discount_accounting_enabled(self): discount_account = create_account( diff --git a/erpnext/controllers/taxes_and_totals.py b/erpnext/controllers/taxes_and_totals.py index 08b1fb32bf3..1f5a5c5a63f 100644 --- a/erpnext/controllers/taxes_and_totals.py +++ b/erpnext/controllers/taxes_and_totals.py @@ -39,17 +39,23 @@ class calculate_taxes_and_totals: items = list(filter(lambda item: not item.get("is_alternative"), self.doc.get("items"))) return items - def calculate(self): + def calculate(self, ignore_tax_template_validation=False): if not len(self.doc.items): return self.discount_amount_applied = False + self.need_recomputation = False + self.ignore_tax_template_validation = ignore_tax_template_validation + self._calculate() if self.doc.meta.get_field("discount_amount"): self.set_discount_amount() self.apply_discount_amount() + if not ignore_tax_template_validation and self.need_recomputation: + return self.calculate(ignore_tax_template_validation=True) + # Update grand total as per cash and non trade discount if self.doc.apply_discount_on == "Grand Total" and self.doc.get("is_cash_or_non_trade_discount"): self.doc.grand_total -= self.doc.discount_amount @@ -79,6 +85,9 @@ class calculate_taxes_and_totals: self.calculate_total_net_weight() def validate_item_tax_template(self): + if self.ignore_tax_template_validation: + return + if self.doc.get("is_return") and self.doc.get("return_against"): return @@ -122,6 +131,10 @@ class calculate_taxes_and_totals: ) ) + # For correct tax_amount calculation re-computation is required + if self.discount_amount_applied and self.doc.apply_discount_on == "Grand Total": + self.need_recomputation = True + def update_item_tax_map(self): for item in self.doc.items: item.item_tax_rate = get_item_tax_map( From 89b44c41a2b04d9ab08d20a8f69e5783d7d35c85 Mon Sep 17 00:00:00 2001 From: Navin-S-R Date: Mon, 5 Jan 2026 19:09:05 +0530 Subject: [PATCH 35/68] fix: calculate net profit amount from root node accounts (cherry picked from commit c84986d00e71b98e5887e1401f0f2632a57a5956) --- .../gross_and_net_profit_report.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/erpnext/accounts/report/gross_and_net_profit_report/gross_and_net_profit_report.py b/erpnext/accounts/report/gross_and_net_profit_report/gross_and_net_profit_report.py index 00f9c3e38d5..52259059901 100644 --- a/erpnext/accounts/report/gross_and_net_profit_report/gross_and_net_profit_report.py +++ b/erpnext/accounts/report/gross_and_net_profit_report/gross_and_net_profit_report.py @@ -219,13 +219,18 @@ def get_net_profit( has_value = False + gross_income_roots = [row for row in (gross_income or []) if not flt(row.get("indent"))] + non_gross_income_roots = [row for row in (non_gross_income or []) if not flt(row.get("indent"))] + gross_expense_roots = [row for row in (gross_expense or []) if not flt(row.get("indent"))] + non_gross_expense_roots = [row for row in (non_gross_expense or []) if not flt(row.get("indent"))] + for period in period_list: key = period if consolidated else period.key - gross_income_for_period = flt(gross_income[0].get(key, 0)) if gross_income else 0 - non_gross_income_for_period = flt(non_gross_income[0].get(key, 0)) if non_gross_income else 0 - gross_expense_for_period = flt(gross_expense[0].get(key, 0)) if gross_expense else 0 - non_gross_expense_for_period = flt(non_gross_expense[0].get(key, 0)) if non_gross_expense else 0 + gross_income_for_period = sum(flt(row.get(key, 0)) for row in gross_income_roots) + non_gross_income_for_period = sum(flt(row.get(key, 0)) for row in non_gross_income_roots) + gross_expense_for_period = sum(flt(row.get(key, 0)) for row in gross_expense_roots) + non_gross_expense_for_period = sum(flt(row.get(key, 0)) for row in non_gross_expense_roots) total_income = gross_income_for_period + non_gross_income_for_period total_expense = gross_expense_for_period + non_gross_expense_for_period From c830bf6fc71ec40d4b5a6d7fbacf48c3d76ba179 Mon Sep 17 00:00:00 2001 From: "mergify[bot]" <37929162+mergify[bot]@users.noreply.github.com> Date: Mon, 19 Jan 2026 12:54:06 +0530 Subject: [PATCH 36/68] fix: allow disassemble stock entry without work order (backport #51761) (#51836) fix: allow disassemble stock entry without work order (#51761) * fix: allow disassemble stock entry without work order * fix: use existing functionality to load fg item * chore: better dict update (cherry picked from commit 83919119f8b65a092a4b7cd97ec4833c99aefc51) Co-authored-by: Smit Vora --- .../stock/doctype/stock_entry/stock_entry.py | 49 +++++++++++++++++-- .../doctype/stock_entry/test_stock_entry.py | 45 +++++++++++++++++ 2 files changed, 90 insertions(+), 4 deletions(-) diff --git a/erpnext/stock/doctype/stock_entry/stock_entry.py b/erpnext/stock/doctype/stock_entry/stock_entry.py index fbcc43231dd..5d973cdc3a0 100644 --- a/erpnext/stock/doctype/stock_entry/stock_entry.py +++ b/erpnext/stock/doctype/stock_entry/stock_entry.py @@ -724,7 +724,7 @@ class StockEntry(StockController, SubcontractingInwardController): "Subcontracting Return", ] - validate_for_manufacture = any([d.bom_no for d in self.get("items")]) + has_bom = any([d.bom_no for d in self.get("items")]) if self.purpose in source_mandatory and self.purpose not in target_mandatory: self.to_warehouse = None @@ -753,7 +753,7 @@ class StockEntry(StockController, SubcontractingInwardController): frappe.throw(_("Target warehouse is mandatory for row {0}").format(d.idx)) if self.purpose == "Manufacture": - if validate_for_manufacture: + if has_bom: if d.is_finished_item or d.is_scrap_item: d.s_warehouse = None if not d.t_warehouse: @@ -763,6 +763,17 @@ class StockEntry(StockController, SubcontractingInwardController): if not d.s_warehouse: frappe.throw(_("Source warehouse is mandatory for row {0}").format(d.idx)) + if self.purpose == "Disassemble": + if has_bom: + if d.is_finished_item: + d.t_warehouse = None + if not d.s_warehouse: + frappe.throw(_("Source warehouse is mandatory for row {0}").format(d.idx)) + else: + d.s_warehouse = None + if not d.t_warehouse: + frappe.throw(_("Target warehouse is mandatory for row {0}").format(d.idx)) + if cstr(d.s_warehouse) == cstr(d.t_warehouse) and self.purpose not in [ "Material Transfer for Manufacture", "Material Transfer", @@ -2162,9 +2173,12 @@ class StockEntry(StockController, SubcontractingInwardController): def get_items_for_disassembly(self): """Get items for Disassembly Order""" - if not self.work_order: - frappe.throw(_("The Work Order is mandatory for Disassembly Order")) + if self.work_order: + return self._add_items_for_disassembly_from_work_order() + return self._add_items_for_disassembly_from_bom() + + def _add_items_for_disassembly_from_work_order(self): items = self.get_items_from_manufacture_entry() s_warehouse = frappe.db.get_value("Work Order", self.work_order, "fg_warehouse") @@ -2196,6 +2210,23 @@ class StockEntry(StockController, SubcontractingInwardController): child_row.t_warehouse = row.s_warehouse child_row.is_finished_item = 0 if row.is_finished_item else 1 + def _add_items_for_disassembly_from_bom(self): + if not self.bom_no or not self.fg_completed_qty: + frappe.throw(_("BOM and Finished Good Quantity is mandatory for Disassembly")) + + # Raw Materials + item_dict = self.get_bom_raw_materials(self.fg_completed_qty) + + for item_row in item_dict.values(): + item_row["to_warehouse"] = self.to_warehouse + item_row["from_warehouse"] = "" + item_row["is_finished_item"] = 0 + + self.add_to_stock_entry_detail(item_dict) + + # Finished goods + self.load_items_from_bom() + def get_items_from_manufacture_entry(self): return frappe.get_all( "Stock Entry", @@ -2560,6 +2591,7 @@ class StockEntry(StockController, SubcontractingInwardController): expense_account = item.get("expense_account") if not expense_account: expense_account = frappe.get_cached_value("Company", self.company, "stock_adjustment_account") + args = { "to_warehouse": to_warehouse, "from_warehouse": "", @@ -2573,6 +2605,15 @@ class StockEntry(StockController, SubcontractingInwardController): "sample_quantity": item.get("sample_quantity"), } + if self.purpose == "Disassemble": + args.update( + { + "from_warehouse": self.from_warehouse, + "to_warehouse": "", + "qty": flt(self.fg_completed_qty), + } + ) + if ( self.work_order and self.pro_doc.has_batch_no diff --git a/erpnext/stock/doctype/stock_entry/test_stock_entry.py b/erpnext/stock/doctype/stock_entry/test_stock_entry.py index a0ac4f180b2..1bcfc567fda 100644 --- a/erpnext/stock/doctype/stock_entry/test_stock_entry.py +++ b/erpnext/stock/doctype/stock_entry/test_stock_entry.py @@ -2277,6 +2277,51 @@ class TestStockEntry(IntegrationTestCase): se.save() se.submit() + def test_disassemble_entry_without_wo(self): + from erpnext.manufacturing.doctype.production_plan.test_production_plan import make_bom + + fg_item = make_item("_Disassemble Mobile", properties={"is_stock_item": 1}).name + rm_item1 = make_item("_Disassemble Temper Glass", properties={"is_stock_item": 1}).name + rm_item2 = make_item("_Disassemble Battery", properties={"is_stock_item": 1}).name + warehouse = "_Test Warehouse - _TC" + + # Stock up the FG item (what we'll disassemble) + make_stock_entry(item_code=fg_item, target=warehouse, qty=5, purpose="Material Receipt") + + bom_no = make_bom(item=fg_item, raw_materials=[rm_item1, rm_item2]).name + + se = make_stock_entry(item_code=fg_item, qty=1, purpose="Disassemble", do_not_save=True) + se.from_bom = 1 + se.use_multi_level_bom = 1 + se.bom_no = bom_no + se.fg_completed_qty = 1 + se.from_warehouse = warehouse + se.to_warehouse = warehouse + + se.get_items() + + # Verify FG as source (being consumed) + fg_items = [d for d in se.items if d.is_finished_item] + self.assertEqual(len(fg_items), 1) + self.assertEqual(fg_items[0].item_code, fg_item) + self.assertEqual(fg_items[0].qty, 1) + self.assertEqual(fg_items[0].s_warehouse, warehouse) + self.assertFalse(fg_items[0].t_warehouse) + + # Verify RM as target (being received) + rm_items = {d.item_code: d for d in se.items if not d.is_finished_item} + self.assertEqual(len(rm_items), 2) + self.assertIn(rm_item1, rm_items) + self.assertIn(rm_item2, rm_items) + self.assertEqual(rm_items[rm_item1].qty, 1) + self.assertEqual(rm_items[rm_item2].qty, 1) + self.assertEqual(rm_items[rm_item1].t_warehouse, warehouse) + self.assertFalse(rm_items[rm_item1].s_warehouse) + + se.calculate_rate_and_amount() + se.save() + se.submit() + @IntegrationTestCase.change_settings( "Stock Settings", {"sample_retention_warehouse": "_Test Warehouse 1 - _TC"} ) From aeb2b6045060be58f1385cb63887eb51f5799ad6 Mon Sep 17 00:00:00 2001 From: mahsem <137205921+mahsem@users.noreply.github.com> Date: Mon, 19 Jan 2026 08:49:30 +0100 Subject: [PATCH 37/68] fix: common_party_path (#51826) * fix: common_pary_path * chore: remove non-existent anchor --------- Co-authored-by: ruthra kumar (cherry picked from commit 0c0f43f7f7a1d035cd9756967c7387252c1679f5) --- .../accounts/doctype/accounts_settings/accounts_settings.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/erpnext/accounts/doctype/accounts_settings/accounts_settings.json b/erpnext/accounts/doctype/accounts_settings/accounts_settings.json index 2b741136f96..c77750cf9f0 100644 --- a/erpnext/accounts/doctype/accounts_settings/accounts_settings.json +++ b/erpnext/accounts/doctype/accounts_settings/accounts_settings.json @@ -281,7 +281,7 @@ }, { "default": "0", - "description": "Learn about Common Party", + "description": "Learn about Common Party", "fieldname": "enable_common_party_accounting", "fieldtype": "Check", "label": "Enable Common Party Accounting" From 3c533d04f5e10c961c78d1f8f5e8a93e81827e13 Mon Sep 17 00:00:00 2001 From: 22-poojashree Date: Mon, 19 Jan 2026 13:07:56 +0530 Subject: [PATCH 38/68] fix(bom): pass company warehouse filter (cherry picked from commit 73bcfc47107374d1f0289c657fa04e4ed56092d1) --- erpnext/manufacturing/doctype/bom/bom.js | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/erpnext/manufacturing/doctype/bom/bom.js b/erpnext/manufacturing/doctype/bom/bom.js index 34ce59e6e51..9b526508f31 100644 --- a/erpnext/manufacturing/doctype/bom/bom.js +++ b/erpnext/manufacturing/doctype/bom/bom.js @@ -92,6 +92,10 @@ frappe.ui.form.on("BOM", { }; }); + frm.events.set_company_filters(frm, "project"); + frm.events.set_company_filters(frm, "default_source_warehouse"); + frm.events.set_company_filters(frm, "default_target_warehouse"); + frm.trigger("toggle_fields_for_semi_finished_goods"); }, @@ -104,6 +108,16 @@ frappe.ui.form.on("BOM", { } }, + set_company_filters: function (frm, fieldname) { + frm.set_query(fieldname, () => { + return { + filters: { + company: frm.doc.company, + }, + }; + }); + }, + track_semi_finished_goods(frm) { frm.trigger("toggle_fields_for_semi_finished_goods"); }, From 839315752b19323103e10a05fd845ce179a51e90 Mon Sep 17 00:00:00 2001 From: krupalvora Date: Fri, 9 Jan 2026 03:24:30 +0000 Subject: [PATCH 39/68] refactor: Batch & Bundle get Stock ledger for snos (cherry picked from commit c0149925ad93ee437265961617322d1d350240af) --- .../serial_and_batch_bundle.py | 46 ++++++++++++------- 1 file changed, 30 insertions(+), 16 deletions(-) diff --git a/erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py b/erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py index 458df2fec38..407471d33e7 100644 --- a/erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py +++ b/erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py @@ -12,7 +12,7 @@ import frappe.query_builder.functions from frappe import _, _dict, bold from frappe.model.document import Document from frappe.model.naming import make_autoname -from frappe.query_builder.functions import Sum +from frappe.query_builder.functions import Sum, Concat_ws, Locate from frappe.utils import ( cint, cstr, @@ -2986,33 +2986,33 @@ def get_ledgers_from_serial_batch_bundle(**kwargs) -> list[frappe._dict]: def get_stock_ledgers_for_serial_nos(kwargs): stock_ledger_entry = frappe.qb.DocType("Stock Ledger Entry") + serial_batch_entry = frappe.qb.DocType("Serial and Batch Entry") + + serial_nos = kwargs.get("serial_nos") or kwargs.get("serial_no") + if serial_nos and not isinstance(serial_nos, list): + serial_nos = [serial_nos] query = ( frappe.qb.from_(stock_ledger_entry) .select( - stock_ledger_entry.posting_datetime, stock_ledger_entry.actual_qty, stock_ledger_entry.serial_no, stock_ledger_entry.serial_and_batch_bundle, ) .where(stock_ledger_entry.is_cancelled == 0) - .orderby(stock_ledger_entry.posting_datetime) - .orderby(stock_ledger_entry.creation) ) - if kwargs.get("posting_datetime"): - timestamp_condition = stock_ledger_entry.posting_datetime <= kwargs.posting_datetime + if kwargs.get("posting_date"): + if kwargs.get("posting_time") is None: + kwargs.posting_time = nowtime() - if kwargs.get("creation"): - timestamp_condition = stock_ledger_entry.posting_datetime < kwargs.posting_datetime - - timestamp_condition |= (stock_ledger_entry.posting_datetime == kwargs.posting_datetime) & ( - stock_ledger_entry.creation < kwargs.creation - ) + timestamp_condition = CombineDatetime( + stock_ledger_entry.posting_date, stock_ledger_entry.posting_time + ) <= CombineDatetime(kwargs.posting_date, kwargs.posting_time) query = query.where(timestamp_condition) - for field in ["warehouse", "item_code", "serial_no"]: + for field in ["warehouse", "item_code"]: if not kwargs.get(field): continue @@ -3021,10 +3021,24 @@ def get_stock_ledgers_for_serial_nos(kwargs): else: query = query.where(stock_ledger_entry[field] == kwargs.get(field)) - if kwargs.ignore_voucher_detail_no: - query = query.where(stock_ledger_entry.voucher_detail_no != kwargs.ignore_voucher_detail_no) + if serial_nos: + query = ( + query.left_join(serial_batch_entry) + .on(stock_ledger_entry.serial_and_batch_bundle == serial_batch_entry.parent) + .distinct() + ) - elif kwargs.voucher_no: + bundle_match = serial_batch_entry.serial_no.isin(serial_nos) + + padded_serial_no = Concat_ws("", "\n", stock_ledger_entry.serial_no, "\n") + direct_match = None + for sn in serial_nos: + cond = Locate(f"\n{sn}\n", padded_serial_no) > 0 + direct_match = cond if direct_match is None else (direct_match | cond) + + query = query.where(bundle_match | direct_match) + + if kwargs.voucher_no: query = query.where(stock_ledger_entry.voucher_no != kwargs.voucher_no) return query.run(as_dict=True) From 75deb180fb5def5bdd6256939eeafe7254c14140 Mon Sep 17 00:00:00 2001 From: krupalvora Date: Sat, 10 Jan 2026 07:00:37 +0000 Subject: [PATCH 40/68] refactor: Batch & Bundle get Stock ledger for snos v2 (cherry picked from commit a074d8175458354afb2f0133eed4a417c64ddfc1) --- .../serial_and_batch_bundle.py | 29 ++++++++++++------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py b/erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py index 407471d33e7..d167d8d78dc 100644 --- a/erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py +++ b/erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py @@ -2988,10 +2988,6 @@ def get_stock_ledgers_for_serial_nos(kwargs): stock_ledger_entry = frappe.qb.DocType("Stock Ledger Entry") serial_batch_entry = frappe.qb.DocType("Serial and Batch Entry") - serial_nos = kwargs.get("serial_nos") or kwargs.get("serial_no") - if serial_nos and not isinstance(serial_nos, list): - serial_nos = [serial_nos] - query = ( frappe.qb.from_(stock_ledger_entry) .select( @@ -3000,15 +2996,19 @@ def get_stock_ledgers_for_serial_nos(kwargs): stock_ledger_entry.serial_and_batch_bundle, ) .where(stock_ledger_entry.is_cancelled == 0) + .orderby(stock_ledger_entry.posting_datetime) + .orderby(stock_ledger_entry.creation) ) - if kwargs.get("posting_date"): - if kwargs.get("posting_time") is None: - kwargs.posting_time = nowtime() + if kwargs.get("posting_datetime"): + timestamp_condition = stock_ledger_entry.posting_datetime <= kwargs.posting_datetime - timestamp_condition = CombineDatetime( - stock_ledger_entry.posting_date, stock_ledger_entry.posting_time - ) <= CombineDatetime(kwargs.posting_date, kwargs.posting_time) + if kwargs.get("creation"): + timestamp_condition = stock_ledger_entry.posting_datetime < kwargs.posting_datetime + + timestamp_condition |= (stock_ledger_entry.posting_datetime == kwargs.posting_datetime) & ( + stock_ledger_entry.creation < kwargs.creation + ) query = query.where(timestamp_condition) @@ -3021,6 +3021,10 @@ def get_stock_ledgers_for_serial_nos(kwargs): else: query = query.where(stock_ledger_entry[field] == kwargs.get(field)) + serial_nos = kwargs.get("serial_nos") or kwargs.get("serial_no") + if serial_nos and not isinstance(serial_nos, list): + serial_nos = [serial_nos] + if serial_nos: query = ( query.left_join(serial_batch_entry) @@ -3038,7 +3042,10 @@ def get_stock_ledgers_for_serial_nos(kwargs): query = query.where(bundle_match | direct_match) - if kwargs.voucher_no: + if kwargs.ignore_voucher_detail_no: + query = query.where(stock_ledger_entry.voucher_detail_no != kwargs.ignore_voucher_detail_no) + + elif kwargs.voucher_no: query = query.where(stock_ledger_entry.voucher_no != kwargs.voucher_no) return query.run(as_dict=True) From 380564a677018d86ecc9773cc52ad959080df63b Mon Sep 17 00:00:00 2001 From: krupalvora Date: Sat, 10 Jan 2026 07:03:56 +0000 Subject: [PATCH 41/68] refactor: Batch & Bundle get Stock ledger for snos - added posting date in select (cherry picked from commit 1ccc7365a761ce438956f63a13bd2ab2fa18b64f) --- .../doctype/serial_and_batch_bundle/serial_and_batch_bundle.py | 1 + 1 file changed, 1 insertion(+) diff --git a/erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py b/erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py index d167d8d78dc..ed3ba188a1f 100644 --- a/erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py +++ b/erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py @@ -2991,6 +2991,7 @@ def get_stock_ledgers_for_serial_nos(kwargs): query = ( frappe.qb.from_(stock_ledger_entry) .select( + stock_ledger_entry.posting_datetime, stock_ledger_entry.actual_qty, stock_ledger_entry.serial_no, stock_ledger_entry.serial_and_batch_bundle, From 0981b894dd51509d3ad63fdcc2a32ac471eddadc Mon Sep 17 00:00:00 2001 From: krupalvora Date: Sat, 10 Jan 2026 07:10:57 +0000 Subject: [PATCH 42/68] refactor: Batch & Bundle get sle for snos - Added docstring (cherry picked from commit 22dee50348ba8f6769e63987ad717ac5b02d5888) --- .../serial_and_batch_bundle/serial_and_batch_bundle.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py b/erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py index ed3ba188a1f..ff247d00d90 100644 --- a/erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py +++ b/erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py @@ -2985,6 +2985,14 @@ def get_ledgers_from_serial_batch_bundle(**kwargs) -> list[frappe._dict]: def get_stock_ledgers_for_serial_nos(kwargs): + """ + Fetch stock ledger entries based on various filters. + + :param kwargs: etch stock ledger entries based on filters like posting_datetime, creation, warehouse, item_code, serial_nos, ignore_voucher_detail_no, voucher_no. Joining with Serial and Batch Entry table to filter based on serial numbers. + :return: List of stock ledger entries as dictionaries. + :rtype: Dictionary + """ + stock_ledger_entry = frappe.qb.DocType("Stock Ledger Entry") serial_batch_entry = frappe.qb.DocType("Serial and Batch Entry") From 79e04ea1feb2245e5ad23c96496cac4d2df2856c Mon Sep 17 00:00:00 2001 From: Rohit Waghchaure Date: Mon, 19 Jan 2026 14:22:32 +0530 Subject: [PATCH 43/68] chore: fix semantic commit message (cherry picked from commit dfcbee9cc0a2ac64409784276695187caaf54198) --- .../serial_and_batch_bundle/serial_and_batch_bundle.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py b/erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py index ff247d00d90..fce52748283 100644 --- a/erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py +++ b/erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py @@ -12,7 +12,7 @@ import frappe.query_builder.functions from frappe import _, _dict, bold from frappe.model.document import Document from frappe.model.naming import make_autoname -from frappe.query_builder.functions import Sum, Concat_ws, Locate +from frappe.query_builder.functions import Concat_ws, Locate, Sum from frappe.utils import ( cint, cstr, @@ -2987,10 +2987,9 @@ def get_ledgers_from_serial_batch_bundle(**kwargs) -> list[frappe._dict]: def get_stock_ledgers_for_serial_nos(kwargs): """ Fetch stock ledger entries based on various filters. - - :param kwargs: etch stock ledger entries based on filters like posting_datetime, creation, warehouse, item_code, serial_nos, ignore_voucher_detail_no, voucher_no. Joining with Serial and Batch Entry table to filter based on serial numbers. + :param kwargs: Filters including posting_datetime, creation, warehouse, item_code, serial_nos, ignore_voucher_detail_no, voucher_no. Joins with Serial and Batch Entry table to filter based on serial numbers. :return: List of stock ledger entries as dictionaries. - :rtype: Dictionary + :rtype: list[dict] """ stock_ledger_entry = frappe.qb.DocType("Stock Ledger Entry") From a3d860eabfa28909a2d3d636ee94eebc4e8379f2 Mon Sep 17 00:00:00 2001 From: ervishnucs Date: Sun, 18 Jan 2026 19:32:51 +0530 Subject: [PATCH 44/68] fix(budget variance report): check budget dimensions (cherry picked from commit cb696a88808d139606c99561c8fce2ea04f87072) --- .../report/budget_variance_report/budget_variance_report.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/erpnext/accounts/report/budget_variance_report/budget_variance_report.py b/erpnext/accounts/report/budget_variance_report/budget_variance_report.py index a53cdcc1b40..6c245acf8d8 100644 --- a/erpnext/accounts/report/budget_variance_report/budget_variance_report.py +++ b/erpnext/accounts/report/budget_variance_report/budget_variance_report.py @@ -18,6 +18,8 @@ def execute(filters=None): dimensions = filters.get("budget_against_filter") else: dimensions = get_budget_dimensions(filters) + if not dimensions: + return columns, [], None, None budget_records = get_budget_records(filters, dimensions) budget_map = build_budget_map(budget_records, filters) From 1da8ed202bed90f2ee8568eb7bea695b916c43bf Mon Sep 17 00:00:00 2001 From: Nishka Gosalia Date: Mon, 12 Jan 2026 17:06:49 +0530 Subject: [PATCH 45/68] feat: Adding Item name in update item dialog box (cherry picked from commit e6133ad6d467885d246030bb2b144927a9357d6a) --- erpnext/public/js/utils.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/erpnext/public/js/utils.js b/erpnext/public/js/utils.js index ed25d70c1f8..116449a6fa8 100755 --- a/erpnext/public/js/utils.js +++ b/erpnext/public/js/utils.js @@ -735,6 +735,7 @@ erpnext.utils.update_child_items = function (opts) { fieldname: "item_name", label: __("Item Name"), read_only: 1, + in_list_view: 1, }, { fieldtype: "Link", @@ -792,7 +793,7 @@ erpnext.utils.update_child_items = function (opts) { ]; if (frm.doc.doctype == "Sales Order" || frm.doc.doctype == "Purchase Order") { - fields.splice(2, 0, { + fields.splice(3, 0, { fieldtype: "Date", fieldname: frm.doc.doctype == "Sales Order" ? "delivery_date" : "schedule_date", in_list_view: 1, @@ -800,7 +801,7 @@ erpnext.utils.update_child_items = function (opts) { default: frm.doc.doctype == "Sales Order" ? frm.doc.delivery_date : frm.doc.schedule_date, reqd: 1, }); - fields.splice(3, 0, { + fields.splice(4, 0, { fieldtype: "Float", fieldname: "conversion_factor", label: __("Conversion Factor"), From ae6b3af01313fc7e5004675d04a5693b04e8a2b6 Mon Sep 17 00:00:00 2001 From: Rohit Waghchaure Date: Mon, 19 Jan 2026 15:13:08 +0530 Subject: [PATCH 46/68] fix: qty with serial no count (cherry picked from commit 56e58ef3018e3e6674e25050cd9de2a4e20fb24d) --- erpnext/public/js/controllers/transaction.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/erpnext/public/js/controllers/transaction.js b/erpnext/public/js/controllers/transaction.js index 937bb8b8513..54474305643 100644 --- a/erpnext/public/js/controllers/transaction.js +++ b/erpnext/public/js/controllers/transaction.js @@ -945,11 +945,10 @@ erpnext.TransactionController = class TransactionController extends erpnext.taxe // Replace all occurences of comma with line feed item.serial_no = item.serial_no.replace(/,/g, "\n"); item.conversion_factor = item.conversion_factor || 1; - refresh_field("serial_no", item.name, item.parentfield); if (!doc.is_return) { setTimeout(() => { me.update_qty(cdt, cdn); - }, 3000); + }, 300); } } } From 686911546fbc95430ef9597c58bf0e6043bb4eaf Mon Sep 17 00:00:00 2001 From: ravibharathi656 Date: Thu, 15 Jan 2026 17:02:34 +0530 Subject: [PATCH 47/68] fix(pos): reapply set warehouse during cart update (cherry picked from commit 5a53c453219075a1640970e8e41f5b52b381a97f) --- erpnext/selling/page/point_of_sale/pos_controller.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/erpnext/selling/page/point_of_sale/pos_controller.js b/erpnext/selling/page/point_of_sale/pos_controller.js index 41b89259eca..eefc932bcc1 100644 --- a/erpnext/selling/page/point_of_sale/pos_controller.js +++ b/erpnext/selling/page/point_of_sale/pos_controller.js @@ -651,6 +651,9 @@ erpnext.PointOfSale.Controller = class { async on_cart_update(args) { frappe.dom.freeze(); + if (this.frm.doc.set_warehouse !== this.settings.warehouse) { + this.frm.set_value("set_warehouse", this.settings.warehouse); + } let item_row = undefined; try { let { field, value, item } = args; From 9cc9fa59be176a87969f5913d8d1d56922825576 Mon Sep 17 00:00:00 2001 From: Florian HENRY Date: Thu, 8 Jan 2026 10:59:18 +0100 Subject: [PATCH 48/68] feat: add new 2025 Charts of Accounts for France (cherry picked from commit c81dee137fc6a597fc506fd01e0feccf235e625c) --- ..._plan2025_comptable_general_avec_code.json | 2467 +++++++++++++ ...lan2025_comptable_general_ex_agricole.json | 3248 +++++++++++++++++ 2 files changed, 5715 insertions(+) create mode 100644 erpnext/accounts/doctype/account/chart_of_accounts/verified/fr_plan2025_comptable_general_avec_code.json create mode 100644 erpnext/accounts/doctype/account/chart_of_accounts/verified/fr_plan2025_comptable_general_ex_agricole.json diff --git a/erpnext/accounts/doctype/account/chart_of_accounts/verified/fr_plan2025_comptable_general_avec_code.json b/erpnext/accounts/doctype/account/chart_of_accounts/verified/fr_plan2025_comptable_general_avec_code.json new file mode 100644 index 00000000000..9f57df9ebbb --- /dev/null +++ b/erpnext/accounts/doctype/account/chart_of_accounts/verified/fr_plan2025_comptable_general_avec_code.json @@ -0,0 +1,2467 @@ +{ + "county_code": "fr", + "name": "France - Plan Comptable General 2025 avec code", + "tree": { + "1-Comptes de capitaux": { + "root_type": "Equity", + "10-Capital et r\u00e9serves": { + "101-Capital": { + "Capital souscrit - non appel\u00e9": { + "account_number": "1011" + }, + "Capital souscrit - appel\u00e9, non vers\u00e9": { + "account_number": "1012" + }, + "1013-Capital souscrit - appel\u00e9, vers\u00e9": { + "Capital non amorti": { + "account_number": "10131" + }, + "Capital amorti": { + "account_number": "10132" + } + }, + "Capital souscrit soumis \u00e0 des r\u00e9glementations particuli\u00e8res": { + "account_number": "1018" + } + }, + "Fonds fiduciaires": { + "account_number": "102" + }, + "104-Primes li\u00e9es au capital": { + "Primes d'\u00e9mission": { + "account_number": "1041" + }, + "Primes de fusion": { + "account_number": "1042" + }, + "Primes d'apport": { + "account_number": "1043" + }, + "Primes de conversion d'obligations en actions": { + "account_number": "1044" + }, + "Bons de souscription d'actions": { + "account_number": "1045" + } + }, + "\u00c9carts de r\u00e9\u00e9valuation": { + "account_number": "105" + }, + "106-R\u00e9serves": { + "R\u00e9serve l\u00e9gale": { + "account_number": "1061" + }, + "R\u00e9serves indisponibles": { + "account_number": "1062" + }, + "R\u00e9serves statutaires ou contractuelles": { + "account_number": "1063" + }, + "R\u00e9serves r\u00e9glement\u00e9es": { + "account_number": "1064" + }, + "Autres r\u00e9serves": { + "account_number": "1068" + } + }, + "\u00c9cart d'\u00e9quivalence": { + "account_number": "107" + }, + "Compte de l'exploitant": { + "account_number": "108" + }, + "Actionnaires : capital souscrit - non appel\u00e9": { + "account_number": "109" + } + }, + "11-Report \u00e0 nouveau": { + "Report \u00e0 nouveau - solde cr\u00e9diteur": { + "account_number": "110" + }, + "Report \u00e0 nouveau - solde d\u00e9biteur": { + "account_number": "119" + } + }, + "12-R\u00e9sultat de l'exercice": { + "120-R\u00e9sultat de l'exercice - b\u00e9n\u00e9fice": { + "Acomptes sur dividendes": { + "account_number": "1209" + } + }, + "R\u00e9sultat de l'exercice - perte": { + "account_number": "129" + } + + }, + "13-Subventions d'investissement": { + "Subventions d'investissement octroy\u00e9es": { + "account_number": "131" + }, + "Subventions d'investissement inscrites au compte de r\u00e9sultat": { + "account_number": "139" + } + }, + "14-Provisions r\u00e9glement\u00e9es": { + "Provisions r\u00e9glement\u00e9es pour hausse de prix": { + "account_number": "143" + }, + "Amortissements d\u00e9rogatoires": { + "account_number": "145" + }, + "Autres provisions r\u00e9glement\u00e9es": { + "account_number": "148" + } + }, + "15-Provisions": { + "151-Provisions pour risques": { + "Provisions pour litiges": { + "account_number": "1511" + }, + "Provisions pour garanties donn\u00e9es aux clients": { + "account_number": "1512" + }, + "Provisions pour amendes et p\u00e9nalit\u00e9s": { + "account_number": "1514" + }, + "Provisions pour pertes de change": { + "account_number": "1515" + }, + "Provisions pour pertes sur contrats": { + "account_number": "1516" + }, + "Autres provisions pour risques": { + "account_number": "1518" + } + }, + "152-Provisions pour charges": { + "Provisions pour pensions et obligations similaires": { + "account_number": "1521" + }, + "Provisions pour restructurations": { + "account_number": "1522" + }, + "Provisions pour imp\u00f4ts": { + "account_number": "1523" + }, + "Provisions pour renouvellement des immobilisations - entreprises concessionnaires": { + "account_number": "1524" + }, + "Provisions pour gros entretien ou grandes r\u00e9visions": { + "account_number": "1525" + }, + "Provisions pour remise en \u00e9tat": { + "account_number": "1526" + }, + "Autres provisions pour charges": { + "account_number": "1527" + } + } + }, + "16-Emprunts et dettes assimil\u00e9es": { + "161-Emprunts obligataires convertibles": { + "Int\u00e9r\u00eats courus sur emprunts obligataires convertibles": { + "account_number": "1618" + } + }, + "Obligations repr\u00e9sentatives de passifs nets remis en fiducie": { + "account_number": "162" + }, + "163-Autres emprunts obligataires": { + "Int\u00e9r\u00eats courus sur autres emprunts obligataires": { + "account_number": "1638" + } + }, + "164-Emprunts aupr\u00e8s des \u00e9tablissements de cr\u00e9dit": { + "Int\u00e9r\u00eats courus sur emprunts aupr\u00e8s des \u00e9tablissements de cr\u00e9dit": { + "account_number": "1648" + } + }, + "165-D\u00e9p\u00f4ts et cautionnements re\u00e7us": { + "D\u00e9p\u00f4ts": { + "account_number": "1651" + }, + "Cautionnements": { + "account_number": "1655" + }, + "Int\u00e9r\u00eats courus sur d\u00e9p\u00f4ts et cautionnements re\u00e7us": { + "account_number": "1658" + } + }, + "166-Participation des salari\u00e9s aux r\u00e9sultats": { + "Comptes bloqu\u00e9s": { + "account_number": "1661" + }, + "Fonds de participation": { + "account_number": "1662" + }, + "Int\u00e9r\u00eats courus sur participation des salari\u00e9s aux r\u00e9sultats": { + "account_number": "1668" + } + }, + "167-Emprunts et dettes assortis de conditions particuli\u00e8res": { + "1671-\u00c9missions de titres participatifs": { + "Int\u00e9r\u00eats courus sur titres participatifs": { + "account_number": "16718" + } + }, + "1674-Avances conditionn\u00e9es de l'\u00c9tat": { + "Int\u00e9r\u00eats courus sur avances conditionn\u00e9es": { + "account_number": "16748" + } + }, + "1675-Emprunts participatifs": { + "Int\u00e9r\u00eats courus sur emprunts participatifs": { + "account_number": "16758" + } + } + }, + "168-Autres emprunts et dettes assimil\u00e9es": { + "Autres emprunts": { + "account_number": "1681" + }, + "Rentes viag\u00e8res capitalis\u00e9es": { + "account_number": "1685" + }, + "Autres dettes": { + "account_number": "1687" + }, + "Int\u00e9r\u00eats courus sur autres emprunts et dettes assimil\u00e9es": { + "account_number": "1688" + } + }, + "Primes de remboursement des emprunts": { + "account_number": "169" + } + }, + "17-Dettes rattach\u00e9es \u00e0 des participations": { + "Dettes rattach\u00e9es \u00e0 des participations - groupe": { + "account_number": "171" + }, + "Dettes rattach\u00e9es \u00e0 des participations - hors groupe": { + "account_number": "174" + }, + "Dettes rattach\u00e9es \u00e0 des soci\u00e9t\u00e9s en participation": { + "account_number": "178" + } + }, + "18-Comptes de liaison des \u00e9tablissements et soci\u00e9t\u00e9s en participation": { + "Comptes de liaison des \u00e9tablissements": { + "account_number": "181" + }, + "Biens et prestations de services \u00e9chang\u00e9s entre \u00e9tablissements - charges": { + "account_number": "186" + }, + "Biens et prestations de services \u00e9chang\u00e9s entre \u00e9tablissements - produits": { + "account_number": "187" + }, + "Comptes de liaison des soci\u00e9t\u00e9s en participation": { + "account_number": "188" + } + } + }, + "2-Comptes d'immobilisations": { + "root_type": "Asset", + "20-Immobilisations incorporelles et frais d'\u00e9tablissement": { + "201-Frais d'\u00e9tablissement": { + "Frais de constitution": { + "account_number": "2011" + }, + "2012-Frais de premier \u00e9tablissement": { + "Frais de prospection": { + "account_number": "20121" + }, + "Frais de publicit\u00e9": { + "account_number": "20122" + } + }, + "Frais d'augmentation de capital et d'op\u00e9rations diverses - fusions, scissions, transformations": { + "account_number": "2013" + } + }, + "Frais de d\u00e9veloppement": { + "account_number": "203" + }, + "Concessions et droits similaires, brevets, licences, marques, proc\u00e9d\u00e9s, solutions informatiques, droits et valeurs similaires": { + "account_number": "205" + }, + "Droit au bail": { + "account_number": "206" + }, + "Fonds commercial": { + "account_number": "207" + }, + "208-Autres immobilisations incorporelles": { + "Mali de fusion sur actifs incorporels": { + "account_number": "2081" + } + } + }, + "21-Immobilisations corporelles": { + "account_type": "Fixed Asset", + "211-Terrains": { + "account_type": "Fixed Asset", + "Terrains nus": { + "account_type": "Fixed Asset", + "account_number": "2111" + }, + "Terrains am\u00e9nag\u00e9s": { + "account_type": "Fixed Asset", + "account_number": "2112" + }, + "Sous-sols et sur-sols": { + "account_type": "Fixed Asset", + "account_number": "2113" + }, + "Terrains de carri\u00e8res (Tr\u00e9fonds)": { + "account_type": "Fixed Asset", + "account_number": "2114" + }, + "Terrains b\u00e2tis": { + "account_type": "Fixed Asset", + "account_number": "2115" + } + }, + "Agencements et am\u00e9nagements de terrains (m\u00eame ventilation que celle du compte 211)": { + "account_type": "Fixed Asset", + "account_number": "212" + }, + "213-Constructions": { + "account_type": "Fixed Asset", + "B\u00e2timents": { + "account_type": "Fixed Asset", + "account_number": "2131" + }, + "Installations g\u00e9n\u00e9rales - agencements - am\u00e9nagements des constructions": { + "account_type": "Fixed Asset", + "account_number": "2135" + }, + "Ouvrages d'infrastructure": { + "account_type": "Fixed Asset", + "account_number": "2138" + } + }, + "Constructions sur sol d'autrui (m\u00eame ventilation que celle du compte 213)": { + "account_type": "Fixed Asset", + "account_number": "214" + }, + "215-Installations techniques, mat\u00e9riels et outillages industriels": { + "account_type": "Fixed Asset", + "2151-Installations complexes sp\u00e9cialis\u00e9es": { + "account_type": "Fixed Asset", + "Installations complexes sp\u00e9cialis\u00e9es sur sol propre": { + "account_type": "Fixed Asset", + "account_number": "21511" + }, + "Installations complexes sp\u00e9cialis\u00e9es sur sol d'autrui": { + "account_type": "Fixed Asset", + "account_number": "21514" + } + }, + "2153-Installations \u00e0 caract\u00e8re sp\u00e9cifique": { + "account_type": "Fixed Asset", + "Installations \u00e0 caract\u00e8re sp\u00e9cifique sur sol propre": { + "account_type": "Fixed Asset", + "account_number": "21531" + }, + "Installations \u00e0 caract\u00e8re sp\u00e9cifique sur sol d'autrui": { + "account_type": "Fixed Asset", + "account_number": "21534" + } + }, + "Mat\u00e9riels industriels": { + "account_type": "Fixed Asset", + "account_number": "2154" + }, + "Outillages industriels": { + "account_type": "Fixed Asset", + "account_number": "2155" + }, + "Agencements et am\u00e9nagements des mat\u00e9riels et outillages industriels": { + "account_type": "Fixed Asset", + "account_number": "2157" + } + }, + "218-Autres immobilisations corporelles": { + "account_type": "Fixed Asset", + "Installations g\u00e9n\u00e9rales, agencements, am\u00e9nagements divers": { + "account_type": "Fixed Asset", + "account_number": "2181" + }, + "Mat\u00e9riel de transport": { + "account_type": "Fixed Asset", + "account_number": "2182" + }, + "Mat\u00e9riel de bureau et mat\u00e9riel informatique": { + "account_type": "Fixed Asset", + "account_number": "2183" + }, + "Mobilier": { + "account_type": "Fixed Asset", + "account_number": "2184" + }, + "Cheptel": { + "account_type": "Fixed Asset", + "account_number": "2185" + }, + "Emballages r\u00e9cup\u00e9rables": { + "account_type": "Fixed Asset", + "account_number": "2186" + }, + "Mali de fusion sur actifs corporels": { + "account_type": "Fixed Asset", + "account_number": "2187" + } + } + }, + "22-Immobilisations mises en concession": { + "Droits du conc\u00e9dant": { + "account_number": "229" + } + }, + "23-Immobilisations en cours, avances et acomptes": { + "Immobilisations corporelles en cours": { + "account_number": "231" + }, + "Immobilisations incorporelles en cours": { + "account_number": "232" + }, + "Avances et acomptes vers\u00e9s sur commandes d'immobilisations incorporelles": { + "account_number": "237" + }, + "Avances et acomptes vers\u00e9s sur commandes d'immobilisations corporelles": { + "account_number": "238" + } + }, + "26-Participations et cr\u00e9ances rattach\u00e9es \u00e0 des participations": { + "261-Titres de participation": { + "Actions": { + "account_number": "2611" + }, + "Autres titres": { + "account_number": "2618" + } + }, + "Titres \u00e9valu\u00e9s par \u00e9quivalence": { + "account_number": "262" + }, + "266-Autres formes de participation": { + "Droits repr\u00e9sentatifs d'actifs nets remis en fiducie": { + "account_number": "2661" + } + }, + "267-Cr\u00e9ances rattach\u00e9es \u00e0 des participations": { + "Cr\u00e9ances rattach\u00e9es \u00e0 des participations - groupe": { + "account_number": "2671" + }, + "Cr\u00e9ances rattach\u00e9es \u00e0 des participations - hors groupe": { + "account_number": "2674" + }, + "Versements repr\u00e9sentatifs d'apports non capitalis\u00e9s - appel de fonds": { + "account_number": "2675" + }, + "Avances consolidables": { + "account_number": "2676" + }, + "Autres cr\u00e9ances rattach\u00e9es \u00e0 des participations": { + "account_number": "2677" + }, + "Int\u00e9r\u00eats courus": { + "account_number": "2678" + } + }, + "268-Cr\u00e9ances rattach\u00e9es \u00e0 des soci\u00e9t\u00e9s en participation": { + "Principal": { + "account_number": "2681" + }, + "Int\u00e9r\u00eats courus": { + "account_number": "2688" + } + }, + "Versements restant \u00e0 effectuer sur titres de participation non lib\u00e9r\u00e9s": { + "account_number": "269" + } + }, + "27-Autres immobilisations financi\u00e8res": { + "271-Titres immobilis\u00e9s autres que les titres immobilis\u00e9s de l'activit\u00e9 de portefeuille (droit de propri\u00e9t\u00e9)": { + "Actions": { + "account_number": "2711" + }, + "Autres titres": { + "account_number": "2718" + } + }, + "272-Titres immobilis\u00e9s (droit de cr\u00e9ance)": { + "Obligations": { + "account_number": "2721" + }, + "Bons": { + "account_number": "2722" + } + }, + "Titres immobilis\u00e9s de l'activit\u00e9 de portefeuille": { + "account_number": "273" + }, + "274-Pr\u00eats": { + "Pr\u00eats participatifs": { + "account_number": "2741" + }, + "Pr\u00eats aux associ\u00e9s": { + "account_number": "2742" + }, + "Pr\u00eats au personnel": { + "account_number": "2743" + }, + "Autres pr\u00eats": { + "account_number": "2748" + } + }, + "275-D\u00e9p\u00f4ts et cautionnements vers\u00e9s": { + "D\u00e9p\u00f4ts": { + "account_number": "2751" + }, + "Cautionnements": { + "account_number": "2755" + } + }, + "276-Autres cr\u00e9ances immobilis\u00e9es": { + "Cr\u00e9ances diverses": { + "account_number": "2761" + }, + "2768-Int\u00e9r\u00eats courus": { + "Int\u00e9r\u00eats courus sur titres immobilis\u00e9s (droit de cr\u00e9ance)": { + "account_number": "27682" + }, + "Int\u00e9r\u00eats courus sur pr\u00eats": { + "account_number": "27684" + }, + "Int\u00e9r\u00eats courus sur d\u00e9p\u00f4ts et cautionnements": { + "account_number": "27685" + }, + "Int\u00e9r\u00eats courus sur cr\u00e9ances diverses": { + "account_number": "27688" + } + } + }, + "277-(Actions propres ou parts propres)": { + "Actions propres ou parts propres": { + "account_number": "2771" + }, + "Actions propres ou parts propres en voie d'annulation": { + "account_number": "2772" + } + }, + "Mali de fusion sur actifs financiers": { + "account_number": "278" + }, + "Versements restant \u00e0 effectuer sur titres immobilis\u00e9s non lib\u00e9r\u00e9s": { + "account_number": "279" + } + }, + "28-Amortissements des immobilisations": { + "account_type": "Accumulated Depreciation", + "280-Amortissements des immobilisations incorporelles et des frais d'\u00e9tablissement (m\u00eame ventilation que celle du compte 20)": { + "account_type": "Accumulated Depreciation", + "Frais d'\u00e9tablissement (m\u00eame ventilation que celle du compte 201)": { + "account_type": "Accumulated Depreciation", + "account_number": "2801" + }, + "Frais de d\u00e9veloppement": { + "account_type": "Accumulated Depreciation", + "account_number": "2803" + }, + "Concessions et droits similaires, brevets, licences, solutions informatiques, droits et valeurs similaires": { + "account_type": "Accumulated Depreciation", + "account_number": "2805" + }, + "Droit au bail": { + "account_type": "Accumulated Depreciation", + "account_number": "2806" + }, + "Fonds commercial": { + "account_type": "Accumulated Depreciation", + "account_number": "2807" + }, + "Autres immobilisations incorporelles": { + "account_type": "Accumulated Depreciation", + "account_number": "2808" + } + }, + "281-Amortissements des immobilisations corporelles (m\u00eame ventilation que celle du compte 21)": { + "account_type": "Accumulated Depreciation", + "Agencements, am\u00e9nagements de terrains (m\u00eame ventilation que celle du compte 212)": { + "account_type": "Accumulated Depreciation", + "account_number": "2812" + }, + "Constructions (m\u00eame ventilation que celle du compte 213)": { + "account_type": "Accumulated Depreciation", + "account_number": "2813" + }, + "Constructions sur sol d'autrui (m\u00eame ventilation que celle du compte 214)": { + "account_type": "Accumulated Depreciation", + "account_number": "2814" + }, + "Installations, mat\u00e9riel et outillage industriels (m\u00eame ventilation que celle du compte 215)": { + "account_type": "Accumulated Depreciation", + "account_number": "2815" + }, + "2818-Autres immobilisations corporelles (m\u00eame ventilation que celle du compte 218)": { + "account_type": "Accumulated Depreciation", + "Amortissement du mali de fusion sur actifs corporels": { + "account_type": "Accumulated Depreciation", + "account_number": "28187" + } + } + }, + "Amortissements des immobilisations mises en concession": { + "account_number": "282" + } + }, + "29-D\u00e9pr\u00e9ciations des immobilisations": { + "290-D\u00e9pr\u00e9ciations des immobilisations incorporelles": { + "Frais d'\u00e9tablissement": { + "account_number": "2901" + }, + "Frais de d\u00e9veloppement": { + "account_number": "2903" + }, + "Marques, proc\u00e9d\u00e9s, droits et valeurs similaires": { + "account_number": "2905" + }, + "Droit au bail": { + "account_number": "2906" + }, + "Fonds commercial": { + "account_number": "2907" + }, + "2908-Autres immobilisations incorporelles": { + "D\u00e9pr\u00e9ciation du mali de fusion sur actifs incorporels": { + "account_number": "29081" + } + } + }, + "291-D\u00e9pr\u00e9ciations des immobilisations corporelles": { + "Terrains": { + "account_number": "2911" + }, + "Agencements et am\u00e9nagements de terrains": { + "account_number": "2912" + }, + "Constructions": { + "account_number": "2913" + }, + "Constructions sur sol d'autrui": { + "account_number": "2914" + }, + "Installations techniques, mat\u00e9riels et outillages industriels": { + "account_number": "2915" + }, + "2918-Autres immobilisations corporelles": { + "D\u00e9pr\u00e9ciation du mali de fusion sur actifs corporels": { + "account_number": "29187" + } + } + }, + "D\u00e9pr\u00e9ciations des immobilisations mises en concession": { + "account_number": "292" + }, + "293-D\u00e9pr\u00e9ciations des immobilisations en cours": { + "Immobilisations corporelles en cours": { + "account_number": "2931" + }, + "Immobilisations incorporelles en cours": { + "account_number": "2932" + } + }, + "296-D\u00e9pr\u00e9ciations des participations et cr\u00e9ances rattach\u00e9es \u00e0 des participations": { + "Titres de participation": { + "account_number": "2961" + }, + "Titres \u00e9valu\u00e9s par \u00e9quivalence": { + "account_number": "2962" + }, + "Autres formes de participation": { + "account_number": "2966" + }, + "Cr\u00e9ances rattach\u00e9es \u00e0 des participations (m\u00eame ventilation que celle du compte 267)": { + "account_number": "2967" + }, + "Cr\u00e9ances rattach\u00e9es \u00e0 des soci\u00e9t\u00e9s en participation (m\u00eame ventilation que celle du compte 268)": { + "account_number": "2968" + } + }, + "297-D\u00e9pr\u00e9ciations des autres immobilisations financi\u00e8res": { + "Titres immobilis\u00e9s autres que les titres immobilis\u00e9s de l'activit\u00e9 de portefeuille (droit de propri\u00e9t\u00e9)": { + "account_number": "2971" + }, + "Titres immobilis\u00e9s (droit de cr\u00e9ance)": { + "account_number": "2972" + }, + "Titres immobilis\u00e9s de l'activit\u00e9 de portefeuille": { + "account_number": "2973" + }, + "Pr\u00eats": { + "account_number": "2974" + }, + "D\u00e9p\u00f4ts et cautionnements vers\u00e9s": { + "account_number": "2975" + }, + "Autres cr\u00e9ances immobilis\u00e9es": { + "account_number": "2976" + } + } + } + }, + "3-Comptes de stocks et en-cours": { + "root_type": "Asset", + "Mati\u00e8res premi\u00e8res et fournitures": { + "account_number": "31" + }, + "32-Autres approvisionnements": { + "Mati\u00e8res consommables": { + "account_number": "321" + }, + "322-Fournitures consommables": { + "Combustibles": { + "account_number": "3221" + }, + "Produits d'entretien": { + "account_number": "3222" + }, + "Fournitures d'atelier et d'usine": { + "account_number": "3223" + }, + "Fournitures de magasin": { + "account_number": "3224" + }, + "Fournitures de bureau": { + "account_number": "3225" + } + }, + "326-Emballages": { + "Emballages perdus": { + "account_number": "3261" + }, + "Emballages r\u00e9cup\u00e9rables non identifiables": { + "account_number": "3265" + }, + "Emballages \u00e0 usage mixte": { + "account_number": "3267" + } + } + }, + "33-En-cours de production de biens": { + "Produits en cours": { + "account_number": "331" + }, + "Travaux en cours": { + "account_number": "335" + } + }, + "34-En-cours de production de services": { + "\u00c9tudes en cours": { + "account_number": "341" + }, + "Prestations de services en cours": { + "account_number": "345" + } + }, + "35-Stocks de produits": { + "Produits interm\u00e9diaires": { + "account_number": "351" + }, + "Produits finis": { + "account_number": "355" + }, + "358-Produits r\u00e9siduels ou mati\u00e8res de r\u00e9cup\u00e9ration": { + "D\u00e9chets": { + "account_number": "3581" + }, + "Rebuts": { + "account_number": "3585" + }, + "Mati\u00e8res de r\u00e9cup\u00e9ration": { + "account_number": "3586" + } + } + }, + "Compte \u00e0 ouvrir, le cas \u00e9ch\u00e9ant, sous l'intitul\u00e9 \u00ab Stocks provenant d'immobilisations \u00bb": { + "account_number": "36" + }, + "Stocks de marchandises": { + "account_type": "Stock", + "account_number": "37" + }, + "Le compte 38 peut \u00eatre utilis\u00e9 pour comptabiliser les stocks en voie d'acheminement, mis en d\u00e9p\u00f4t ou donn\u00e9s en consignation": { + "account_number": "38" + }, + "39-D\u00e9pr\u00e9ciations des stocks et en-cours": { + "D\u00e9pr\u00e9ciations des mati\u00e8res premi\u00e8res et fournitures": { + "account_number": "391" + }, + "D\u00e9pr\u00e9ciations des autres approvisionnements": { + "account_number": "392" + }, + "D\u00e9pr\u00e9ciations des en-cours de production de biens": { + "account_number": "393" + }, + "D\u00e9pr\u00e9ciations des en-cours de production de services": { + "account_number": "394" + }, + "D\u00e9pr\u00e9ciations des stocks de produits": { + "account_number": "395" + }, + "D\u00e9pr\u00e9ciations des stocks de marchandises": { + "account_number": "397" + } + } + }, + "4-Comptes de tiers (ACTIF)": { + "root_type": "Asset", + "Fournisseurs et comptes rattach\u00e9s (ACTIF)": { + "409-Fournisseurs d\u00e9biteurs": { + "Fournisseurs - Avances et acomptes vers\u00e9s sur commandes": { + "account_number": "4091" + }, + "Fournisseurs - Cr\u00e9ances pour emballages et mat\u00e9riel \u00e0 rendre": { + "account_number": "4096" + }, + "4097-Fournisseurs - Autres avoirs": { + "Fournisseurs d'exploitation": { + "account_number": "40971" + }, + "Fournisseurs d'immobilisations": { + "account_number": "40974" + } + }, + "Rabais, remises, ristournes \u00e0 obtenir et autres avoirs non encore re\u00e7us": { + "account_number": "4098" + } + } + }, + "41-Clients et comptes rattach\u00e9s (ACTIF)": { + "account_type": "Receivable", + "411-Clients": { + "account_type": "Receivable", + "Clients - Ventes de biens ou de prestations de services": { + "account_type": "Receivable", + "account_number": "4111" + }, + "Clients - Retenues de garantie": { + "account_type": "Receivable", + "account_number": "4117" + } + }, + "Clients - Effets \u00e0 recevoir": { + "account_type": "Receivable", + "account_number": "413" + }, + "Clients douteux ou litigieux": { + "account_type": "Receivable", + "account_number": "416" + }, + "418-Clients - Produits non encore factur\u00e9s": { + "account_type": "Receivable", + "Clients - Factures \u00e0 \u00e9tablir": { + "account_type": "Receivable", + "account_number": "4181" + }, + "Clients - Int\u00e9r\u00eats courus": { + "account_type": "Receivable", + "account_number": "4188" + } + } + }, + "42-Personnel et comptes rattach\u00e9s (ACTIF)": { + "Personnel - Avances et acomptes et autres comptes d\u00e9biteurs": { + "account_number": "425" + } + }, + "44-\u00c9tat et autres collectivit\u00e9s publiques (ACTIF)": { + "\u00c9tat - Subventions et aides \u00e0 recevoir": { + "account_number": "441" + }, + "445-\u00c9tat - Taxes sur le chiffre d'affaires": { + "TVA due intracommunautaire": { + "account_number": "4452", + "account_type": "Tax", + "tax_rate": -20 + }, + "TVA à décaisser": { + "account_number": "44551" + }, + "4456-Taxes sur le chiffre d'affaires d\u00e9ductibles": { + "TVA sur immobilisations": { + "account_number": "44562", + "account_type": "Tax" + }, + "TVA transf\u00e9r\u00e9e par d'autres entit\u00e9s": { + "account_number": "44563", + "account_type": "Tax" + }, + "TVA sur autres biens et services": { + "account_number": "44566", + "account_type": "Tax", + "tax_rate": 20 + }, + "Cr\u00e9dit de TVA \u00e0 reporter": { + "account_number": "44567", + "account_type": "Tax" + }, + "Taxes assimil\u00e9es \u00e0 la TVA": { + "account_number": "44568", + "account_type": "Tax" + }, + "TVA 20% Déductible": { + "account_number": "445620", + "account_type": "Tax", + "tax_rate": 20 + }, + "TVA 10% Déductible": { + "account_number": "445610", + "account_type": "Tax", + "tax_rate": 10 + }, + "TVA 5.5% Déductible": { + "account_number": "445655", + "account_type": "Tax", + "tax_rate": 5.5 + }, + "TVA 2.1% Déductible": { + "account_number": "445621", + "account_type": "Tax", + "tax_rate": 2.1 + } + }, + "4458-Taxes sur le chiffre d'affaires \u00e0 r\u00e9gulariser ou en attente": { + "Acomptes - R\u00e9gime simplifi\u00e9 d'imposition": { + "account_number": "44581" + }, + "Remboursement de taxes sur le chiffre d'affaires demand\u00e9": { + "account_number": "44583" + }, + "Taxes sur le chiffre d'affaires sur factures non parvenues": { + "account_number": "44586" + } + } + }, + "448-\u00c9tat - Charges \u00e0 payer et produits \u00e0 recevoir": { + "\u00c9tat - Produits \u00e0 recevoir": { + "account_number": "4482" + } + } + }, + "45-Groupe et associ\u00e9s (ACTIF)": { + "456-Associ\u00e9s - Op\u00e9rations sur le capital": { + "4562-Apporteurs - Capital appel\u00e9, non vers\u00e9": { + "Actionnaires - Capital souscrit et appel\u00e9, non vers\u00e9": { + "account_number": "45621" + }, + "Associ\u00e9s - Capital appel\u00e9, non vers\u00e9": { + "account_number": "45625" + } + } + } + }, + "46-D\u00e9biteurs divers et cr\u00e9diteurs divers (ACTIF)": { + "Cr\u00e9ances sur cessions d'immobilisations": { + "account_number": "462" + }, + "Cr\u00e9ances sur cessions de valeurs mobili\u00e8res de placement": { + "account_number": "465" + }, + "Divers comptes d\u00e9biteurs et produits \u00e0 recevoir": { + "account_number": "467" + } + }, + "47-Comptes transitoires ou d'attente (ACTIF)": { + "476-Diff\u00e9rence de conversion - Actif": { + "Diminution des cr\u00e9ances": { + "account_number": "4761" + }, + "Augmentation des dettes": { + "account_number": "4762" + }, + "Diff\u00e9rences compens\u00e9es par couverture de change": { + "account_number": "4768" + } + }, + "478-Autres comptes transitoires": { + "Mali de fusion sur actif circulant": { + "account_number": "4781" + } + } + }, + "48-Comptes de r\u00e9gularisation (ACTIF)": { + "Frais d'\u00e9mission des emprunts": { + "account_number": "481" + }, + "Charges constat\u00e9es d'avance": { + "account_number": "486" + }, + "488-Comptes de r\u00e9partition p\u00e9riodique des charges et des produits": { + "Charges": { + "account_number": "4886" + } + } + }, + "49-D\u00e9pr\u00e9ciations des comptes de tiers (ACTIF)": { + "495-D\u00e9pr\u00e9ciations des comptes du groupe et des associ\u00e9s": { + "Comptes du groupe": { + "account_number": "4951" + }, + "Comptes courants des associ\u00e9s": { + "account_number": "4955" + }, + "Op\u00e9rations faites en commun et en GIE": { + "account_number": "4958" + } + }, + "496-D\u00e9pr\u00e9ciations des comptes de d\u00e9biteurs divers": { + "Cr\u00e9ances sur cessions d'immobilisations": { + "account_number": "4962" + }, + "Cr\u00e9ances sur cessions de valeurs mobili\u00e8res de placement": { + "account_number": "4965" + }, + "Autres comptes d\u00e9biteurs": { + "account_number": "4967" + } + } + } + }, + "4-Comptes de tiers (PASSIF)": { + "root_type": "Liability", + "40-Fournisseurs et comptes rattach\u00e9s (PASSIF)": { + "account_type": "Payable", + "401-Fournisseurs": { + "Fournisseurs - Achats de biens et prestations de services": { + "account_type": "Payable", + "account_number": "4011" + }, + "Fournisseurs - Retenues de garantie": { + "account_type": "Payable", + "account_number": "4017" + } + }, + "Fournisseurs - Effets \u00e0 payer": { + "account_type": "Payable", + "account_number": "403" + }, + "404-Fournisseurs d'immobilisations": { + "account_type": "Payable", + "Fournisseurs - Achats d'immobilisations": { + "account_type": "Payable", + "account_number": "4041" + }, + "Fournisseurs d'immobilisations - Retenues de garantie": { + "account_type": "Payable", + "account_number": "4047" + } + }, + "Fournisseurs d'immobilisations - Effets \u00e0 payer": { + "account_number": "405" + }, + "408-Fournisseurs - Factures non parvenues": { + "account_type": "Stock Received But Not Billed", + "Fournisseurs": { + "account_type": "Stock Received But Not Billed", + "account_number": "4081" + }, + "Fournisseurs d'immobilisations": { + "account_type": "Asset Received But Not Billed", + "account_number": "4084" + }, + "Fournisseurs - Int\u00e9r\u00eats courus": { + "account_type": "Stock Received But Not Billed", + "account_number": "4088" + } + } + }, + "41-Clients et comptes rattach\u00e9s (PASSIF)": { + "419-Clients cr\u00e9diteurs": { + "Clients - Avances et acomptes re\u00e7us sur commandes": { + "account_number": "4191", + "account_type": "Income Account" + }, + "Clients - Dettes sur emballages et mat\u00e9riels consign\u00e9s": { + "account_number": "4196" + }, + "Clients - Autres avoirs": { + "account_number": "4197" + }, + "Rabais, remises, ristournes \u00e0 accorder et autres avoirs \u00e0 \u00e9tablir": { + "account_number": "4198" + } + } + }, + "42-Personnel et comptes rattach\u00e9s (PASSIF)": { + "Personnel - R\u00e9mun\u00e9rations dues": { + "account_number": "421" + }, + "Comit\u00e9 social et \u00e9conomique": { + "account_number": "422" + }, + "424-Participation des salari\u00e9s aux r\u00e9sultats": { + "R\u00e9serve sp\u00e9ciale": { + "account_number": "4246" + }, + "Comptes courants": { + "account_number": "4248" + } + }, + "Personnel - D\u00e9p\u00f4ts": { + "account_number": "426" + }, + "Personnel - Oppositions": { + "account_number": "427" + }, + "428-Personnel - Charges \u00e0 payer": { + "Dettes provisionn\u00e9es pour cong\u00e9s \u00e0 payer": { + "account_number": "4282" + }, + "Dettes provisionn\u00e9es pour participation des salari\u00e9s aux r\u00e9sultats": { + "account_number": "4284" + }, + "Autres charges \u00e0 payer": { + "account_number": "4286" + } + } + }, + "43-S\u00e9curit\u00e9 sociale et autres organismes sociaux (PASSIF)": { + "S\u00e9curit\u00e9 sociale": { + "account_number": "431" + }, + "Autres organismes sociaux": { + "account_number": "437" + }, + "438-Organismes sociaux - Charges \u00e0 payer": { + "Charges sociales sur cong\u00e9s \u00e0 payer": { + "account_number": "4382" + }, + "Autres charges \u00e0 payer": { + "account_number": "4386" + } + } + }, + "44-\u00c9tat et autres collectivit\u00e9s publiques (PASSIF)": { + "Contributions, imp\u00f4ts et taxes recouvr\u00e9s pour le compte de l'\u00c9tat": { + "account_number": "442" + }, + "\u00c9tat - Imp\u00f4ts sur les b\u00e9n\u00e9fices": { + "account_number": "444" + }, + "445-\u00c9tat - Taxes sur le chiffre d'affaires": { + "4455-Taxes sur le chiffre d'affaires \u00e0 d\u00e9caisser": { + "Taxes assimil\u00e9es \u00e0 la TVA": { + "account_number": "44558" + } + }, + "4457-Taxes sur le chiffre d'affaires collect\u00e9es": { + "44571-TVA collect\u00e9e": { + "account_type": "Tax", + "TVA 20% Collectée": { + "account_type": "Tax", + "account_number": "445720", + "tax_rate": 20 + }, + "TVA 10% Collectée": { + "account_type": "Tax", + "account_number": "445710", + "tax_rate": 10 + }, + "TVA 5.5% Collectée": { + "account_type": "Tax", + "account_number": "445755", + "tax_rate": 5.5 + }, + "TVA 2.1% Collectée": { + "account_type": "Tax", + "account_number": "445721", + "tax_rate": 2.1 + } + }, + "Taxes assimil\u00e9es \u00e0 la TVA": { + "account_number": "44578" + } + }, + "4458-Taxes sur le chiffre d'affaires \u00e0 r\u00e9gulariser ou en attente": { + "TVA r\u00e9cup\u00e9r\u00e9e d'avance": { + "account_number": "44584" + }, + "Taxes sur le chiffre d'affaires sur factures \u00e0 \u00e9tablir": { + "account_number": "44587" + } + } + }, + "Obligations cautionn\u00e9es": { + "account_number": "446" + }, + "Autres imp\u00f4ts, taxes et versements assimil\u00e9s": { + "account_number": "447" + }, + "Quotas d'\u00e9mission \u00e0 acqu\u00e9rir": { + "account_number": "449" + } + }, + "45-Groupe et associ\u00e9s (PASSIF)": { + "Groupe": { + "account_number": "451" + }, + "455-Associ\u00e9s - Comptes courants": { + "Principal": { + "account_number": "4551" + }, + "Int\u00e9r\u00eats courus": { + "account_number": "4558" + } + }, + "456-Associ\u00e9s - Op\u00e9rations sur le capital": { + "4561-Associ\u00e9s - Comptes d'apport en soci\u00e9t\u00e9": { + "Apports en nature": { + "account_number": "45611" + }, + "Apports en num\u00e9raire": { + "account_number": "45615" + } + }, + "Associ\u00e9s - Versements re\u00e7us sur augmentation de capital": { + "account_number": "4563" + }, + "Associ\u00e9s - Versements anticip\u00e9s": { + "account_number": "4564" + }, + "Actionnaires d\u00e9faillants": { + "account_number": "4566" + }, + "Associ\u00e9s - Capital \u00e0 rembourser": { + "account_number": "4567" + } + }, + "Associ\u00e9s - Dividendes \u00e0 payer": { + "account_number": "457" + }, + "458-Associ\u00e9s - Op\u00e9rations faites en commun et en GIE": { + "Op\u00e9rations courantes": { + "account_number": "4581" + }, + "Int\u00e9r\u00eats courus": { + "account_number": "4588" + } + } + }, + "46-D\u00e9biteurs divers et cr\u00e9diteurs divers (PASSIF)": { + "Dettes sur acquisitions de valeurs mobili\u00e8res de placement": { + "account_number": "464" + }, + "Divers comptes cr\u00e9diteurs et charges \u00e0 payer": { + "account_number": "468" + } + }, + "47-Comptes transitoires ou d'attente (PASSIF)": { + "Comptes d'attente": { + "account_type": "Temporary", + "account_number": "471" + }, + "477-Diff\u00e9rences de conversion - Passif": { + "Augmentation des cr\u00e9ances": { + "account_number": "4771" + }, + "Diminution des dettes": { + "account_number": "4772" + }, + "Diff\u00e9rences compens\u00e9es par couverture de change": { + "account_number": "4778" + } + }, + "Autres comptes transitoires": { + "account_number": "478" + } + }, + "48-Comptes de r\u00e9gularisation (PASSIF)": { + "Produits constat\u00e9s d'avance": { + "account_number": "487" + }, + "488-Comptes de r\u00e9partition p\u00e9riodique des charges et des produits": { + "Produits": { + "account_number": "4887" + } + } + }, + "D\u00e9pr\u00e9ciations des comptes de tiers (PASSIF)": { + "account_number": "49" + } + }, + "5-Comptes financiers": { + "root_type": "Asset", + "50-Valeurs mobili\u00e8res de placement": { + "502-Actions propres": { + "Actions destin\u00e9es \u00e0 \u00eatre attribu\u00e9es aux employ\u00e9s et affect\u00e9es \u00e0 des plans d\u00e9termin\u00e9s": { + "account_number": "5021" + }, + "Actions disponibles pour \u00eatre attribu\u00e9es aux employ\u00e9s ou pour la r\u00e9gularisation des cours de bourse": { + "account_number": "5022" + } + }, + "503-Actions": { + "Titres cot\u00e9s": { + "account_number": "5031" + }, + "Titres non cot\u00e9s": { + "account_number": "5035" + } + }, + "Autres titres conf\u00e9rant un droit de propri\u00e9t\u00e9": { + "account_number": "504" + }, + "Obligations et bons \u00e9mis par la soci\u00e9t\u00e9 et rachet\u00e9s par elle": { + "account_number": "505" + }, + "506-Obligations": { + "Titres cot\u00e9s": { + "account_number": "5061" + }, + "Titres non cot\u00e9s": { + "account_number": "5065" + } + }, + "Bons du Tr\u00e9sor et bons de caisse \u00e0 court terme": { + "account_number": "507" + }, + "508-Autres valeurs mobili\u00e8res de placement et autres cr\u00e9ances assimil\u00e9es": { + "Autres valeurs mobili\u00e8res": { + "account_number": "5081" + }, + "Bons de souscription": { + "account_number": "5082" + }, + "Int\u00e9r\u00eats courus sur obligations, bons et valeurs assimil\u00e9s": { + "account_number": "5088" + } + }, + "Versements restant \u00e0 effectuer sur valeurs mobili\u00e8res de placement non lib\u00e9r\u00e9es": { + "account_number": "509" + } + }, + "51-Banques, \u00e9tablissements financiers et assimil\u00e9s": { + "511-Valeurs \u00e0 l'encaissement": { + "Coupons \u00e9chus \u00e0 l'encaissement": { + "account_number": "5111" + }, + "Ch\u00e8ques \u00e0 encaisser": { + "account_number": "5112" + }, + "Effets \u00e0 l'encaissement": { + "account_number": "5113" + }, + "Effets \u00e0 l'escompte": { + "account_number": "5114" + } + }, + "512-Banques": { + "Comptes en euros": { + "account_type": "Bank", + "account_number": "5121" + }, + "Comptes en devises": { + "account_type": "Bank", + "account_number": "5124" + } + }, + "Autres organismes financiers": { + "account_number": "517" + }, + "518-Int\u00e9r\u00eats courus": { + "Int\u00e9r\u00eats courus \u00e0 payer": { + "account_number": "5181" + }, + "Int\u00e9r\u00eats courus \u00e0 recevoir": { + "account_number": "5188" + } + }, + "519-Concours bancaires courants": { + "Cr\u00e9dit de mobilisation de cr\u00e9ances commerciales": { + "account_number": "5191" + }, + "Mobilisation de cr\u00e9ances n\u00e9es \u00e0 l'\u00e9tranger": { + "account_number": "5193" + }, + "Int\u00e9r\u00eats courus sur concours bancaires courants": { + "account_number": "5198" + } + } + }, + "52-Instruments financiers \u00e0 terme et jetons d\u00e9tenus": { + "Instruments financiers \u00e0 terme": { + "account_number": "521" + }, + "Jetons d\u00e9tenus": { + "account_number": "522" + }, + "Jetons auto-d\u00e9tenus": { + "account_number": "523" + }, + "Jetons emprunt\u00e9s": { + "account_number": "524" + } + }, + "Caisse": { + "account_type": "Cash", + "account_number": "53" + }, + "Virements internes": { + "account_number": "58" + }, + "59-D\u00e9pr\u00e9ciations des comptes financiers": { + "590-D\u00e9pr\u00e9ciations des valeurs mobili\u00e8res de placement": { + "Actions": { + "account_number": "5903" + }, + "Autres titres conf\u00e9rant un droit de propri\u00e9t\u00e9": { + "account_number": "5904" + }, + "Obligations": { + "account_number": "5906" + }, + "Autres valeurs mobili\u00e8res de placement et cr\u00e9ances assimil\u00e9es": { + "account_number": "5908" + } + } + } + }, + "6-Comptes de charges": { + "root_type": "Expense", + "60-Achats (sauf 603)": { + "Achats stock\u00e9s - Mati\u00e8res premi\u00e8res et fournitures": { + "account_type": "Cost of Goods Sold", + "account_number": "601" + }, + "602-Achats stock\u00e9s - Autres approvisionnements": { + "Mati\u00e8res consommables": { + "account_type": "Cost of Goods Sold", + "account_number": "6021" + }, + "6022-Fournitures consommables": { + "account_type": "Cost of Goods Sold", + "Combustibles": { + "account_type": "Cost of Goods Sold", + "account_number": "60221" + }, + "Produits d'entretien": { + "account_type": "Cost of Goods Sold", + "account_number": "60222" + }, + "Fournitures d'atelier et d'usine": { + "account_type": "Cost of Goods Sold", + "account_number": "60223" + }, + "Fournitures de magasin": { + "account_type": "Cost of Goods Sold", + "account_number": "60224" + }, + "Fourniture de bureau": { + "account_type": "Cost of Goods Sold", + "account_number": "60225" + } + }, + "6026-Emballages": { + "account_type": "Cost of Goods Sold", + "Emballages perdus": { + "account_type": "Cost of Goods Sold", + "account_number": "60261" + }, + "Malis sur emballage": { + "account_type": "Cost of Goods Sold", + "account_number": "60262" + }, + "Emballages r\u00e9cup\u00e9rables non identifiables": { + "account_type": "Cost of Goods Sold", + "account_number": "60265" + }, + "Emballages \u00e0 usage mixte": { + "account_type": "Cost of Goods Sold", + "account_number": "60267" + } + } + }, + "Achats d'\u00e9tudes et prestations de services": { + "account_number": "604" + }, + "Achats de mat\u00e9riel, \u00e9quipements et travaux": { + "account_number": "605" + }, + "606-Achats non stock\u00e9s de mati\u00e8re et fournitures": { + "account_type": "Cost of Goods Sold", + "Fournitures non stockables (eau, \u00e9nergie, etc.)": { + "account_type": "Cost of Goods Sold", + "account_number": "6061" + }, + "Fournitures d'entretien et de petit \u00e9quipement": { + "account_type": "Cost of Goods Sold", + "account_number": "6063" + }, + "Fournitures administratives": { + "account_type": "Cost of Goods Sold", + "account_number": "6064" + }, + "Autres mati\u00e8res et fournitures": { + "account_type": "Cost of Goods Sold", + "account_number": "6068" + } + }, + "Achats de marchandises": { + "account_type": "Cost of Goods Sold", + "account_number": "607" + }, + "Compte r\u00e9serv\u00e9, le cas \u00e9ch\u00e9ant, au regroupement des frais accessoires incorpor\u00e9s aux achats": { + "account_number": "608" + }, + "609-Rabais, remises et ristournes obtenus sur achats (m\u00eame ventilation que celle du compte 60)": { + "Rabais, remises et ristournes non affect\u00e9s": { + "account_number": "6098" + } + } + }, + "603-Variation des stocks d'approvisionnements et de marchandises": { + "account_type": "Stock Adjustment", + "Variation des stocks de mati\u00e8res premi\u00e8res et fournitures": { + "account_type": "Stock Adjustment", + "account_number": "6031" + }, + "Variation des stocks des autres approvisionnements": { + "account_type": "Stock Adjustment", + "account_number": "6032" + }, + "Variation des stocks de marchandises": { + "account_type": "Stock Adjustment", + "account_number": "6037" + } + }, + "61-Services ext\u00e9rieurs": { + "Sous-traitance g\u00e9n\u00e9rale": { + "account_number": "611" + }, + "612-Redevances de cr\u00e9dit-bail": { + "Cr\u00e9dit-bail mobilier": { + "account_number": "6122" + }, + "Cr\u00e9dit-bail immobilier": { + "account_number": "6125" + } + }, + "613-Locations": { + "Locations immobili\u00e8res": { + "account_number": "6132" + }, + "Locations mobili\u00e8res": { + "account_number": "6135" + } + }, + "Charges locatives et de copropri\u00e9t\u00e9": { + "account_number": "614" + }, + "615-Entretien et r\u00e9paration": { + "Entretien et r\u00e9paration sur biens immobiliers": { + "account_number": "6152" + }, + "Entretien et r\u00e9paration sur biens mobiliers": { + "account_number": "6155" + }, + "Maintenance": { + "account_number": "6156" + } + }, + "616-Primes d'assurances": { + "Multirisques": { + "account_number": "6161" + }, + "Assurance obligatoire dommage construction": { + "account_number": "6162" + }, + "6163-Assurance - transport": { + "sur achats": { + "account_number": "61636" + }, + "sur ventes": { + "account_number": "61637" + }, + "sur autres biens": { + "account_number": "61638" + } + }, + "Risques d'exploitation": { + "account_number": "6164" + }, + "Insolvabilit\u00e9 clients": { + "account_number": "6165" + } + }, + "\u00c9tudes et recherches": { + "account_number": "617" + }, + "618-Divers": { + "Documentation g\u00e9n\u00e9rale": { + "account_number": "6181" + }, + "Documentation technique": { + "account_number": "6183" + }, + "Frais de colloques, s\u00e9minaires, conf\u00e9rences": { + "account_number": "6185" + } + }, + "Rabais, remises et ristournes obtenus sur services ext\u00e9rieurs": { + "account_number": "619" + } + }, + "62-Autres services ext\u00e9rieurs": { + "621-Personnel ext\u00e9rieur \u00e0 l'entit\u00e9": { + "Personnel int\u00e9rimaire": { + "account_number": "6211" + }, + "Personnel d\u00e9tach\u00e9 ou pr\u00eat\u00e9 \u00e0 l'entit\u00e9": { + "account_number": "6214" + } + }, + "622-R\u00e9mun\u00e9rations d'interm\u00e9diaires et honoraires": { + "Commissions et courtages sur achats": { + "account_number": "6221" + }, + "Commissions et courtages sur ventes": { + "account_number": "6222" + }, + "R\u00e9mun\u00e9rations des transitaires": { + "account_number": "6224" + }, + "R\u00e9mun\u00e9rations d'affacturage": { + "account_number": "6225" + }, + "Honoraires": { + "account_number": "6226" + }, + "Frais d'actes et de contentieux": { + "account_number": "6227" + }, + "Divers": { + "account_number": "6228" + } + }, + "623-Publicit\u00e9, publications, relations publiques": { + "Annonces et insertions": { + "account_number": "6231" + }, + "\u00c9chantillons": { + "account_number": "6232" + }, + "Foires et expositions": { + "account_number": "6233" + }, + "Cadeaux \u00e0 la client\u00e8le": { + "account_number": "6234" + }, + "Primes": { + "account_number": "6235" + }, + "Catalogues et imprim\u00e9s": { + "account_number": "6236" + }, + "Publications": { + "account_number": "6237" + }, + "Divers (pourboires, dons courants)": { + "account_number": "6238" + } + }, + "624-Transports de biens et transports collectifs du personnel": { + "Transports sur achats": { + "account_number": "6241", + "account_type": "Chargeable" + }, + "Transports sur ventes": { + "account_type": "Chargeable", + "account_number": "6242" + }, + "Transports entre \u00e9tablissements ou chantiers": { + "account_number": "6243" + }, + "Transports administratifs": { + "account_number": "6244" + }, + "Transports collectifs du personnel": { + "account_number": "6247" + }, + "Divers": { + "account_number": "6248" + } + }, + "625-D\u00e9placements, missions et r\u00e9ceptions": { + "Voyages et d\u00e9placements": { + "account_number": "6251" + }, + "Frais de d\u00e9m\u00e9nagement": { + "account_number": "6255" + }, + "Missions": { + "account_number": "6256" + }, + "R\u00e9ceptions": { + "account_number": "6257" + } + }, + "Frais postaux et de t\u00e9l\u00e9communications": { + "account_number": "626" + }, + "627-Services bancaires et assimil\u00e9s": { + "Frais sur titres (achat, vente, garde)": { + "account_number": "6271" + }, + "Commissions et frais sur \u00e9mission d'emprunts": { + "account_number": "6272" + }, + "Frais sur effets": { + "account_number": "6275" + }, + "Location de coffres": { + "account_number": "6276" + }, + "Autres frais et commissions sur prestations de services": { + "account_number": "6278" + } + }, + "628-Divers": { + "Concours divers (cotisations)": { + "account_number": "6281" + }, + "Frais de recrutement de personnel": { + "account_number": "6284" + } + }, + "Rabais, remises et ristournes obtenus sur autres services ext\u00e9rieurs": { + "account_number": "629" + } + }, + "63-Imp\u00f4ts, taxes et versements assimil\u00e9s": { + "631-Imp\u00f4ts, taxes et versements assimil\u00e9s sur r\u00e9mun\u00e9rations (administrations des imp\u00f4ts)": { + "Taxe sur les salaires": { + "account_number": "6311" + }, + "Cotisation pour d\u00e9faut d'investissement obligatoire dans la construction": { + "account_number": "6314" + }, + "Autres": { + "account_number": "6318" + } + }, + "633-Imp\u00f4ts, taxes et versements assimil\u00e9s sur r\u00e9mun\u00e9rations (autres organismes)": { + "Versement de transport": { + "account_number": "6331" + }, + "Allocations logement": { + "account_number": "6332" + }, + "Contribution unique des employeurs \u00e0 la formation professionnelle": { + "account_number": "6333" + }, + "Participation des employeurs \u00e0 l'effort de construction": { + "account_number": "6334" + }, + "Versements lib\u00e9ratoires ouvrant droit \u00e0 l'exon\u00e9ration de la taxe d'apprentissage": { + "account_number": "6335" + }, + "Autres": { + "account_number": "6338" + } + }, + "635-Autres imp\u00f4ts, taxes et versements assimil\u00e9s (administrations des imp\u00f4ts)": { + "6351-Imp\u00f4ts directs (sauf imp\u00f4ts sur les b\u00e9n\u00e9fices)": { + "Contribution \u00e9conomique territoriale": { + "account_number": "63511" + }, + "Taxes fonci\u00e8res": { + "account_number": "63512" + }, + "Autres imp\u00f4ts locaux": { + "account_number": "63513" + }, + "Taxe sur les v\u00e9hicules des soci\u00e9t\u00e9s": { + "account_number": "63514" + } + }, + "Taxe sur le chiffre d'affaires non r\u00e9cup\u00e9rables": { + "account_number": "6352" + }, + "Imp\u00f4ts indirects": { + "account_number": "6353" + }, + "6354-Droits d'enregistrement et de timbre": { + "Droits de mutation": { + "account_number": "63541" + } + }, + "Autres droits": { + "account_number": "6358" + } + }, + "637-Autres imp\u00f4ts, taxes et versements assimil\u00e9s (autres organismes)": { + "Contribution sociale de solidarit\u00e9 \u00e0 la charge des soci\u00e9t\u00e9s": { + "account_number": "6371" + }, + "Taxes per\u00e7ues par les organismes publics internationaux": { + "account_number": "6372" + }, + "Imp\u00f4ts et taxes exigibles \u00e0 l'\u00e9tranger": { + "account_number": "6374" + }, + "Taxes diverses": { + "account_number": "6378" + } + }, + "Rappel d'imp\u00f4ts (autres qu'imp\u00f4ts sur les b\u00e9n\u00e9fices)": { + "account_number": "638" + } + }, + "64-Charges de personnel": { + "641-R\u00e9mun\u00e9rations du personnel": { + "Salaires, appointements": { + "account_number": "6411" + }, + "Cong\u00e9s pay\u00e9s": { + "account_number": "6412" + }, + "Primes et gratifications": { + "account_number": "6413" + }, + "Indemnit\u00e9s et avantages divers": { + "account_number": "6414" + }, + "Suppl\u00e9ment familial": { + "account_number": "6415" + } + }, + "R\u00e9mun\u00e9ration du travail de l'exploitant": { + "account_number": "644" + }, + "645-Cotisations de s\u00e9curit\u00e9 sociale et de pr\u00e9voyance": { + "Cotisations \u00e0 l'Urssaf": { + "account_number": "6451" + }, + "Cotisations aux mutuelles": { + "account_number": "6452" + }, + "Cotisations aux caisses de retraites": { + "account_number": "6453" + }, + "Cotisations \u00e0 P\u00f4le emploi": { + "account_number": "6454" + }, + "Cotisations aux autres organismes sociaux": { + "account_number": "6458" + } + }, + "Cotisations sociales personnelles de l'exploitant": { + "account_number": "646" + }, + "647-Autres cotisations sociales": { + "Prestations directes": { + "account_number": "6471" + }, + "Versements au comit\u00e9 social et \u00e9conomique": { + "account_number": "6472" + }, + "Versements aux autres \u0153uvres sociales": { + "account_number": "6474" + }, + "M\u00e9decine du travail, pharmacie": { + "account_number": "6475" + } + }, + "Autres charges de personnel": { + "account_number": "648" + }, + "Remboursements de charges de personnel": { + "account_number": "649" + } + }, + "65-Autres charges de gestion courante": { + "651-Redevances pour concessions, brevets, licences, marques, proc\u00e9d\u00e9s, solutions informatiques, droits et valeurs similaires": { + "Redevances pour concessions, brevets, licences, marques, proc\u00e9d\u00e9s, solutions informatiques": { + "account_number": "6511" + }, + "Droits d'auteur et de reproduction": { + "account_number": "6516" + }, + "Autres droits et valeurs similaires": { + "account_number": "6518" + } + }, + "R\u00e9mun\u00e9rations de l'activit\u00e9 des administrateurs et des g\u00e9rants": { + "account_number": "653" + }, + "654-Pertes sur cr\u00e9ances irr\u00e9couvrables": { + "Cr\u00e9ances de l'exercice": { + "account_number": "6541" + }, + "Cr\u00e9ances des exercices ant\u00e9rieurs": { + "account_number": "6544" + } + }, + "655-Quote-part de r\u00e9sultat sur op\u00e9rations faites en commun": { + "Quote-part de b\u00e9n\u00e9fice transf\u00e9r\u00e9e - comptabilit\u00e9 du g\u00e9rant": { + "account_number": "6551" + }, + "Quote-part de perte support\u00e9e - comptabilit\u00e9 des associ\u00e9s non g\u00e9rants": { + "account_number": "6555" + } + }, + "Pertes de change sur cr\u00e9ances et dettes commerciales": { + "account_number": "656" + }, + "Valeurs comptables des immobilisations incorporelles et corporelles c\u00e9d\u00e9es": { + "account_number": "657" + }, + "658-P\u00e9nalit\u00e9s et autres charges": { + "P\u00e9nalit\u00e9s sur march\u00e9s (et d\u00e9dits pay\u00e9s sur achats et ventes)": { + "account_number": "6581" + }, + "P\u00e9nalit\u00e9s, amendes fiscales et p\u00e9nales": { + "account_number": "6582" + }, + "Malis provenant de clauses d'indexation": { + "account_number": "6583" + }, + "Lots": { + "account_number": "6584" + }, + "Op\u00e9rations de constitution ou liquidation des fiducies": { + "account_number": "6588" + } + } + }, + "66-Charges financi\u00e8res": { + "661-Charges d'int\u00e9r\u00eats": { + "6611-Int\u00e9r\u00eats des emprunts et dettes": { + "Int\u00e9r\u00eats des emprunts et dettes assimil\u00e9es": { + "account_number": "66116" + }, + "Int\u00e9r\u00eats des dettes rattach\u00e9es \u00e0 des participations": { + "account_number": "66117" + } + }, + "Charges de la fiducie, r\u00e9sultat de la p\u00e9riode": { + "account_number": "6612" + }, + "Int\u00e9r\u00eats des comptes courants et des d\u00e9p\u00f4ts cr\u00e9diteurs": { + "account_number": "6615" + }, + "Int\u00e9r\u00eats bancaires et sur op\u00e9rations de financement (escompte\u2026)": { + "account_number": "6616" + }, + "Int\u00e9r\u00eats des obligations cautionn\u00e9es": { + "account_number": "6617" + }, + "6618-Int\u00e9r\u00eats des autres dettes": { + "Int\u00e9r\u00eats des dettes commerciales": { + "account_number": "66181" + }, + "Int\u00e9r\u00eats des dettes diverses": { + "account_number": "66188" + } + } + }, + "Pertes sur cr\u00e9ances li\u00e9es \u00e0 des participations": { + "account_number": "664" + }, + "Escomptes accord\u00e9s": { + "account_number": "665" + }, + "Pertes de change financi\u00e8res": { + "account_type": "Round Off", + "account_number": "666" + }, + "667-Charges sur cession d'\u00e9l\u00e9ments financiers": { + "Valeurs comptables des immobilisations financi\u00e8res c\u00e9d\u00e9es": { + "account_number": "6671" + }, + "Charges nettes sur cessions de titres immobilis\u00e9s de l'activit\u00e9 de portefeuille": { + "account_number": "6672" + }, + "Charges nettes sur cessions de valeurs mobili\u00e8res de placement": { + "account_number": "6673" + }, + "Charges nettes sur cessions de jetons": { + "account_number": "6674" + } + }, + "668-Autres charges financi\u00e8res": { + "Mali provenant du rachat par l'entit\u00e9 d'actions et obligations \u00e9mises par elle-m\u00eame": { + "account_number": "6683" + } + } + }, + "67-Charges exceptionnelles": { + "(Compte \u00e0 la disposition des entit\u00e9s pour enregistrer, en cours d'exercice, les charges sur exercices ant\u00e9rieurs)": { + "account_number": "672" + }, + "Autres charges exceptionnelles": { + "account_number": "678" + } + }, + "68-Dotations aux amortissements, aux d\u00e9pr\u00e9ciations et aux provisions": { + "account_type": "Depreciation", + "681-Dotations aux amortissements, aux d\u00e9pr\u00e9ciations et aux provisions (\u00e0 inscrire dans les charges d'exploitation)": { + "account_type": "Depreciation", + "6811-Dotations aux amortissements sur immobilisations incorporelles et corporelles": { + "account_type": "Depreciation", + "Immobilisations incorporelles et frais d'\u00e9tablissement": { + "account_type": "Depreciation", + "account_number": "68111" + }, + "Immobilisations corporelles": { + "account_type": "Depreciation", + "account_number": "68112" + } + }, + "Dotations aux provisions d'exploitation": { + "account_type": "Depreciation", + "account_number": "6815" + }, + "6816-Dotations pour d\u00e9pr\u00e9ciations des immobilisations incorporelles et corporelles": { + "account_type": "Depreciation", + "Immobilisations incorporelles": { + "account_type": "Depreciation", + "account_number": "68161" + }, + "Immobilisations corporelles": { + "account_type": "Depreciation", + "account_number": "68162" + } + }, + "6817-Dotations pour d\u00e9pr\u00e9ciations des actifs circulants": { + "account_type": "Depreciation", + "Stocks et en-cours": { + "account_type": "Depreciation", + "account_number": "68173" + }, + "Cr\u00e9ances": { + "account_type": "Depreciation", + "account_number": "68174" + } + } + }, + "686-Dotations aux amortissements, aux d\u00e9pr\u00e9ciations et aux provisions (\u00e0 inscrire dans les charges financi\u00e8res)": { + "account_type": "Depreciation", + "Dotations aux amortissements des primes de remboursement des emprunts": { + "account_type": "Depreciation", + "account_number": "6861" + }, + "Dotations aux amortissements des frais d'\u00e9mission des emprunts": { + "account_type": "Depreciation", + "account_number": "6862" + }, + "Dotations aux provisions financi\u00e8res": { + "account_type": "Depreciation", + "account_number": "6865" + }, + "6866-Dotations pour d\u00e9pr\u00e9ciation des \u00e9l\u00e9ments financiers": { + "account_type": "Depreciation", + "Immobilisations financi\u00e8res": { + "account_type": "Depreciation", + "account_number": "68662" + }, + "Valeurs mobili\u00e8res de placement": { + "account_type": "Depreciation", + "account_number": "68665" + } + } + }, + "687-Dotations aux amortissements, aux d\u00e9pr\u00e9ciations et aux provisions (\u00e0 inscrire dans les charges exceptionnelles)": { + "account_type": "Depreciation", + "Dotations aux amortissements exceptionnels des immobilisations": { + "account_type": "Depreciation", + "account_number": "6871" + }, + "Dotations aux provisions r\u00e9glement\u00e9es (immobilisations)": { + "account_type": "Depreciation", + "Amortissements d\u00e9rogatoires": { + "account_type": "Depreciation", + "account_number": "68725" + } + }, + "Dotations aux provisions r\u00e9glement\u00e9es (stocks)": { + "account_type": "Depreciation", + "account_number": "6873" + }, + "Dotations aux autres provisions r\u00e9glement\u00e9es": { + "account_type": "Depreciation", + "account_number": "6874" + }, + "Dotations aux provisions exceptionnelles": { + "account_type": "Depreciation", + "account_number": "6875" + }, + "Dotations pour d\u00e9pr\u00e9ciations exceptionnelles": { + "account_type": "Depreciation", + "account_number": "6876" + } + } + }, + "69-Participation des salari\u00e9s - Imp\u00f4ts sur les b\u00e9n\u00e9fices et assimil\u00e9s": { + "Participation des salari\u00e9s aux r\u00e9sultats": { + "account_number": "691" + }, + "695-Imp\u00f4ts sur les b\u00e9n\u00e9fices": { + "Imp\u00f4ts dus en France": { + "account_number": "6951" + }, + "Contribution additionnelle \u00e0 l'imp\u00f4t sur les b\u00e9n\u00e9fices": { + "account_number": "6952" + }, + "Imp\u00f4ts dus \u00e0 l'\u00e9tranger": { + "account_number": "6954" + } + }, + "Suppl\u00e9ments d'imp\u00f4t sur les soci\u00e9t\u00e9s li\u00e9s aux distributions": { + "account_number": "696" + }, + "698-Int\u00e9gration fiscale": { + "Int\u00e9gration fiscale - Charges": { + "account_number": "6981" + }, + "Int\u00e9gration fiscale - Produits": { + "account_number": "6989" + } + }, + "Produits - Reports en arri\u00e8re des d\u00e9ficits": { + "account_number": "699" + } + } + }, + "7-Comptes de produits": { + "root_type": "Income", + "70-Ventes de produits fabriqu\u00e9s, prestations de services, marchandises": { + "Ventes de produits finis": { + "account_number": "701" + }, + "Ventes de produits interm\u00e9diaires": { + "account_number": "702" + }, + "Ventes de produits r\u00e9siduels": { + "account_number": "703" + }, + "Travaux": { + "account_number": "704" + }, + "\u00c9tudes": { + "account_number": "705" + }, + "Prestations de services": { + "account_number": "706" + }, + "707-Ventes de marchandises": { + "Marchandises": { + "account_number": "7071" + }, + "Éco-participation": { + "account_type": "Income Account", + "account_number": "7079" + } + }, + "708-Produits des activit\u00e9s annexes": { + "Produits des services exploit\u00e9s dans l'int\u00e9r\u00eat du personnel": { + "account_number": "7081" + }, + "Commissions et courtages": { + "account_number": "7082" + }, + "Locations diverses": { + "account_number": "7083" + }, + "Mise \u00e0 disposition de personnel factur\u00e9e": { + "account_number": "7084" + }, + "Ports et frais accessoires factur\u00e9s": { + "account_number": "7085" + }, + "Bonis sur reprises d'emballages consign\u00e9s": { + "account_number": "7086" + }, + "Bonifications obtenues des clients et primes sur ventes": { + "account_number": "7087" + }, + "Autres produits d'activit\u00e9s annexes (cessions d'approvisionnements)": { + "account_number": "7088" + } + }, + "709-Rabais, remises et ristournes accord\u00e9s": { + "Rabais, remises et ristournes accord\u00e9s sur ventes de produits finis": { + "account_number": "7091" + }, + "Rabais, remises et ristournes accord\u00e9s sur ventes de produits interm\u00e9diaires": { + "account_number": "7092" + }, + "Rabais, remises et ristournes accord\u00e9s sur travaux": { + "account_number": "7094" + }, + "Rabais, remises et ristournes accord\u00e9s sur \u00e9tudes": { + "account_number": "7095" + }, + "Rabais, remises et ristournes accord\u00e9s sur prestations de services": { + "account_number": "7096" + }, + "Rabais, remises et ristournes accord\u00e9s sur ventes de marchandises": { + "account_number": "7097" + }, + "Rabais, remises et ristournes accord\u00e9s sur produits des activit\u00e9s annexes": { + "account_number": "7098" + } + } + }, + "71-Production stock\u00e9e (ou d\u00e9stockage)": { + "713-Variation des stocks des en-cours de production et de produits": { + "7133-Variation des en-cours de production de biens": { + "Produits en cours": { + "account_number": "71331" + }, + "Travaux en cours": { + "account_number": "71335" + } + }, + "7134-Variation des en-cours de production de services": { + "\u00c9tudes en cours": { + "account_number": "71341" + }, + "Prestations de services en cours": { + "account_number": "71345" + } + }, + "7135-Variation des stocks de produits": { + "Produits interm\u00e9diaires": { + "account_number": "71351" + }, + "Produits finis": { + "account_number": "71355" + }, + "Produits r\u00e9siduels": { + "account_number": "71358" + } + } + } + }, + "72-Production immobilis\u00e9e": { + "Immobilisations incorporelles": { + "account_number": "721" + }, + "Immobilisations corporelles": { + "account_number": "722" + } + }, + "74-Subventions": { + "Subventions d'exploitation": { + "account_number": "741" + }, + "Subventions d'\u00e9quilibre": { + "account_number": "742" + }, + "Quote-part des subventions d'investissement vir\u00e9e au r\u00e9sultat de l'exercice": { + "account_number": "747" + } + }, + "75-Autres produits de gestion courante": { + "751-Redevances pour concessions, brevets, licences, marques, proc\u00e9d\u00e9s, solutions informatiques, droits et valeurs similaires": { + "Redevances pour concessions, brevets, licences, marques, proc\u00e9d\u00e9s, solutions informatiques": { + "account_number": "7511" + }, + "Droits d'auteur et de reproduction": { + "account_number": "7516" + }, + "Autres droits et valeurs similaires": { + "account_number": "7518" + } + }, + "Revenus des immeubles non affect\u00e9s \u00e0 des activit\u00e9s professionnelles": { + "account_number": "752" + }, + "R\u00e9mun\u00e9rations de l'activit\u00e9 des administrateurs et des g\u00e9rants": { + "account_number": "753" + }, + "Ristournes per\u00e7ues des coop\u00e9ratives provenant des exc\u00e9dents": { + "account_number": "754" + }, + "755-Quote-part de r\u00e9sultat sur op\u00e9rations faites en commun": { + "Quote-part de perte transf\u00e9r\u00e9e - comptabilit\u00e9 du g\u00e9rant": { + "account_number": "7551" + }, + "Quote-part de b\u00e9n\u00e9fice attribu\u00e9e - comptabilit\u00e9 des associ\u00e9s non-g\u00e9rants": { + "account_number": "7555" + } + }, + "Gains de change sur cr\u00e9ances et dettes commerciales": { + "account_number": "756" + }, + "Produits des cessions d'immobilisations incorporelles et corporelles": { + "account_number": "757" + }, + "758-Indemnit\u00e9s et autres produits": { + "D\u00e9dits et p\u00e9nalit\u00e9s per\u00e7us sur achats et ventes": { + "account_number": "7581" + }, + "Lib\u00e9ralit\u00e9s re\u00e7ues": { + "account_number": "7582" + }, + "Rentr\u00e9es sur cr\u00e9ances amorties": { + "account_number": "7583" + }, + "D\u00e9gr\u00e8vements d'imp\u00f4ts autres qu'imp\u00f4ts sur les b\u00e9n\u00e9fices": { + "account_number": "7584" + }, + "Bonis provenant de clauses d'indexation": { + "account_number": "7585" + }, + "Lots": { + "account_number": "7586" + }, + "Indemnit\u00e9s d'assurance": { + "account_number": "7587" + }, + "Op\u00e9rations de constitution ou liquidation des fiducies": { + "account_number": "7588" + } + } + }, + "76-Produits financiers": { + "761-Produits de participations": { + "Revenus des titres de participation": { + "account_number": "7611" + }, + "Produits de la fiducie, r\u00e9sultat de la p\u00e9riode": { + "account_number": "7612" + }, + "Revenus sur autres formes de participation": { + "account_number": "7616" + }, + "Revenus des cr\u00e9ances rattach\u00e9es \u00e0 des participations": { + "account_number": "7617" + } + }, + "762-Produits des autres immobilisations financi\u00e8res": { + "Revenus des titres immobilis\u00e9s": { + "account_number": "7621" + }, + "Revenus des pr\u00eats": { + "account_number": "7626" + }, + "Revenus des cr\u00e9ances immobilis\u00e9es": { + "account_number": "7627" + } + }, + "763-Revenus des autres cr\u00e9ances": { + "Revenus des cr\u00e9ances commerciales": { + "account_number": "7631" + }, + "Revenus des cr\u00e9ances diverses": { + "account_number": "7638" + } + }, + "Revenus des valeurs mobili\u00e8res de placement": { + "account_number": "764" + }, + "Escomptes obtenus": { + "account_number": "765" + }, + "Gains de change financiers": { + "account_type": "Round Off", + "account_number": "766" + }, + "767-Produits sur cession d'\u00e9l\u00e9ments financiers": { + "Produits des cessions d'immobilisations financi\u00e8res": { + "account_number": "7671" + }, + "Produits nets sur cessions de titres immobilis\u00e9s de l'activit\u00e9 de portefeuille": { + "account_number": "7672" + }, + "Produits nets sur cessions de valeurs mobili\u00e8res de placement": { + "account_number": "7673" + }, + "Produits nets sur cessions de jetons": { + "account_number": "7674" + } + }, + "768-Autres produits financiers": { + "Bonis provenant du rachat par l'entreprise d'actions et d'obligations \u00e9mises par elle-m\u00eame": { + "account_number": "7683" + } + } + }, + "77-Produits exceptionnels": { + "(Compte \u00e0 la disposition des entit\u00e9s pour enregistrer, en cours d'exercice, les produits sur exercices ant\u00e9rieurs)": { + "account_number": "772" + }, + "Autres produits exceptionnels": { + "account_number": "778" + } + }, + "78-Reprises sur amortissements, d\u00e9pr\u00e9ciations et provisions": { + "781-Reprises sur amortissements, d\u00e9pr\u00e9ciations et provisions (\u00e0 inscrire dans les produits d'exploitation)": { + "7811-Reprises sur amortissements des immobilisations incorporelles et corporelles": { + "Immobilisations incorporelles": { + "account_number": "78111" + }, + "Immobilisations corporelles": { + "account_number": "78112" + } + }, + "Reprises sur provisions d'exploitation": { + "account_number": "7815" + }, + "7816-Reprises sur d\u00e9pr\u00e9ciations des immobilisations incorporelles et corporelles": { + "Immobilisations incorporelles": { + "account_number": "78161" + }, + "Immobilisations corporelles": { + "account_number": "78162" + } + }, + "7817-Reprises sur d\u00e9pr\u00e9ciations des actifs circulants": { + "Stocks et en-cours": { + "account_number": "78173" + }, + "Cr\u00e9ances": { + "account_number": "78174" + } + } + }, + "786-Reprises sur d\u00e9pr\u00e9ciations et provisions (\u00e0 inscrire dans les produits financiers)": { + "Reprises sur provisions financi\u00e8res": { + "account_number": "7865" + }, + "7866-Reprises sur d\u00e9pr\u00e9ciations des \u00e9l\u00e9ments financiers": { + "Immobilisations financi\u00e8res": { + "account_number": "78662" + }, + "Valeurs mobili\u00e8res de placement": { + "account_number": "78665" + } + } + }, + "787-Reprises sur d\u00e9pr\u00e9ciations et provisions (\u00e0 inscrire dans les produits exceptionnels)": { + "7872-Reprises sur provisions r\u00e9glement\u00e9es (immobilisations)": { + "Amortissements d\u00e9rogatoires": { + "account_number": "78725" + } + }, + "Reprises sur provisions r\u00e9glement\u00e9es (stocks)": { + "account_number": "7873" + }, + "Reprises sur autres provisions r\u00e9glement\u00e9es": { + "account_number": "7874" + }, + "Reprises sur provisions exceptionnelles": { + "account_number": "7875" + }, + "Reprises sur d\u00e9pr\u00e9ciations exceptionnelles": { + "account_number": "7876" + } + } + } + } + } +} \ No newline at end of file diff --git a/erpnext/accounts/doctype/account/chart_of_accounts/verified/fr_plan2025_comptable_general_ex_agricole.json b/erpnext/accounts/doctype/account/chart_of_accounts/verified/fr_plan2025_comptable_general_ex_agricole.json new file mode 100644 index 00000000000..8f0f52ccc1a --- /dev/null +++ b/erpnext/accounts/doctype/account/chart_of_accounts/verified/fr_plan2025_comptable_general_ex_agricole.json @@ -0,0 +1,3248 @@ + +{ + "county_code": "fr", + "name": "France - Plan Comptable General Agricole 2025 avec code", + "tree": { + "1-Comptes de capitaux": { + "root_type": "Equity", + "10-Capital et r\u00e9serves": { + "101-Capital": { + "Capital individuel initial (au ..\/..\/..\/)": { + "account_number": "1011" + }, + "Variations capital individuel initial": { + "account_number": "1012" + }, + "Capital souscrit - non appel\u00e9": { + "account_number": "1013" + }, + "Capital souscrit - appel\u00e9, vers\u00e9": { + "account_number": "1014" + }, + "1015-Capital souscrit - appel\u00e9, non vers\u00e9": { + "Capital non amorti": { + "account_number": "10151" + }, + "Capital amorti": { + "account_number": "10152" + } + }, + "Capital souscrit soumis \u00e0 des r\u00e9glementations particuli\u00e8res": { + "account_number": "1018" + } + }, + "104-Primes li\u00e9es au capital social": { + "Primes d'\u00e9mission": { + "account_number": "1041" + }, + "Primes de fusion": { + "account_number": "1042" + }, + "Primes d'apport": { + "account_number": "1043" + }, + "Primes de conversion d'obligations en actions": { + "account_number": "1044" + }, + "Bons de souscription d'actions": { + "account_number": "1045" + } + }, + "105-Ecarts de r\u00e9\u00e9valuation": { + "R\u00e9serve sp\u00e9ciale de r\u00e9\u00e9valuation": { + "account_number": "1051" + }, + "Ecart de r\u00e9\u00e9valuation libre": { + "account_number": "1052" + }, + "R\u00e9serve de r\u00e9\u00e9valuation": { + "account_number": "1053" + }, + "Ecarts de r\u00e9\u00e9valuation (autres op\u00e9rations l\u00e9gales)": { + "account_number": "1055" + }, + "Autres \u00e9carts de r\u00e9\u00e9valuation en France": { + "account_number": "1057" + }, + "Autres \u00e9carts de r\u00e9\u00e9valuation \u00e0 l'Etranger": { + "account_number": "1058" + } + }, + "106-R\u00e9serves": { + "1061-R\u00e9serve l\u00e9gale": { + "R\u00e9serve l\u00e9gale proprement dite": { + "account_number": "10611" + }, + "Plus-values nettes \u00e0 long terme": { + "account_number": "10612" + } + }, + "R\u00e9serves indisponibles": { + "account_number": "1062" + }, + "R\u00e9serves statutaires ou contractuelles": { + "account_number": "1063" + }, + "1064-R\u00e9serves r\u00e9glement\u00e9es": { + "Plus-values nettes \u00e0 long terme": { + "account_number": "10641" + }, + "R\u00e9serves cons\u00e9cutives \u00e0 l'octroi de subventions d'investissement": { + "account_number": "10643" + }, + "Autres r\u00e9serves r\u00e9glement\u00e9es": { + "account_number": "10648" + } + }, + "1068-Autres r\u00e9serves": { + "R\u00e9serve de propre assureur": { + "account_number": "10681" + }, + "R\u00e9serves diverses": { + "account_number": "10688" + } + } + }, + "Ecart d'\u00e9quivalence": { + "account_number": "107" + }, + "Compte de l'exploitant": { + "account_number": "108" + }, + "109-Actionnaires et associ\u00e9s : Capital souscrit - non appel\u00e9": { + "Actionnaires : Capital souscrit - non appel\u00e9": { + "account_number": "1091" + }, + "Associ\u00e9s : Capital souscrit - non appel\u00e9": { + "account_number": "1092" + } + } + }, + "11-Report \u00e0 nouveau (solde cr\u00e9diteur ou d\u00e9biteur)": { + "Report \u00e0 nouveau (solde cr\u00e9diteur)": { + "account_number": "110" + }, + "Report \u00e0 nouveau (solde d\u00e9biteur)": { + "account_number": "119" + } + }, + "12-R\u00e9sultat de l'exercice (b\u00e9n\u00e9fice ou perte)": { + "R\u00e9sultat de l'exercice (b\u00e9n\u00e9fice)": { + "account_number": "120" + }, + "R\u00e9sultat de l'exercice (perte)": { + "account_number": "129" + } + }, + "13-Subventions d'investissement": { + "131-Subventions d'\u00e9quipement": { + "Etat": { + "account_number": "1311" + }, + "R\u00e9gions": { + "account_number": "1312" + }, + "D\u00e9partements": { + "account_number": "1313" + }, + "Communes": { + "account_number": "1314" + }, + "Collectivit\u00e9s publiques": { + "account_number": "1315" + }, + "Entreprises publiques": { + "account_number": "1316" + }, + "Entreprises et organismes priv\u00e9s": { + "account_number": "1317" + }, + "Autres": { + "account_number": "1318" + } + }, + "Autres subventions d'investissement": { + "account_number": "138" + }, + "139-Subventions d'investissement inscrites au compte de r\u00e9sultat": { + "1391-Subventions d'\u00e9quipement inscrites au compte de r\u00e9sultat": { + "Etat": { + "account_number": "13911" + }, + "R\u00e9gions": { + "account_number": "13912" + }, + "D\u00e9partements": { + "account_number": "13913" + }, + "Communes": { + "account_number": "13914" + }, + "Collectivit\u00e9s publiques": { + "account_number": "13915" + }, + "Entreprises publiques": { + "account_number": "13916" + }, + "Entreprises et organismes priv\u00e9s": { + "account_number": "13917" + }, + "Autres": { + "account_number": "13918" + } + }, + "Autres subventions d'investissement inscrites au compte de r\u00e9sultat": { + "account_number": "1398" + } + } + }, + "14-Provisions r\u00e9glement\u00e9es": { + "142-Provisions r\u00e9glement\u00e9es relatives aux immobilisations": { + "Provisions pour investissement (participation des salari\u00e9s)": { + "account_number": "1424" + } + }, + "143-Provisions r\u00e9glement\u00e9es relatives aux stocks": { + "Hausse des prix": { + "account_number": "1431" + }, + "Fluctuation des cours": { + "account_number": "1432" + } + }, + "Provisions r\u00e9glement\u00e9es relatives aux autres \u00e9l\u00e9ments de l'actif": { + "account_number": "144" + }, + "Amortissements d\u00e9rogatoires": { + "account_number": "145" + }, + "Provision sp\u00e9ciale de r\u00e9\u00e9valuation": { + "account_number": "146" + }, + "Plus-values r\u00e9investies": { + "account_number": "147" + }, + "Autres provisions r\u00e9glement\u00e9es": { + "account_number": "148" + } + }, + "15-Provisions": { + "151-Provisions pour risques": { + "Provisions pour litiges": { + "account_number": "1511" + }, + "Provisions pour garanties donn\u00e9es aux clients": { + "account_number": "1512" + }, + "Provisions pour pertes sur march\u00e9s \u00e0 terme": { + "account_number": "1513" + }, + "Provisions pour amendes et p\u00e9nalit\u00e9s": { + "account_number": "1514" + }, + "Provisions pour pertes de change": { + "account_number": "1515" + }, + "Provisions pour pertes sur contrats": { + "account_number": "1516" + }, + "Autres provisions pour risques": { + "account_number": "1518" + } + }, + "Provisions pour pensions et obligations similaires": { + "account_number": "153" + }, + "Provisions pour restructurations": { + "account_number": "154" + }, + "Provisions pour imp\u00f4ts": { + "account_number": "155" + }, + "Provisions pour renouvellement des immobilisations": { + "account_number": "156" + }, + "157-Provisions pour charges \u00e0 r\u00e9partir sur plusieurs exercices": { + "Provisions pour gros entretien ou grandes r\u00e9visions": { + "account_number": "1572" + } + }, + "158-Autres provisions pour charges": { + "Provisions pour remises en \u00e9tat": { + "account_number": "1581" + } + } + }, + "16-Emprunts et dettes assimil\u00e9es": { + "Emprunts obligataires convertibles": { + "account_number": "161" + }, + "Autres emprunts obligataires": { + "account_number": "163" + }, + "164-Emprunts aupr\u00e8s des \u00e9tablissements de cr\u00e9dit": { + "Emprunts fonciers": { + "account_number": "1641" + }, + "Autres emprunts \u00e0 moyen et long terme": { + "account_number": "1642" + }, + "Emprunts \u00e0 court terme": { + "account_number": "1643" + } + }, + "165-D\u00e9p\u00f4ts et cautionnements re\u00e7us": { + "D\u00e9p\u00f4ts": { + "account_number": "1651" + }, + "Cautionnements": { + "account_number": "1655" + } + }, + "166-Participation des salari\u00e9s aux r\u00e9sultats": { + "Comptes bloqu\u00e9s": { + "account_number": "1661" + }, + "Fonds de participation": { + "account_number": "1662" + } + }, + "167-Emprunts et dettes assortis de conditions particuli\u00e8res": { + "Emissions de titres participatifs": { + "account_number": "1671" + }, + "Avances conditionn\u00e9es": { + "account_number": "1674" + }, + "Emprunts participatifs": { + "account_number": "1675" + } + }, + "168-Autres emprunts et dettes assimil\u00e9es": { + "Autres emprunts": { + "account_number": "1681" + }, + "Rentes viag\u00e8res capitalis\u00e9es": { + "account_number": "1685" + }, + "Autres dettes": { + "account_number": "1687" + }, + "1688-Int\u00e9r\u00eats courus": { + "sur emprunts obligataires convertibles": { + "account_number": "16881" + }, + "sur autres emprunts obligataires": { + "account_number": "16883" + }, + "16884-sur emprunts aupr\u00e8s des \u00e9tablissements de cr\u00e9dit": { + "Int\u00e9r\u00eats courus sur emprunts fonciers": { + "account_number": "168841" + }, + "Int\u00e9r\u00eats courus sur autres emprunts MLT": { + "account_number": "168842" + }, + "Int\u00e9r\u00eats courus sur emprunts court terme": { + "account_number": "168843" + } + }, + "sur d\u00e9p\u00f4ts et cautionnements re\u00e7us": { + "account_number": "16885" + }, + "sur participation des salari\u00e9s aux r\u00e9sultats": { + "account_number": "16886" + }, + "sur emprunts et dettes assortis de conditions particuli\u00e8res": { + "account_number": "16887" + }, + "sur autres emprunts et dettes assimil\u00e9es": { + "account_number": "16888" + } + } + }, + "Primes de remboursement des obligations": { + "account_number": "169" + } + }, + "17-Dettes rattach\u00e9es \u00e0 des participations": { + "171-Dettes rattach\u00e9es \u00e0 des participations (groupe)": { + "Principal": { + "account_number": "1711" + }, + "Int\u00e9r\u00eats courus": { + "account_number": "1712" + } + }, + "172-Dettes rattach\u00e9es \u00e0 des participations \u00e0 des organismes professionnels agricoles (autres que les \u00e9tablissements de cr\u00e9dit)": { + "Principal": { + "account_number": "1721" + }, + "Int\u00e9r\u00eats courus": { + "account_number": "1728" + } + }, + "174-Dettes rattach\u00e9es \u00e0 des participations (hors groupe)": { + "Principal": { + "account_number": "1741" + }, + "Int\u00e9r\u00eats courus": { + "account_number": "1748" + } + }, + "178-Dettes rattach\u00e9es \u00e0 des soci\u00e9t\u00e9s en participation": { + "Principal": { + "account_number": "1781" + }, + "Int\u00e9r\u00eats courus": { + "account_number": "1788" + } + } + }, + "18-Comptes de liaison des \u00e9tablissements et soci\u00e9t\u00e9s en participation": { + "Comptes de liaison des \u00e9tablissements": { + "account_number": "181" + }, + "Biens et prestations de services \u00e9chang\u00e9s entre \u00e9tablissements (charges)": { + "account_number": "186" + }, + "Biens et prestations de services \u00e9chang\u00e9s entre \u00e9tablissements (produits)": { + "account_number": "187" + }, + "Comptes de liaison des soci\u00e9t\u00e9s en participation": { + "account_number": "188" + } + } + }, + "2-Comptes d'immobilisations": { + "root_type": "Asset", + "20-Immobilisations incorporelles": { + "201-Frais d'\u00e9tablissement": { + "Frais de constitution": { + "account_number": "2011" + }, + "2012-Frais de premier \u00e9tablissement": { + "Frais de prospection": { + "account_number": "20121" + }, + "Frais de publicit\u00e9": { + "account_number": "20122" + } + }, + "Frais d'augmentation de capital et d'op\u00e9rations diverses (fusions, scissions, transformations)": { + "account_number": "2013" + } + }, + "Frais de recherche et de d\u00e9veloppement": { + "account_number": "203" + }, + "Concessions et droits similaires, brevets, licences, marques, proc\u00e9d\u00e9s, logiciels, droits et valeurs similaires": { + "account_number": "205" + }, + "Droit au bail": { + "account_number": "206" + }, + "207-Fonds rural et commercial": { + "Fonds agricole": { + "account_number": "2071" + }, + "Fonds commercial": { + "account_number": "2072" + } + }, + "208-Autres immobilisations incorporelles": { + "Usufruit temporaire": { + "account_number": "2082" + } + } + }, + "21-Immobilisations corporelles": { + "account_type": "Fixed Asset", + "211-Terrains": { + "account_type": "Fixed Asset", + "2111-Terrains nus": { + "account_type": "Fixed Asset", + "Terrains nus exploit\u00e9s en faire valoir direct": { + "account_type": "Fixed Asset", + "account_number": "21111" + }, + "Autres terrains nus": { + "account_type": "Fixed Asset", + "account_number": "21112" + } + }, + "Terrains am\u00e9nag\u00e9s": { + "account_type": "Fixed Asset", + "account_number": "2112" + }, + "Sous-sols et sur-sols": { + "account_type": "Fixed Asset", + "account_number": "2113" + }, + "2114-Terrains de gisement": { + "account_type": "Fixed Asset", + "Carri\u00e8res": { + "account_type": "Fixed Asset", + "account_number": "21141" + } + }, + "2115-Terrains b\u00e2tis": { + "account_type": "Fixed Asset", + "affect\u00e9s \u00e0 la production agricole": { + "account_type": "Fixed Asset", + "account_number": "21151" + }, + "affect\u00e9s \u00e0 une autre activit\u00e9 professionnelle": { + "account_type": "Fixed Asset", + "account_number": "21155" + }, + "affect\u00e9s \u00e0 des op\u00e9rations non professionnelles": { + "account_type": "Fixed Asset", + "account_number": "21158" + } + }, + "Compte d'ordre sur immobilisations (art. 6 du d\u00e9cret 78.737 du 11-07-1978)": { + "account_type": "Fixed Asset", + "account_number": "2116" + } + }, + "Agencements et am\u00e9nagements de terrains": { + "account_type": "Fixed Asset", + "account_number": "212" + }, + "213-Constructions sur sol propre": { + "account_type": "Fixed Asset", + "2131-B\u00e2timents": { + "account_type": "Fixed Asset", + "affect\u00e9s \u00e0 la production agricole": { + "account_type": "Fixed Asset", + "account_number": "21311" + }, + "affect\u00e9s \u00e0 une autre activit\u00e9 professionnelle": { + "account_type": "Fixed Asset", + "account_number": "21315" + }, + "affect\u00e9s \u00e0 des op\u00e9rations non professionnelles": { + "account_type": "Fixed Asset", + "account_number": "21318" + } + }, + "2135-Installations g\u00e9n\u00e9rales - agencements - am\u00e9nagements des constructions": { + "account_type": "Fixed Asset", + "affect\u00e9s \u00e0 la production agricole": { + "account_type": "Fixed Asset", + "account_number": "21351" + }, + "affect\u00e9s \u00e0 une autre activit\u00e9 professionnelle": { + "account_type": "Fixed Asset", + "account_number": "21355" + }, + "affect\u00e9s \u00e0 des op\u00e9rations non professionnelles": { + "account_type": "Fixed Asset", + "account_number": "21358" + } + }, + "Ouvrages d'infrastructure": { + "account_type": "Fixed Asset", + "account_number": "2138" + } + }, + "214-Constructions sur sol d'autrui": { + "account_type": "Fixed Asset", + "2141-B\u00e2timents": { + "account_type": "Fixed Asset", + "affect\u00e9s \u00e0 la production agricole": { + "account_type": "Fixed Asset", + "account_number": "21411" + }, + "affect\u00e9s \u00e0 une autre activit\u00e9 professionnelle": { + "account_type": "Fixed Asset", + "account_number": "21415" + }, + "affect\u00e9s \u00e0 des op\u00e9rations non professionnelles": { + "account_type": "Fixed Asset", + "account_number": "21418" + } + }, + "2145-Installations g\u00e9n\u00e9rales - agencements - am\u00e9nagements des constructions": { + "account_type": "Fixed Asset", + "affect\u00e9s \u00e0 la production agricole": { + "account_type": "Fixed Asset", + "account_number": "21451" + }, + "affect\u00e9s \u00e0 une autre activit\u00e9 professionnelle": { + "account_type": "Fixed Asset", + "account_number": "21455" + }, + "affect\u00e9s \u00e0 des op\u00e9rations non professionnelles": { + "account_type": "Fixed Asset", + "account_number": "21458" + } + }, + "Ouvrages d'infrastructure": { + "account_type": "Fixed Asset", + "account_number": "2148" + } + }, + "215-Installations techniques, mat\u00e9riels et outillage": { + "account_type": "Fixed Asset", + "Installations techniques sur sol propre": { + "account_type": "Fixed Asset", + "account_number": "2151" + }, + "Installations techniques sur sol d'autrui": { + "account_type": "Fixed Asset", + "account_number": "2153" + }, + "Mat\u00e9riel": { + "account_type": "Fixed Asset", + "account_number": "2154" + }, + "Outillage": { + "account_type": "Fixed Asset", + "account_number": "2155" + }, + "Agencements et am\u00e9nagements du mat\u00e9riel et outillage industriels": { + "account_type": "Fixed Asset", + "account_number": "2157" + } + }, + "Am\u00e9liorations du fonds": { + "account_type": "Fixed Asset", + "account_number": "217" + }, + "218-Autres immobilisations corporelles (hors biens vivants)": { + "account_type": "Fixed Asset", + "Installations g\u00e9n\u00e9rales, agencements, am\u00e9nagements divers": { + "account_type": "Fixed Asset", + "account_number": "2181" + }, + "Mat\u00e9riel de transport": { + "account_type": "Fixed Asset", + "account_number": "2182" + }, + "Mat\u00e9riel de bureau et mat\u00e9riel informatique": { + "account_type": "Fixed Asset", + "account_number": "2183" + }, + "Mobilier": { + "account_type": "Fixed Asset", + "account_number": "2184" + }, + "Emballages r\u00e9cup\u00e9rables": { + "account_type": "Fixed Asset", + "account_number": "2186" + }, + "Autres": { + "account_type": "Fixed Asset", + "account_number": "2188" + } + } + }, + "Immobilisations mises en concession": { + "account_number": "22" + }, + "23-Immobilisations en cours": { + "231-Immobilisations corporelles en cours (hors biens vivants)": { + "Terrains (en cours)": { + "account_number": "2311" + }, + "Agencements et am\u00e9nagements de terrains (en cours)": { + "account_number": "2312" + }, + "Constructions sur sol propre (en cours)": { + "account_number": "2313" + }, + "Constructions sur sol d'autrui (en cours)": { + "account_number": "2314" + }, + "Installations techniques, mat\u00e9riel et outillage (en cours)": { + "account_number": "2315" + }, + "Autres immobilisations corporelles - hors biens vivants (en cours)": { + "account_number": "2318" + } + }, + "Immobilisations incorporelles en cours": { + "account_number": "232" + }, + "234-Immobilisations corporelles en cours (biens vivants)": { + "Animaux reproducteurs (jeunes de renouvellement)": { + "account_number": "2341" + }, + "Animaux de services (en cours)": { + "account_number": "2343" + }, + "Plantations p\u00e9rennes (en cours)": { + "account_number": "2346" + }, + "Autres v\u00e9g\u00e9taux immobilis\u00e9s (en cours)": { + "account_number": "2347" + } + }, + "Avances et acomptes vers\u00e9s sur immobilisations incorporelles": { + "account_number": "237" + }, + "238-Avances et acomptes vers\u00e9s sur commandes d'immobilisations corporelles": { + "Immobilisations corporelles (hors biens vivants)": { + "account_number": "2381" + }, + "Immobilisations corporelles (biens vivants)": { + "account_number": "2384" + } + } + }, + "24-Immobilisations en cours (biens vivants)": { + "Animaux reproducteurs (adultes)": { + "account_number": "241" + }, + "Animaux reproducteurs (jeunes de renouvellement)": { + "account_number": "242" + }, + "Animaux de services": { + "account_number": "243" + }, + "246-Plantations p\u00e9rennes": { + "Plantations p\u00e9rennes sur sol propre": { + "account_number": "2461" + }, + "Plantations p\u00e9rennes sur sol d'autrui": { + "account_number": "2465" + }, + "Am\u00e9nagements des plantations p\u00e9rennes": { + "account_number": "2467" + } + }, + "247-Autres v\u00e9g\u00e9taux immobilis\u00e9s": { + "Autres v\u00e9g\u00e9taux immobilis\u00e9s sur sol propre": { + "account_number": "2471" + }, + "Autres v\u00e9g\u00e9taux immobilis\u00e9s sur sol d'autrui": { + "account_number": "2475" + }, + "Am\u00e9nagements des autres v\u00e9g\u00e9taux immobilis\u00e9s": { + "account_number": "2477" + } + } + }, + "Entreprises li\u00e9es - parts et cr\u00e9ances": { + "account_number": "25" + }, + "26-Participations et cr\u00e9ances rattach\u00e9es \u00e0 des participations": { + "261-Titres de participation": { + "Actions": { + "account_number": "2611" + }, + "Autres titres": { + "account_number": "2618" + } + }, + "262-Participations \u00e0 des organismes professionnels agricoles": { + "Soci\u00e9t\u00e9s coop\u00e9ratives agricoles (sauf CUMA)": { + "account_number": "2621" + }, + "CUMA": { + "account_number": "2622" + }, + "SICA": { + "account_number": "2624" + }, + "Autres": { + "account_number": "2628" + } + }, + "Autres formes de participation": { + "account_number": "266" + }, + "267-Cr\u00e9ances rattach\u00e9es \u00e0 des participations": { + "Cr\u00e9ances rattach\u00e9es \u00e0 des participations (groupe)": { + "account_number": "2671" + }, + "2672-Cr\u00e9ances rattach\u00e9es \u00e0 des participations \u00e0 des organismes professionnels agricoles": { + "Soci\u00e9t\u00e9s coop\u00e9ratives agricoles (sauf CUMA)": { + "account_number": "26721" + }, + "CUMA": { + "account_number": "26722" + }, + "SICA": { + "account_number": "26724" + }, + "Autres": { + "account_number": "26728" + } + }, + "Cr\u00e9ances rattach\u00e9es \u00e0 d'autres participations": { + "account_number": "2674" + }, + "Versements repr\u00e9sentatifs d'apports non capitalis\u00e9s (appel de fonds)": { + "account_number": "2675" + }, + "Avances consolidables": { + "account_number": "2676" + }, + "Int\u00e9r\u00eats courus": { + "account_number": "2678" + } + }, + "268-Cr\u00e9ances rattach\u00e9es \u00e0 des soci\u00e9t\u00e9s en participation": { + "Principal": { + "account_number": "2681" + }, + "Int\u00e9r\u00eats courus": { + "account_number": "2688" + } + }, + "269-Versements restant \u00e0 effectuer sur titres de participation non lib\u00e9r\u00e9s": { + "sur titres de participation": { + "account_number": "2691" + }, + "sur participations \u00e0 des organismes professionnels agricoles": { + "account_number": "2692" + }, + "sur autres formes de participation": { + "account_number": "2696" + } + } + }, + "27-Autres immobilisations financi\u00e8res": { + "271-Titres immobilis\u00e9s (droit de propri\u00e9t\u00e9)": { + "Actions": { + "account_number": "2711" + }, + "Parts dans les \u00e9tablissements de cr\u00e9dit": { + "account_number": "2715" + }, + "Autres titres": { + "account_number": "2718" + } + }, + "272-Titres immobilis\u00e9s (droit de cr\u00e9ance)": { + "Obligations": { + "account_number": "2721" + }, + "Bons": { + "account_number": "2722" + }, + "Certificats de fonds de d\u00e9veloppement coop\u00e9ratifs": { + "account_number": "2723" + } + }, + "Titres immobilis\u00e9s de l'activit\u00e9 de portefeuille": { + "account_number": "273" + }, + "274-Pr\u00eats": { + "Pr\u00eats participatifs": { + "account_number": "2741" + }, + "Pr\u00eats aux associ\u00e9s": { + "account_number": "2742" + }, + "Pr\u00eats au personnel": { + "account_number": "2743" + }, + "Autres pr\u00eats": { + "account_number": "2748" + } + }, + "275-D\u00e9p\u00f4ts et cautionnements vers\u00e9s": { + "D\u00e9p\u00f4ts": { + "account_number": "2751" + }, + "Cautionnements": { + "account_number": "2755" + } + }, + "276-Autres cr\u00e9ances immobilis\u00e9es": { + "Cr\u00e9ances diverses": { + "account_number": "2761" + }, + "2768-Int\u00e9r\u00eats courus": { + "sur titres immobilis\u00e9s (droit de cr\u00e9ance)": { + "account_number": "27682" + }, + "sur pr\u00eats": { + "account_number": "27684" + }, + "sur d\u00e9p\u00f4ts et cautionnements vers\u00e9s": { + "account_number": "27685" + }, + "sur cr\u00e9ances diverses": { + "account_number": "27688" + } + } + }, + "Actions propres ou parts propres": { + "account_number": "277" + }, + "Versements restant \u00e0 effectuer sur titres immobilis\u00e9s non lib\u00e9r\u00e9s": { + "account_number": "279" + } + }, + "28-Amortissements des immobilisations": { + "account_type": "Accumulated Depreciation", + "280-Amortissements des immobilisations incorporelles": { + "account_type": "Accumulated Depreciation", + "Frais d'\u00e9tablissement": { + "account_type": "Accumulated Depreciation", + "account_number": "2801" + }, + "Frais de recherche et de d\u00e9veloppement": { + "account_type": "Accumulated Depreciation", + "account_number": "2803" + }, + "Concessions et droits similaires, brevets, licences, logiciels, droits et valeurs similaires": { + "account_type": "Accumulated Depreciation", + "account_number": "2805" + }, + "Fonds commercial": { + "account_type": "Accumulated Depreciation", + "account_number": "2807" + }, + "2808-Autres immobilisations incorporelles": { + "account_type": "Accumulated Depreciation", + "Usufruit temporaire": { + "account_type": "Accumulated Depreciation", + "account_number": "28082" + } + } + }, + "281-Amortissements des immobilisations corporelles (hors biens vivants)": { + "account_type": "Accumulated Depreciation", + "Terrains de gisement": { + "account_type": "Accumulated Depreciation", + "account_number": "2811" + }, + "Agencements, am\u00e9nagements de terrains amortissables": { + "account_type": "Accumulated Depreciation", + "account_number": "2812" + }, + "Constructions sur sol propre": { + "account_type": "Accumulated Depreciation", + "account_number": "2813" + }, + "Constructions sur sol d'autrui": { + "account_type": "Accumulated Depreciation", + "account_number": "2814" + }, + "Installations, mat\u00e9riel et outillage": { + "account_type": "Accumulated Depreciation", + "account_number": "2815" + }, + "Autres immobilisations corporelles (hors biens vivants)": { + "account_type": "Accumulated Depreciation", + "account_number": "2818" + } + }, + "Amortissement des immobilisations mises en concession": { + "account_number": "282" + }, + "284-Amortissement des immobilisations corporelles (biens vivants)": { + "Animaux reproducteurs (adultes)": { + "account_number": "2841" + }, + "Animaux de service": { + "account_number": "2843" + }, + "Plantation p\u00e9rennes": { + "account_number": "2846" + }, + "Autres v\u00e9g\u00e9taux immobilis\u00e9s": { + "account_number": "2847" + } + } + }, + "29-D\u00e9pr\u00e9ciations des immobilisations": { + "290-D\u00e9pr\u00e9ciations des immobilisations incorporelles": { + "Marques, proc\u00e9d\u00e9s, droits et valeurs similaires": { + "account_number": "2905" + }, + "Droit au bail": { + "account_number": "2906" + }, + "Fonds rural et commercial": { + "account_number": "2907" + }, + "Autres immobilisations incorporelles": { + "account_number": "2908" + } + }, + "291-D\u00e9pr\u00e9ciations des immobilisations corporelles (hors biens vivants)": { + "Terrains": { + "account_number": "2911" + }, + "Agencements et am\u00e9nagements de terrains": { + "account_number": "2912" + }, + "Constructions sur sol propre": { + "account_number": "2913" + }, + "Constructions sur sol d'autrui": { + "account_number": "2914" + }, + "Installations techniques, mat\u00e9riel et outillage": { + "account_number": "2915" + }, + "Am\u00e9liorations du fonds": { + "account_number": "2917" + }, + "Autres immobilisations corporelles (hors biens vivants)": { + "account_number": "2918" + } + }, + "D\u00e9pr\u00e9ciations des immobilisations mises en concession": { + "account_number": "292" + }, + "293-D\u00e9pr\u00e9ciations des immobilisations en cours": { + "Immobilisations corporelles en cours (hors biens vivants)": { + "account_number": "2931" + }, + "Immobilisations incorporelles en cours": { + "account_number": "2932" + }, + "Immobilisations corporelles en cours (biens vivants)": { + "account_number": "2934" + } + }, + "294-Autres immobilisations corporelles (biens vivants)": { + "Animaux reproducteurs (adultes)": { + "account_number": "2941" + }, + "Animaux reproducteurs (jeunes de renouvellement)": { + "account_number": "2942" + }, + "Animaux de service": { + "account_number": "2943" + }, + "Plantation p\u00e9rennes": { + "account_number": "2946" + }, + "Autres v\u00e9g\u00e9taux immobilis\u00e9s": { + "account_number": "2947" + } + }, + "296-D\u00e9pr\u00e9ciations des participations et cr\u00e9ances rattach\u00e9es \u00e0 des participations": { + "Titres de participation": { + "account_number": "2961" + }, + "Participations \u00e0 des organismes professionnels agricoles": { + "account_number": "2962" + }, + "Autres formes de participation": { + "account_number": "2966" + }, + "Cr\u00e9ances rattach\u00e9es \u00e0 des participations": { + "account_number": "2967" + }, + "Cr\u00e9ances rattach\u00e9es \u00e0 des soci\u00e9t\u00e9s en participation": { + "account_number": "2968" + } + }, + "297-D\u00e9pr\u00e9ciations des autres immobilisations financi\u00e8res": { + "Titres immobilis\u00e9s - droit de propri\u00e9t\u00e9": { + "account_number": "2971" + }, + "Titres immobilis\u00e9s - droit de cr\u00e9ances": { + "account_number": "2972" + }, + "Titres immobilis\u00e9s de l'activit\u00e9 de portefeuille": { + "account_number": "2973" + }, + "Pr\u00eats": { + "account_number": "2974" + }, + "D\u00e9p\u00f4ts et cautionnements vers\u00e9s": { + "account_number": "2975" + }, + "Autres cr\u00e9ances immobilis\u00e9es": { + "account_number": "2976" + } + } + } + }, + "3-Comptes de stocks et en-cours": { + "root_type": "Asset", + "30-Stocks et en-cours": { + "301-Approvisionnements": { + "Engrais et amendements": { + "account_number": "3011" + }, + "Semences et plants": { + "account_number": "3012" + }, + "Produits de d\u00e9fense des v\u00e9g\u00e9taux": { + "account_number": "3013" + }, + "Aliments du b\u00e9tail": { + "account_number": "3014" + }, + "Produits de d\u00e9fense des animaux": { + "account_number": "3015" + }, + "Produits de reproduction animale": { + "account_number": "3016" + }, + "3017-Emballages": { + "Emballages perdus": { + "account_number": "30171" + }, + "Emballages r\u00e9cup\u00e9rables non identifiables": { + "account_number": "30175" + }, + "Emballages \u00e0 usage mixte": { + "account_number": "30177" + } + }, + "Combustibles": { + "account_number": "3018" + } + }, + "302-Autres approvisionnements": { + "Carburants et lubrifiants": { + "account_number": "3021" + }, + "Produits d'entretien": { + "account_number": "3022" + }, + "Fournitures d'atelier et de magasin": { + "account_number": "3023" + }, + "Fournitures de bureau": { + "account_number": "3024" + }, + "Denr\u00e9es et fournitures pour le personnel": { + "account_number": "3025" + }, + "Mat\u00e9riaux divers": { + "account_number": "3026" + }, + "Autres fournitures consommables": { + "account_number": "3027" + }, + "Mati\u00e8res premi\u00e8res": { + "account_number": "3028" + } + }, + "Marchandises": { + "account_number": "307" + } + }, + "31-Animaux (cycle long)": { + "Stocks d'animaux (cycle long)": { + "account_number": "311" + } + }, + "32-Animaux (cycle court)": { + "Stocks d'animaux (cycle court)": { + "account_number": "321" + } + }, + "33-V\u00e9g\u00e9taux en terre (cycle long)": { + "331-Avances aux cultures (cycle long)": { + "Engrais et amendements en terre": { + "account_number": "3311" + }, + "Semences et plants en terre": { + "account_number": "3312" + }, + "Produit de d\u00e9fense des v\u00e9g\u00e9taux en terre": { + "account_number": "3313" + }, + "Autres approvisionnements en terre": { + "account_number": "3314" + }, + "Fa\u00e7ons culturales": { + "account_number": "3315" + }, + "Autres": { + "account_number": "3318" + } + } + }, + "34-V\u00e9g\u00e9taux en terre (cycle court)": { + "341-Avances aux cultures (cycle court)": { + "Engrais et amendements en terre": { + "account_number": "3411" + }, + "Semences et plants en terre": { + "account_number": "3412" + }, + "Produit de d\u00e9fense des v\u00e9g\u00e9taux en terre": { + "account_number": "3413" + }, + "Autres approvisionnements en terre": { + "account_number": "3414" + }, + "Fa\u00e7ons culturales": { + "account_number": "3415" + }, + "Autres": { + "account_number": "3418" + } + }, + "Autres v\u00e9g\u00e9taux en terre (cycle court)": { + "account_number": "348" + } + }, + "35-En-cours de production de biens et services (cycle long)": { + "Biens (cycle long)": { + "account_number": "355" + }, + "Autres biens (cycle long)": { + "account_number": "356" + }, + "Travaux \u00e0 fa\u00e7on (cycle long)": { + "account_number": "357" + }, + "Autres services (cycle long)": { + "account_number": "358" + } + }, + "36-En-cours de production de biens et services (cycle court)": { + "Biens (cycle court) - Produits v\u00e9g\u00e9taux": { + "account_number": "361" + }, + "Biens (cycle court) - Produits animaux": { + "account_number": "362" + }, + "Biens (cycle court) - Vins": { + "account_number": "363" + }, + "Biens (cycle court) - Alcools": { + "account_number": "364" + }, + "Biens (cycle court) - Autres produits transform\u00e9s": { + "account_number": "365" + }, + "Autres biens (activit\u00e9s annexes)": { + "account_number": "366" + }, + "Travaux \u00e0 fa\u00e7on (cycle court)": { + "account_number": "367" + }, + "Autres services (cycle court)": { + "account_number": "368" + } + }, + "37-Stocks de Produits": { + "account_type": "Stock", + "Produits interm\u00e9diaires v\u00e9g\u00e9taux": { + "account_type": "Stock", + "account_number": "371" + }, + "Produits interm\u00e9diaires animaux": { + "account_type": "Stock", + "account_number": "372" + }, + "Produits interm\u00e9diaires transform\u00e9s": { + "account_type": "Stock", + "account_number": "373" + }, + "Produits finis v\u00e9g\u00e9taux": { + "account_type": "Stock", + "account_number": "374" + }, + "Produits finis animaux": { + "account_type": "Stock", + "account_number": "375" + }, + "Produits finis transform\u00e9s": { + "account_type": "Stock", + "account_number": "376" + }, + "Produits r\u00e9siduels": { + "account_type": "Stock", + "account_number": "377" + }, + "Produits (activit\u00e9s annexes)": { + "account_type": "Stock", + "account_number": "378" + } + }, + "Inventaire permanent": { + "account_number": "38" + }, + "39-D\u00e9pr\u00e9ciations des stocks et en-cours": { + "D\u00e9pr\u00e9ciations des approvisionnements et marchandises": { + "account_number": "390" + }, + "D\u00e9pr\u00e9ciations des animaux (cycle long)": { + "account_number": "391" + }, + "D\u00e9pr\u00e9ciations des animaux (cycle court)": { + "account_number": "392" + }, + "D\u00e9pr\u00e9ciations des v\u00e9g\u00e9taux en terre (cycle long)": { + "account_number": "393" + }, + "D\u00e9pr\u00e9ciations des v\u00e9g\u00e9taux en terre (cycle court)": { + "account_number": "394" + }, + "D\u00e9pr\u00e9ciations des en-cours de production de biens et services (cycle long)": { + "account_number": "395" + }, + "D\u00e9pr\u00e9ciations des en-cours de production de biens et services (cycle court)": { + "account_number": "396" + }, + "D\u00e9pr\u00e9ciations des produits": { + "account_number": "397" + } + } + }, + "4-Comptes de tiers (ACTIF)": { + "root_type": "Asset", + "40-Fournisseurs et comptes rattach\u00e9s (ACTIF)": { + "409-Fournisseurs d\u00e9biteurs": { + "Fournisseurs - Avances et acomptes vers\u00e9s sur commandes": { + "account_number": "4091" + }, + "Fournisseurs - Cr\u00e9ances pour emballages et mat\u00e9riel \u00e0 rendre": { + "account_number": "4096" + }, + "4097-Fournisseurs - Autres avoirs": { + "Fournisseurs d'exploitation": { + "account_number": "40971" + }, + "Fournisseurs d'immobilisations": { + "account_number": "40974" + } + }, + "Rabais, remises, ristournes \u00e0 obtenir et autres avoirs non encore re\u00e7us": { + "account_number": "4098" + } + } + }, + "41-Clients et comptes rattach\u00e9s (ACTIF)": { + "account_type": "Receivable", + "411-Clients": { + "account_type": "Receivable", + "Clients - Ventes de biens ou de prestations de services": { + "account_type": "Receivable", + "account_number": "4111" + }, + "Clients - Retenues de garantie": { + "account_type": "Receivable", + "account_number": "4117" + } + }, + "Clients - Effets \u00e0 recevoir": { + "account_type": "Receivable", + "account_number": "413" + }, + "Clients douteux ou litigieux": { + "account_type": "Receivable", + "account_number": "416" + }, + "418-Clients - Produits non encore factur\u00e9s": { + "account_type": "Receivable", + "Clients - Factures \u00e0 \u00e9tablir": { + "account_type": "Receivable", + "account_number": "4181" + }, + "Clients - Int\u00e9r\u00eats courus": { + "account_type": "Receivable", + "account_number": "4188" + } + } + }, + "42-Personnel et comptes rattach\u00e9s (ACTIF)": { + "Personnel - Avances et acomptes": { + "account_number": "425" + } + }, + "43-Mutualit\u00e9 Sociale Agricole et autres organismes sociaux (ACTIF)": { + "Mutualit\u00e9 Sociale Agricole": { + "account_number": "431" + }, + "Autres organismes sociaux": { + "account_number": "437" + }, + "438-Organismes sociaux - Charges \u00e0 payer et produits \u00e0 recevoir": { + "Produits \u00e0 recevoir": { + "account_number": "4387" + } + } + }, + "44-Etat et autres collectivit\u00e9s publiques (ACTIF)": { + "441-Etat - Subventions \u00e0 recevoir": { + "Subventions d'investissement": { + "account_number": "4411" + }, + "Subventions d'exploitation": { + "account_number": "4417" + }, + "Subventions d'\u00e9quilibre": { + "account_number": "4418" + }, + "Avances sur subventions": { + "account_number": "4419" + } + }, + "Op\u00e9rations particuli\u00e8res avec l'Etat, les collectivit\u00e9s publiques, les organismes internationaux": { + "account_number": "443" + }, + "445-Etat - Taxes sur le chiffre d'affaires": { + "TVA due intracommunautaire": { + "account_number": "4452", + "account_type": "Tax", + "tax_rate": -20 + }, + "44551-TVA à décaisser": { + "TVA 20% Déductible": { + "account_number": "445511", + "account_type": "Tax", + "tax_rate": 20 + }, + "TVA 10% Déductible": { + "account_number": "445512", + "account_type": "Tax", + "tax_rate": 10 + }, + "TVA 5.5% Déductible": { + "account_number": "445513", + "account_type": "Tax", + "tax_rate": 5.5 + }, + "TVA 2.1% Déductible": { + "account_number": "445514", + "account_type": "Tax", + "tax_rate": 2.1 + } + }, + "4456-Taxes sur le chiffre d'affaires d\u00e9ductibles": { + "TVA sur immobilisations": { + "account_number": "44562" + }, + "TVA transf\u00e9r\u00e9e par d'autres entreprises": { + "account_number": "44563" + }, + "44566-TVA sur autres biens et services": { + "TVA sur intracommunautaire sur biens et services": { + "account_number": "445662", + "account_type": "Tax", + "tax_rate": 20 + } + }, + "Cr\u00e9dit de TVA \u00e0 reporter": { + "account_number": "44567" + }, + "Taxes assimil\u00e9es \u00e0 la TVA": { + "account_number": "44568" + } + }, + "4458-Taxes sur le chiffre d'affaires \u00e0 r\u00e9gulariser ou en attente": { + "Acomptes - R\u00e9gime simplifi\u00e9 d'imposition": { + "account_number": "44581" + }, + "Acomptes - R\u00e9gime du forfait": { + "account_number": "44582" + }, + "Remboursement de taxes sur le chiffre d'affaires demand\u00e9": { + "account_number": "44583" + }, + "Taxes sur le chiffre d'affaires sur factures non parvenues": { + "account_number": "44586" + } + } + }, + "448-Etat - Charges \u00e0 payer et produits \u00e0 recevoir": { + "Charges fiscales sur cong\u00e9s \u00e0 payer": { + "account_number": "4482" + }, + "Autres charges \u00e0 payer": { + "account_number": "4486" + }, + "Produits \u00e0 recevoir": { + "account_number": "4487" + } + } + }, + "45-Groupe, communaut\u00e9s d'exploitation et associ\u00e9s (ACTIF)": { + "456-Associ\u00e9s - Op\u00e9rations sur le capital": { + "4562-Apporteurs - Capital appel\u00e9, non vers\u00e9": { + "Actionnaires - Capital souscrit et appel\u00e9, non vers\u00e9": { + "account_number": "45621" + }, + "Associ\u00e9s - Capital appel\u00e9, non vers\u00e9": { + "account_number": "45625" + } + } + } + }, + "46-D\u00e9biteurs divers et cr\u00e9diteurs divers (ACTIF)": { + "Cr\u00e9ances sur cessions d'immobilisations": { + "account_number": "462" + }, + "Cr\u00e9ances sur cessions de valeurs mobili\u00e8res de placement": { + "account_number": "465" + }, + "Autres comptes d\u00e9biteurs ou cr\u00e9diteurs": { + "account_number": "467" + }, + "468-Divers - Charges \u00e0 payer et produits \u00e0 recevoir": { + "Produits \u00e0 recevoir": { + "account_number": "4687" + } + } + }, + "47-Comptes transitoires ou d'attente (ACTIF)": { + "471-Comptes d'attente (ACTIF)": { + "account_type": "Temporary" + }, + "476-Diff\u00e9rence de conversion - Actif": { + "Diminution des cr\u00e9ances": { + "account_number": "4761" + }, + "Augmentation des dettes": { + "account_number": "4762" + }, + "Diff\u00e9rences compens\u00e9es par couverture de change": { + "account_number": "4768" + } + }, + "478-Autres comptes transitoires (ACTIF)": {} + }, + "48-Comptes de r\u00e9gularisation (ACTIF)": { + "481-Charges \u00e0 r\u00e9partir sur plusieurs exercices": { + "Frais d'\u00e9mission des emprunts": { + "account_number": "4816" + } + }, + "Charges constat\u00e9es d'avance": { + "account_number": "486" + }, + "488-Comptes de r\u00e9partition p\u00e9riodique des charges et des produits": { + "Charges": { + "account_number": "4886" + } + } + }, + "49-D\u00e9pr\u00e9ciations des comptes de tiers (ACTIF)": { + "495-D\u00e9pr\u00e9ciations des comptes du groupe, des communaut\u00e9s d'exploitation et des associ\u00e9s": { + "Comptes du groupe": { + "account_number": "4951" + }, + "Comptes courants des associ\u00e9s": { + "account_number": "4955" + }, + "Op\u00e9rations faites en commun et en GIE": { + "account_number": "4958" + } + }, + "496-D\u00e9pr\u00e9ciations des comptes de d\u00e9biteurs divers": { + "Cr\u00e9ances sur cessions d'immobilisations": { + "account_number": "4962" + }, + "Cr\u00e9ances sur cessions de valeurs mobili\u00e8res de placement": { + "account_number": "4965" + }, + "Autres comptes d\u00e9biteurs": { + "account_number": "4967" + } + } + } + }, + "4-Comptes de tiers (PASSIF)": { + "root_type": "Liability", + "40-Fournisseurs et comptes rattach\u00e9s (PASSIF)": { + "account_type": "Payable", + "401-Fournisseurs d'exploitation": { + "Fournisseurs - Achats de biens et de prestations de services": { + "account_type": "Payable", + "account_number": "4011" + }, + "Fournisseurs - Retenues de garantie": { + "account_type": "Payable", + "account_number": "4017" + } + }, + "Fournisseurs - Effets \u00e0 payer": { + "account_type": "Payable", + "account_number": "403" + }, + "404-Fournisseurs d'immobilisations": { + "account_type": "Payable", + "Fournisseurs - Achats d'immobilisations": { + "account_type": "Payable", + "account_number": "4041" + }, + "Fournisseurs d'immobilisations - Retenues de garantie": { + "account_type": "Payable", + "account_number": "4047" + } + }, + "Fournisseurs d'immobilisations - Effets \u00e0 payer": { + "account_type": "Payable", + "account_number": "405" + }, + "408-Fournisseurs - Factures non parvenues": { + "account_type": "Stock Received But Not Billed", + "Fournisseurs d'exploitation": { + "account_type": "Stock Received But Not Billed", + "account_number": "4081" + }, + "Fournisseurs d'immobilisations": { + "account_type": "Asset Received But Not Billed", + "account_number": "4084" + }, + "Fournisseurs - Int\u00e9r\u00eats courus": { + "account_type": "Stock Received But Not Billed", + "account_number": "4088" + } + } + }, + "41-Clients et comptes rattach\u00e9s (PASSIF)": { + "419-Clients cr\u00e9diteurs": { + "Clients - Avances et acomptes re\u00e7us sur commandes": { + "account_number": "4191", + "account_type": "Payable" + }, + "Clients - Dettes sur emballages et mat\u00e9riels consign\u00e9s": { + "account_number": "4196" + }, + "Clients - Autres avoirs": { + "account_number": "4197" + }, + "Rabais, remises, ristournes \u00e0 accorder et autres avoirs \u00e0 \u00e9tablir": { + "account_number": "4198" + } + } + }, + "42-Personnel et comptes rattach\u00e9s (PASSIF)": { + "Personnel - R\u00e9mun\u00e9rations dues": { + "account_number": "421" + }, + "Comit\u00e9s d'entreprises, d'\u00e9tablissement": { + "account_number": "422" + }, + "424-Participation des salari\u00e9s aux r\u00e9sultats": { + "R\u00e9serve sp\u00e9ciale (art. L. 442-2 du Code du travail)": { + "account_number": "4246" + }, + "Comptes courants": { + "account_number": "4248" + } + }, + "Personnel - D\u00e9p\u00f4ts": { + "account_number": "426" + }, + "Personnel - Oppositions": { + "account_number": "427" + }, + "428-Personnel - Charges \u00e0 payer et produits \u00e0 recevoir": { + "Dettes provisionn\u00e9es pour cong\u00e9s \u00e0 payer": { + "account_number": "4282" + }, + "Dettes provisionn\u00e9es pour participation des salari\u00e9s aux r\u00e9sultats": { + "account_number": "4284" + }, + "Autres charges \u00e0 payer": { + "account_number": "4286" + }, + "Produits \u00e0 recevoir": { + "account_number": "4287" + } + } + }, + "43-Mutualit\u00e9 Sociale Agricole et autres organismes sociaux (PASSIF)": { + "438-Organismes sociaux - Charges \u00e0 payer et produits \u00e0 recevoir": { + "Charges sociales sur cong\u00e9s \u00e0 payer": { + "account_number": "4382" + }, + "Autres charges \u00e0 payer": { + "account_number": "4386" + } + } + }, + "44-Etat et autres collectivit\u00e9s publiques (PASSIF)": { + "442-Etat - Imp\u00f4ts et taxes recouvrables sur des tiers": { + "Obligataires": { + "account_number": "4424" + }, + "Associ\u00e9s": { + "account_number": "4425" + } + }, + "Etat - Imp\u00f4ts sur les b\u00e9n\u00e9fices": { + "account_number": "444" + }, + "445-Etat - Taxes sur le chiffre d'affaires": { + "4455-Taxes sur le chiffre d'affaires \u00e0 d\u00e9caisser": { + "TVA \u00e0 d\u00e9caisser": { + "account_number": "44551" + }, + "Taxes assimil\u00e9es \u00e0 la TVA": { + "account_number": "44558" + } + }, + "4457-Taxes sur le chiffre d'affaires collect\u00e9es par l'entreprise": { + "44571-TVA collect\u00e9e": { + "account_type": "Tax", + "TVA 20% Collectée": { + "account_type": "Tax", + "account_number": "4457101", + "tax_rate": 20 + }, + "TVA 10% Collectée": { + "account_type": "Tax", + "account_number": "4457102", + "tax_rate": 10 + }, + "TVA 5.5% Collectée": { + "account_type": "Tax", + "account_number": "4457103", + "tax_rate": 5.5 + }, + "TVA 2.1% Collectée": { + "account_type": "Tax", + "account_number": "4457104", + "tax_rate": 2.1 + } + }, + "Taxes assimil\u00e9es \u00e0 la TVA": { + "account_number": "44578" + } + }, + "4458-Taxes sur le chiffre d'affaires \u00e0 r\u00e9gulariser ou en attente": { + "TVA r\u00e9cup\u00e9r\u00e9e d'avance": { + "account_number": "44584" + }, + "Taxes sur le chiffre d'affaires sur factures \u00e0 \u00e9tablir": { + "account_number": "44587" + } + } + }, + "Obligations cautionn\u00e9es": { + "account_number": "446" + }, + "Autres imp\u00f4ts, taxes et versements assimil\u00e9s": { + "account_number": "447" + } + }, + "45-Groupe, communaut\u00e9s d'exploitation et associ\u00e9s (PASSIF)": { + "Groupe": { + "account_number": "451" + }, + "455-Associ\u00e9s - Comptes courants": { + "Associ\u00e9s - Comptes courants (principal)": { + "account_number": "4551" + }, + "Associ\u00e9s - Comptes courants (int\u00e9r\u00eats courus)": { + "account_number": "4558" + } + }, + "456-Associ\u00e9s - Op\u00e9rations sur le capital": { + "4561-Associ\u00e9s - Comptes d'apport en soci\u00e9t\u00e9": { + "Apports en nature": { + "account_number": "45611" + }, + "Apports en num\u00e9raire": { + "account_number": "45615" + } + }, + "Associ\u00e9s - Versements re\u00e7us sur augmentation de capital": { + "account_number": "4563" + }, + "Associ\u00e9s - Versements anticip\u00e9s": { + "account_number": "4564" + }, + "Associ\u00e9s d\u00e9faillants": { + "account_number": "4566" + }, + "Associ\u00e9s - Capital \u00e0 rembourser": { + "account_number": "4567" + } + }, + "Associ\u00e9s - Dividendes \u00e0 payer": { + "account_number": "457" + }, + "458-Associ\u00e9s - Op\u00e9rations faites en commun et en GIE": { + "Op\u00e9rations courantes": { + "account_number": "4581" + }, + "Int\u00e9r\u00eats courus": { + "account_number": "4588" + } + } + }, + "46-D\u00e9biteurs divers et cr\u00e9diteurs divers (PASSIF)": { + "Dettes sur acquisitions de valeurs mobili\u00e8res de placement": { + "account_number": "464" + }, + "467-Autres comptes d\u00e9biteurs ou cr\u00e9diteurs": { + "Autres comptes d\u00e9biteurs": { + "account_number": "4671" + }, + "Autres comptes cr\u00e9diteurs": { + "account_number": "4672" + } + }, + "468-Divers - Charges \u00e0 payer et produits \u00e0 recevoir": { + "Charges \u00e0 payer": { + "account_number": "4686" + } + } + }, + "47-Comptes transitoires ou d'attente (PASSIF)": { + "471-Comptes d'attente (PASSIF)": { + "account_type": "Temporary" + }, + "477-Diff\u00e9rences de conversion - Passif": { + "Augmentation des cr\u00e9ances": { + "account_number": "4771" + }, + "Diminution des dettes": { + "account_number": "4772" + }, + "Diff\u00e9rences compens\u00e9es par couverture de change": { + "account_number": "4778" + } + }, + "478-Autres comptes transitoires (PASSIF)": {} + }, + "48-Comptes de r\u00e9gularisation (PASSIF)": { + "Produits constat\u00e9s d'avance": { + "account_number": "487" + }, + "488-Comptes de r\u00e9partition p\u00e9riodique des charges et des produits": { + "Produits": { + "account_number": "4887" + } + } + }, + "D\u00e9pr\u00e9ciations des comptes de tiers (PASSIF)": { + "account_number": "49" + } + }, + "5-Comptes financiers": { + "root_type": "Asset", + "50-Valeurs mobili\u00e8res de placement": { + "Parts dans des entreprises li\u00e9es": { + "account_number": "501" + }, + "Actions propres": { + "account_number": "502" + }, + "503-Actions": { + "Titres cot\u00e9s": { + "account_number": "5031" + }, + "Titres non cot\u00e9s": { + "account_number": "5035" + } + }, + "Autres titres conf\u00e9rant un droit de propri\u00e9t\u00e9": { + "account_number": "504" + }, + "Obligations et bons \u00e9mis par la soci\u00e9t\u00e9 et rachet\u00e9s par elle": { + "account_number": "505" + }, + "506-Obligations": { + "Titres cot\u00e9s": { + "account_number": "5061" + }, + "Titres non cot\u00e9s": { + "account_number": "5065" + } + }, + "Bons du Tr\u00e9sor et bons de caisse \u00e0 court terme": { + "account_number": "507" + }, + "508-Autres valeurs mobili\u00e8res de placement et autres cr\u00e9ances assimil\u00e9es": { + "Autres valeurs mobili\u00e8res": { + "account_number": "5081" + }, + "Bons de souscription": { + "account_number": "5082" + }, + "Int\u00e9r\u00eats courus sur obligations, bons et valeurs assimil\u00e9s": { + "account_number": "5088" + } + }, + "Versements restant \u00e0 effectuer sur valeurs mobili\u00e8res de placement non lib\u00e9r\u00e9es": { + "account_number": "509" + } + }, + "51-Banques, \u00e9tablissements financiers et assimil\u00e9s": { + "511-Valeurs \u00e0 l'encaissement": { + "Coupons \u00e9chus \u00e0 l'encaissement": { + "account_number": "5111" + }, + "Ch\u00e8ques \u00e0 encaisser": { + "account_number": "5112" + }, + "Effets \u00e0 l'encaissement": { + "account_number": "5113" + }, + "Effets \u00e0 l'escompte": { + "account_number": "5114" + } + }, + "Banques": { + "account_type": "Bank", + "account_number": "512" + }, + "Ch\u00e8ques postaux": { + "account_number": "514" + }, + "Caisses du Tr\u00e9sor et des \u00e9tablissements publics": { + "account_number": "515" + }, + "Soci\u00e9t\u00e9s de Bourse": { + "account_number": "516" + }, + "Autres organismes financiers": { + "account_number": "517" + }, + "518-Int\u00e9r\u00eats courus": { + "Int\u00e9r\u00eats courus \u00e0 payer": { + "account_number": "5181" + }, + "Int\u00e9r\u00eats courus \u00e0 recevoir": { + "account_number": "5188" + } + }, + "519-Concours bancaires courants": { + "Cr\u00e9dit bancaires de campagne": { + "account_number": "5191" + }, + "Mobilisation de cr\u00e9ances n\u00e9es \u00e0 l'\u00e9tranger": { + "account_number": "5193" + }, + "Cr\u00e9dits de mobilisation de cr\u00e9ances": { + "account_number": "5197" + }, + "Int\u00e9r\u00eats courus sur concours bancaires courants": { + "account_number": "5198" + } + } + }, + "Instruments de tr\u00e9sorerie": { + "account_number": "52" + }, + "Caisse": { + "account_type": "Cash", + "account_number": "53" + }, + "R\u00e9gies d'avance et accr\u00e9ditifs": { + "account_number": "54" + }, + "Virements internes": { + "account_number": "58" + }, + "59-D\u00e9pr\u00e9ciations des comptes financiers": { + "590-D\u00e9pr\u00e9ciations des valeurs mobili\u00e8res de placement": { + "Actions": { + "account_number": "5903" + }, + "Autres titres conf\u00e9rant un droit de propri\u00e9t\u00e9": { + "account_number": "5904" + }, + "Obligations": { + "account_number": "5906" + }, + "Autres valeurs mobili\u00e8res de placement et cr\u00e9ances assimil\u00e9es": { + "account_number": "5908" + } + } + } + }, + "6-Comptes de charges": { + "root_type": "Expense", + "60-Achats (sauf 603)": { + "601-Achats stock\u00e9s - approvisionnements": { + "account_type": "Cost of Goods Sold", + "Engrais et amendements": { + "account_number": "6011" + }, + "Semences et plants": { + "account_number": "6012" + }, + "Produits de d\u00e9fense des v\u00e9g\u00e9taux": { + "account_number": "6013" + }, + "Aliments du b\u00e9tail": { + "account_number": "6014" + }, + "Produits de d\u00e9fense des animaux": { + "account_number": "6015" + }, + "Produits de reproduction animale": { + "account_number": "6016" + }, + "6017-Emballages": { + "account_type": "Cost of Goods Sold", + "Emballages perdus": { + "account_type": "Cost of Goods Sold", + "account_number": "60171" + }, + "Emballages r\u00e9cup\u00e9rables non identifiables": { + "account_type": "Cost of Goods Sold", + "account_number": "60172" + }, + "Emballages \u00e0 usage mixte": { + "account_type": "Cost of Goods Sold", + "account_number": "60173" + } + }, + "Combustibles": { + "account_number": "6018" + } + }, + "602-Achats stock\u00e9s - Autres approvisionnements": { + "Carburants et lubrifiants": { + "account_type": "Cost of Goods Sold", + "account_number": "6021" + }, + "Produits d'entretien": { + "account_type": "Cost of Goods Sold", + "account_number": "6022" + }, + "Fournitures d'atelier et de magasin": { + "account_type": "Cost of Goods Sold", + "account_number": "6023" + }, + "Fournitures de bureau": { + "account_type": "Cost of Goods Sold", + "account_number": "6024" + }, + "Denr\u00e9es et fournitures pour le personnel": { + "account_type": "Cost of Goods Sold", + "account_number": "6025" + }, + "Mat\u00e9riaux divers": { + "account_type": "Cost of Goods Sold", + "account_number": "6026" + }, + "Autres fournitures consommables": { + "account_type": "Cost of Goods Sold", + "account_number": "6027" + }, + "Mati\u00e8res premi\u00e8res": { + "account_type": "Cost of Goods Sold", + "account_number": "6028" + } + }, + "603-Variations des stocks (approvisionnements et marchandises)": { + "account_type": "Stock Adjustment", + "Variation des stocks d'approvisionnements": { + "account_type": "Stock Adjustment", + "account_number": "6031" + }, + "Variation des stocks d'autres approvisionnements": { + "account_type": "Stock Adjustment", + "account_number": "6032" + }, + "Variation des stocks de marchandises": { + "account_type": "Stock Adjustment", + "account_number": "6037" + } + }, + "604-Achats d'animaux": { + "Animaux reproducteurs (adultes)": { + "account_number": "6041" + }, + "Animaux reproducteurs (jeunes de renouvellement)": { + "account_number": "6042" + }, + "Autres animaux": { + "account_number": "6045" + } + }, + "605-Achats de travaux et services incorpor\u00e9s aux produits": { + "Achats de travaux et services incorpor\u00e9s pour productions v\u00e9g\u00e9tales": { + "account_number": "6051" + }, + "Achats de travaux et services incorpor\u00e9s pour productions animales": { + "account_number": "6054" + }, + "Autres achats de travaux et services": { + "account_number": "6058" + } + }, + "606-Achats non stock\u00e9s et fournitures": { + "account_type": "Cost of Goods Sold", + "Eau": { + "account_type": "Cost of Goods Sold", + "account_number": "6061" + }, + "Gaz": { + "account_type": "Cost of Goods Sold", + "account_number": "6062" + }, + "Electricit\u00e9s": { + "account_type": "Cost of Goods Sold", + "account_number": "6063" + }, + "Carburants et lubrifiants": { + "account_type": "Cost of Goods Sold", + "account_number": "6064" + }, + "Eau d'irrigation": { + "account_type": "Cost of Goods Sold", + "account_number": "6065" + }, + "Fournitures d'entretien et de petit \u00e9quipement": { + "account_type": "Cost of Goods Sold", + "account_number": "6066" + }, + "Fournitures pour productions immobilis\u00e9es": { + "account_type": "Cost of Goods Sold", + "account_number": "6067" + }, + "Autres fournitures non stock\u00e9s": { + "account_type": "Cost of Goods Sold", + "account_number": "6068" + } + }, + "607-Achats de marchandises": { + "account_type": "Cost of Goods Sold", + "Marchandises": { + "account_type": "Cost of Goods Sold", + "account_number": "6071" + }, + "Éco-contribution": { + "account_type": "Expense Account", + "account_number": "6079" + } + }, + "Frais accessoires sur achats": { + "account_number": "608" + }, + "609-Rabais, remises et ristournes obtenus sur achats": { + "RRR sur achats d'autres approvisionnements": { + "account_number": "6091" + }, + "RRR sur achats d'approvisionnements": { + "account_number": "6092" + }, + "RRR sur achats d'animaux": { + "account_number": "6094" + }, + "RRR sur achats de travaux et services incorpor\u00e9s aux produits": { + "account_number": "6095" + }, + "RRR sur achats de fournitures non stock\u00e9s": { + "account_number": "6096" + }, + "RRR sur achats de marchandises": { + "account_number": "6097" + }, + "Rabais, remises et ristournes non affect\u00e9s": { + "account_number": "6098" + } + } + }, + "61-Services ext\u00e9rieurs": { + "Sous-traitance g\u00e9n\u00e9rale": { + "account_number": "611" + }, + "612-Redevances de cr\u00e9dit-bail": { + "Redevances de cr\u00e9dit-bail mobilier": { + "account_number": "6122" + }, + "Redevances de cr\u00e9dit-bail immobilier": { + "account_number": "6125" + } + }, + "613-Locations": { + "Fermages et loyers du foncier": { + "account_number": "6131" + }, + "Locations de mat\u00e9riel": { + "account_number": "6132" + }, + "Locations d'animaux": { + "account_number": "6134" + }, + "Malis sur emballages": { + "account_number": "6136" + }, + "Autres locations": { + "account_number": "6138" + } + }, + "614-Charges locatives et de copropri\u00e9t\u00e9": { + "Charges locatives du foncier": { + "account_number": "6141" + }, + "Charges locatives du mat\u00e9riel": { + "account_number": "6142" + }, + "Charges locatives des animaux": { + "account_number": "6144" + }, + "Autres charges locatives et de copropri\u00e9t\u00e9": { + "account_number": "6148" + } + }, + "615-Entretien et r\u00e9parations": { + "Terrains": { + "account_number": "6151" + }, + "Agencements et am\u00e9nagements de terrains": { + "account_number": "6152" + }, + "Constructions (sur sol propre)": { + "account_number": "6153" + }, + "Constructions (sur sol d'autrui)": { + "account_number": "6154" + }, + "Installations techniques, mat\u00e9riel et outillage": { + "account_number": "6155" + }, + "Plantations p\u00e9rennes": { + "account_number": "6156" + }, + "Autres v\u00e9g\u00e9taux immobilis\u00e9s": { + "account_number": "6157" + }, + "Autres immobilisations corporelles (hors biens vivants)": { + "account_number": "6158" + } + }, + "616-Primes d'assurances": { + "Multirisques": { + "account_number": "6161" + }, + "Assurance obligatoire dommage construction": { + "account_number": "6162" + }, + "Assurance - transport (sur achats)": { + "account_number": "6163" + }, + "Assurance - transport (sur ventes)": { + "account_number": "6164" + }, + "Assurance - transport (sur autres biens)": { + "account_number": "6165" + }, + "Risques d'exploitation": { + "account_number": "6166" + }, + "Insolvabilit\u00e9 clients": { + "account_number": "6167" + }, + "Autres": { + "account_number": "6168" + } + }, + "Etudes et recherches": { + "account_number": "617" + }, + "618-Divers": { + "Documentation g\u00e9n\u00e9rale": { + "account_number": "6181" + }, + "Documentation technique": { + "account_number": "6183" + }, + "Frais de colloques, s\u00e9minaires, conf\u00e9rences": { + "account_number": "6185" + } + }, + "Rabais, remises et ristournes obtenus sur services ext\u00e9rieurs": { + "account_number": "619" + } + }, + "62-Autres services ext\u00e9rieurs": { + "621-Personnel ext\u00e9rieur \u00e0 l'entreprise": { + "Personnel int\u00e9rimaire": { + "account_number": "6211" + }, + "Personnel d\u00e9tach\u00e9 ou pr\u00eat\u00e9 \u00e0 l'entreprise": { + "account_number": "6214" + } + }, + "622-R\u00e9mun\u00e9rations d'interm\u00e9diaires et honoraires": { + "Commissions et courtages sur achats": { + "account_number": "6221" + }, + "Commissions et courtages sur ventes": { + "account_number": "6222" + }, + "R\u00e9mun\u00e9rations des transitaires": { + "account_number": "6223" + }, + "R\u00e9mun\u00e9rations d'affacturage": { + "account_number": "6224" + }, + "Honoraires v\u00e9t\u00e9rinaires": { + "account_number": "6225" + }, + "Autres honoraires": { + "account_number": "6226" + }, + "Frais d'actes et de contentieux": { + "account_number": "6227" + }, + "Divers": { + "account_number": "6228" + } + }, + "623-Publicit\u00e9, publications, relations publiques": { + "Annonces et insertions": { + "account_number": "6231" + }, + "Echantillons": { + "account_number": "6232" + }, + "Emplacements foires et expositions": { + "account_number": "6233" + }, + "Cadeaux \u00e0 la client\u00e8le": { + "account_number": "6234" + }, + "Primes": { + "account_number": "6235" + }, + "Catalogues et imprim\u00e9s": { + "account_number": "6236" + }, + "Publications": { + "account_number": "6237" + }, + "Divers (pourboire, dons courants, etc)": { + "account_number": "6238" + } + }, + "624-Transports de biens et transports collectifs du personnel": { + "Transports sur achats": { + "account_number": "6241", + "account_type": "Chargeable" + }, + "Transports sur ventes": { + "account_type": "Chargeable", + "account_number": "6242" + }, + "Transports entre \u00e9tablissements ou chantiers": { + "account_number": "6243" + }, + "Transports administratifs": { + "account_number": "6244" + }, + "Transports collectifs du personnel": { + "account_number": "6247" + }, + "Autres transports": { + "account_number": "6248" + } + }, + "625-D\u00e9placements, missions et r\u00e9ceptions": { + "Voyages et d\u00e9placements": { + "account_number": "6251" + }, + "Frais de d\u00e9m\u00e9nagement": { + "account_number": "6255" + }, + "Missions": { + "account_number": "6256" + }, + "R\u00e9ceptions": { + "account_number": "6257" + } + }, + "Frais postaux et de t\u00e9l\u00e9communications": { + "account_number": "626" + }, + "627-Services bancaires et assimil\u00e9s": { + "Frais sur titres (achat, vente, garde)": { + "account_number": "6271" + }, + "Commissions et frais sur \u00e9mission d'emprunts": { + "account_number": "6272" + }, + "Frais sur effets (commissions d'endos\u2026)": { + "account_number": "6275" + }, + "Location de coffres": { + "account_number": "6276" + }, + "Autres frais et commissions sur prestations de services": { + "account_number": "6278" + } + }, + "628-Divers": { + "Cotisations professionnelles (productions animales)": { + "account_number": "6281" + }, + "Cotisations professionnelles (productions v\u00e9g\u00e9tales)": { + "account_number": "6284" + }, + "Autres cotisations professionnelles": { + "account_number": "6286" + }, + "Frais de recrutement de personnel": { + "account_number": "6287" + }, + "Autres services ext\u00e9rieurs divers": { + "account_number": "6288" + } + }, + "Rabais, remises et ristournes obtenus sur autres services ext\u00e9rieurs": { + "account_number": "629" + } + }, + "63-Imp\u00f4ts, taxes et versements assimil\u00e9s": { + "631-Imp\u00f4ts, taxes et versements assimil\u00e9s sur r\u00e9mun\u00e9rations (administrations des imp\u00f4ts)": { + "Taxe sur les salaires": { + "account_number": "6311" + }, + "Taxe d'apprentissage": { + "account_number": "6312" + }, + "Participation des employeurs \u00e0 la formation professionnelle continue": { + "account_number": "6313" + }, + "Cotisation pour d\u00e9faut d'investissement obligatoire dans la construction": { + "account_number": "6314" + }, + "Autres": { + "account_number": "6318" + } + }, + "633-Imp\u00f4ts, taxes et versements assimil\u00e9s sur r\u00e9mun\u00e9rations (autres organismes)": { + "Versement de transport": { + "account_number": "6331" + }, + "Allocations logement": { + "account_number": "6332" + }, + "Participation des employeurs \u00e0 la formation professionnelle continue": { + "account_number": "6333" + }, + "Participation des employeurs \u00e0 l'effort de construction": { + "account_number": "6334" + }, + "Versements lib\u00e9ratoires ouvrant droit \u00e0 l'exon\u00e9ration de la taxe d'apprentissage": { + "account_number": "6335" + }, + "Autres": { + "account_number": "6338" + } + }, + "634-Taxes sp\u00e9cifiques sur les produits de l'exploitation": { + "Taxes sp\u00e9cifiques sur les produits v\u00e9g\u00e9taux": { + "account_number": "6341" + }, + "Taxes sp\u00e9cifiques sur les produits animaux": { + "account_number": "6342" + }, + "Taxes sp\u00e9cifiques sur les produits transform\u00e9s": { + "account_number": "6343" + }, + "Taxes sp\u00e9cifiques sur les animaux": { + "account_number": "6344" + }, + "P\u00e9nalit\u00e9s sur productions": { + "account_number": "6345" + }, + "Taxes sp\u00e9cifiques sur autres produits": { + "account_number": "6348" + } + }, + "635-Autres imp\u00f4ts, taxes et versements assimil\u00e9s (administrations des imp\u00f4ts)": { + "Taxe professionnelle": { + "account_number": "6351" + }, + "Taxes fonci\u00e8res": { + "account_number": "6352" + }, + "Autres imp\u00f4ts locaux": { + "account_number": "6353" + }, + "Autres imp\u00f4ts directs (sauf imp\u00f4ts sur les soci\u00e9t\u00e9s)": { + "account_number": "6354" + }, + "Taxe sur le chiffre d'affaires non r\u00e9cup\u00e9rables": { + "account_number": "6355" + }, + "Imp\u00f4ts indirects": { + "account_number": "6356" + }, + "Droits d'enregistrement et de timbre": { + "account_number": "6357" + }, + "Autres droits": { + "account_number": "6358" + } + }, + "637-Autres imp\u00f4ts, taxes et versements assimil\u00e9s (autres organismes)": { + "Contribution sociale de solidarit\u00e9 \u00e0 la charge des soci\u00e9t\u00e9s": { + "account_number": "6371" + }, + "Taxes per\u00e7ues par les organismes publics internationaux": { + "account_number": "6372" + }, + "Imp\u00f4ts et taxes exigibles \u00e0 l'\u00e9tranger": { + "account_number": "6374" + }, + "Taxes diverses": { + "account_number": "6378" + } + } + }, + "64-Charges de personnel": { + "641-R\u00e9mun\u00e9rations du personnel": { + "6411-Salaires (personnel salari\u00e9)": { + "Personnel permanent ou r\u00e9gulier": { + "account_number": "64111" + }, + "Personnel temporaire ou occasionnel": { + "account_number": "64115" + } + }, + "R\u00e9mun\u00e9rations (associ\u00e9s d'exploitation)": { + "account_number": "6412" + }, + "R\u00e9mun\u00e9rations (administrateurs, g\u00e9rants, associ\u00e9s)": { + "account_number": "6413" + }, + "Cong\u00e9s pay\u00e9s": { + "account_number": "6415" + }, + "Primes et gratifications": { + "account_number": "6416" + }, + "Indemnit\u00e9s et avantages en esp\u00e8ces divers": { + "account_number": "6417" + }, + "Avantages en nature": { + "account_number": "6418" + } + }, + "R\u00e9mun\u00e9ration du travail de l'exploitant": { + "account_number": "644" + }, + "645-Charges de s\u00e9curit\u00e9 sociale et de pr\u00e9voyance": { + "Cotisations \u00e0 la Mutualit\u00e9 Sociale Agricole": { + "account_number": "6451" + }, + "Cotisations aux mutuelles": { + "account_number": "6452" + }, + "Cotisations aux caisses de retraites": { + "account_number": "6453" + }, + "Cotisations aux caisses de ch\u00f4mages": { + "account_number": "6454" + }, + "Cotisations aux autres organismes sociaux": { + "account_number": "6458" + } + }, + "Cotisations sociales personnelles de l'exploitant": { + "account_number": "646" + }, + "647-Autres charges sociales": { + "Versements aux comit\u00e9s d'entreprise et d'\u00e9tablissement": { + "account_number": "6472" + }, + "Versements aux autres \u0153uvres sociales": { + "account_number": "6474" + }, + "M\u00e9decine du travail, pharmacie": { + "account_number": "6475" + }, + "Autres charges sociales diverses": { + "account_number": "6478" + } + }, + "Autres charges de personnel": { + "account_number": "648" + } + }, + "65-Autres charges de gestion courante": { + "Redevances pour concessions, brevets, licences, marques, proc\u00e9d\u00e9s, logiciels, droits et valeurs similaires": { + "account_number": "651" + }, + "Jetons de pr\u00e9sence": { + "account_number": "653" + }, + "654-Pertes sur cr\u00e9ances irr\u00e9couvrables": { + "Cr\u00e9ances de l'exercice": { + "account_number": "6541" + }, + "Cr\u00e9ances des exercices ant\u00e9rieurs": { + "account_number": "6544" + } + }, + "655-Quotes-parts de r\u00e9sultat sur op\u00e9rations faites en commun": { + "Quote-part de b\u00e9n\u00e9fice transf\u00e9r\u00e9e (comptabilit\u00e9 du g\u00e9rant)": { + "account_number": "6551" + }, + "Quote-part de perte support\u00e9e (comptabilit\u00e9 des associ\u00e9s non g\u00e9rants)": { + "account_number": "6555" + } + }, + "656-Valeurs comptables des \u00e9l\u00e9ments d'actif c\u00e9d\u00e9s (cessions courantes)": { + "Animaux reproducteurs adultes": { + "account_number": "6561" + }, + "Animaux reproducteurs (jeunes de renouvellement)": { + "account_number": "6562" + } + }, + "Charges diverses de gestion courante": { + "account_number": "658" + } + }, + "66-Charges financi\u00e8res": { + "661-Charges d'int\u00e9r\u00eats": { + "Int\u00e9r\u00eats des emprunts fonciers": { + "account_number": "6611" + }, + "Int\u00e9r\u00eats des autres emprunts \u00e0 moyen et long terme": { + "account_number": "6612" + }, + "Int\u00e9r\u00eats des emprunts \u00e0 court terme": { + "account_number": "6613" + }, + "Int\u00e9r\u00eats des cr\u00e9dits bancaires de campagne": { + "account_number": "6614" + }, + "Int\u00e9r\u00eats des dettes rattach\u00e9es \u00e0 des participations \u00e0 des organismes professionnels agricoles": { + "account_number": "6615" + }, + "Int\u00e9r\u00eats des dettes rattach\u00e9es \u00e0 d'autres participations": { + "account_number": "6616" + }, + "Int\u00e9r\u00eats du cr\u00e9dit fournisseur": { + "account_number": "6617" + }, + "6618-Autres charges d'int\u00e9r\u00eat": { + "Autres int\u00e9r\u00eats bancaires": { + "account_number": "66181" + }, + "Int\u00e9r\u00eats des comptes courants et d\u00e9p\u00f4ts cr\u00e9diteurs": { + "account_number": "66182" + }, + "Int\u00e9r\u00eats des obligations cautionn\u00e9es": { + "account_number": "66183" + }, + "Int\u00e9r\u00eats des autres dettes": { + "account_number": "66188" + } + } + }, + "Pertes sur cr\u00e9ances li\u00e9es \u00e0 des participations": { + "account_number": "664" + }, + "Escomptes accord\u00e9s": { + "account_number": "665" + }, + "Pertes de change": { + "account_type": "Round Off", + "account_number": "666" + }, + "Charges nettes sur cessions de valeurs mobili\u00e8res de placement": { + "account_number": "667" + }, + "Autres charges financi\u00e8res": { + "account_number": "668" + } + }, + "67-Charges exceptionnelles": { + "671-Charges exceptionnelles sur op\u00e9rations de gestion": { + "P\u00e9nalit\u00e9s sur march\u00e9s (et d\u00e9dits pay\u00e9s sur achats et ventes)": { + "account_number": "6711" + }, + "P\u00e9nalit\u00e9s, amendes fiscales et p\u00e9nales": { + "account_number": "6712" + }, + "Dons, lib\u00e9ralit\u00e9s": { + "account_number": "6713" + }, + "Cr\u00e9ances devenues irr\u00e9couvrables dans l'exercice": { + "account_number": "6714" + }, + "Subventions accord\u00e9es": { + "account_number": "6715" + }, + "Rappel d'imp\u00f4ts (autres qu'imp\u00f4ts sur les b\u00e9n\u00e9fices)": { + "account_number": "6717" + }, + "Autres charges exceptionnelles sur op\u00e9rations de gestion": { + "account_number": "6718" + } + }, + "Charges sur exercices ant\u00e9rieurs": { + "account_number": "672" + }, + "673-Charges exeptionnelles relatives aux p\u00e9nalit\u00e9s statutaires": { + "Indemnit\u00e9s compensatrices": { + "account_number": "6731" + }, + "P\u00e9nalit\u00e9s subies en tant qu'associ\u00e9 d\u00e9faillant": { + "account_number": "6733" + }, + "Frais de poursuite": { + "account_number": "6735" + } + }, + "675-Valeurs comptables des \u00e9l\u00e9ments d'actif c\u00e9d\u00e9s": { + "Immobilisations incorporelles": { + "account_number": "6751" + }, + "Immobilisations corporelles (hors biens vivants)": { + "account_number": "6752" + }, + "Immobilisations corporelles (biens vivants)": { + "account_number": "6754" + }, + "Immobilisations financi\u00e8res": { + "account_number": "6756" + } + }, + "678-Autres charges exceptionnelles": { + "Malis provenant de clauses d'indexation": { + "account_number": "6781" + }, + "Lots": { + "account_number": "6782" + }, + "Malis provenant du rachat par l'entreprise d'actions et obligations \u00e9mises par elle-m\u00eame": { + "account_number": "6783" + }, + "Charges exceptionnelles diverses": { + "account_number": "6788" + } + } + }, + "68-Dotations aux amortissements, aux d\u00e9pr\u00e9ciations et aux provisions": { + "account_type": "Depreciation", + "681-Dotations aux amortissements, aux d\u00e9pr\u00e9ciations et aux provisions - Charges d'exploitation": { + "account_type": "Depreciation", + "6811-Dotations aux amortissements sur immobilisations incorporelles et corporelles": { + "account_type": "Depreciation", + "Immobilisations incorporelles": { + "account_type": "Depreciation", + "account_number": "68111" + }, + "Immobilisations corporelles (hors biens vivants)": { + "account_type": "Depreciation", + "account_number": "68112" + }, + "Immobilisations corporelles (biens vivants)": { + "account_type": "Depreciation", + "account_number": "68114" + } + }, + "Dotations aux amortissements des charges d'exploitation \u00e0 r\u00e9partir": { + "account_type": "Depreciation", + "account_number": "6812" + }, + "Dotations aux provisions d'exploitation": { + "account_type": "Depreciation", + "account_number": "6815" + }, + "6816-Dotations pour d\u00e9pr\u00e9ciations des immobilisations incorporelles et corporelles": { + "account_type": "Depreciation", + "Immobilisations incorporelles": { + "account_type": "Depreciation", + "account_number": "68161" + }, + "Immobilisations corporelles (hors biens vivants)": { + "account_type": "Depreciation", + "account_number": "68162" + }, + "Immobilisations corporelles (biens vivants)": { + "account_type": "Depreciation", + "account_number": "68164" + } + }, + "6817-Dotations pour d\u00e9pr\u00e9ciations des actifs circulants": { + "account_type": "Depreciation", + "Stocks et en-cours": { + "account_type": "Depreciation", + "account_number": "68173" + }, + "Cr\u00e9ances": { + "account_type": "Depreciation", + "account_number": "68174" + } + } + }, + "686-Dotations aux amortissements, aux d\u00e9pr\u00e9ciations et aux provisions - Charges financi\u00e8res": { + "account_type": "Depreciation", + "Dotations aux amortissements des primes de remboursement des obligations": { + "account_type": "Depreciation", + "account_number": "6861" + }, + "Dotations aux provisions financi\u00e8res": { + "account_type": "Depreciation", + "account_number": "6865" + }, + "6866-Dotations pour d\u00e9pr\u00e9ciations des \u00e9l\u00e9ments financiers": { + "account_type": "Depreciation", + "Immobilisations financi\u00e8res": { + "account_type": "Depreciation", + "account_number": "68662" + }, + "Valeurs mobili\u00e8res de placement": { + "account_type": "Depreciation", + "account_number": "68665" + } + }, + "Autres dotations": { + "account_type": "Depreciation", + "account_number": "6868" + } + }, + "687-Dotations aux amortissements, aux d\u00e9pr\u00e9ciations et aux provisions - Charges exceptionnelles": { + "account_type": "Depreciation", + "Dotations aux amortissements exceptionnels des immobilisations": { + "account_type": "Depreciation", + "account_number": "6871" + }, + "Dotations aux provisions r\u00e9glement\u00e9es (immobilisations)": { + "account_type": "Depreciation", + "Amortissements d\u00e9rogatoires": { + "account_type": "Depreciation", + "account_number": "68725" + } + }, + "Dotations aux provisions r\u00e9glement\u00e9es (stocks)": { + "account_type": "Depreciation", + "account_number": "6873" + }, + "Dotations aux autres provisions r\u00e9glement\u00e9es": { + "account_type": "Depreciation", + "account_number": "6874" + }, + "Dotations aux provisions exceptionnelles": { + "account_type": "Depreciation", + "account_number": "6875" + }, + "Dotations pour d\u00e9pr\u00e9ciations exceptionnelles": { + "account_type": "Depreciation", + "account_number": "6876" + } + } + }, + "69-Participation des salari\u00e9s - Imp\u00f4ts sur les b\u00e9n\u00e9fices et assimil\u00e9s": { + "Participation des salari\u00e9s aux r\u00e9sultats": { + "account_number": "691" + }, + "695-Imp\u00f4ts sur les b\u00e9n\u00e9fices": { + "Imp\u00f4ts dus en France": { + "account_number": "6951" + }, + "Imp\u00f4ts dus \u00e0 l'\u00e9tranger": { + "account_number": "6954" + } + }, + "Imposition forfaitaire annuelle des soci\u00e9t\u00e9s": { + "account_number": "697" + }, + "698-Int\u00e9gration fiscale": { + "Int\u00e9gration fiscale - Charges": { + "account_number": "6981" + }, + "Int\u00e9gration fiscale - Produits": { + "account_number": "6982" + } + }, + "Produits - Reports en arri\u00e8re des d\u00e9ficits": { + "account_number": "699" + } + } + }, + "7-Comptes de produits": { + "root_type": "Income", + "70-Ventes": { + "Ventes de produits v\u00e9g\u00e9taux": { + "account_number": "701" + }, + "Ventes de produits animaux": { + "account_number": "702" + }, + "Ventes de produits transform\u00e9s": { + "account_number": "703" + }, + "704-Ventes d'animaux": { + "Animaux reproducteurs (adultes)": { + "account_number": "7041" + }, + "Animaux reproducteurs (jeunes de renouvellement)": { + "account_number": "7042" + }, + "Autres animaux": { + "account_number": "7045" + } + }, + "Ventes de produits r\u00e9siduels": { + "account_number": "705" + }, + "Travaux \u00e0 fa\u00e7on": { + "account_number": "706" + }, + "707-Ventes de marchandises": { + "Marchandises": { + "account_number": "7071" + }, + "Éco-participation": { + "account_type": "Income Account", + "account_number": "7079" + } + }, + "708-Produits des activit\u00e9s annexes": { + "Produits des services exploit\u00e9s dans l'int\u00e9r\u00eat du personnel": { + "account_number": "7081" + }, + "Commissions et courtages": { + "account_number": "7082" + }, + "Locations diverses": { + "account_number": "7083" + }, + "Prestations de services \u00e0 caract\u00e8re accessoire": { + "account_number": "7084" + }, + "Ports et frais accessoires factur\u00e9s": { + "account_number": "7085" + }, + "Bonis sur reprises d'emballages consign\u00e9s": { + "account_number": "7086" + }, + "Bonifications obtenues des clients et primes sur ventes": { + "account_number": "7087" + }, + "Autres produits d'activit\u00e9s annexes": { + "account_number": "7088" + } + }, + "709-Rabais, remises et ristournes accord\u00e9s par l'entreprise": { + "RRR sur ventes de produits v\u00e9g\u00e9taux": { + "account_number": "7091" + }, + "RRR sur ventes de produits animaux": { + "account_number": "7092" + }, + "RRR sur ventes de produits transform\u00e9s": { + "account_number": "7093" + }, + "RRR sur ventes d'animaux": { + "account_number": "7094" + }, + "RRR sur ventes de produits r\u00e9siduels": { + "account_number": "7095" + }, + "RRR sur travaux \u00e0 fa\u00e7on": { + "account_number": "7096" + }, + "RRR sur ventes de marchandises": { + "account_number": "7097" + }, + "RRR sur produits des activit\u00e9s annexes": { + "account_number": "7098" + } + } + }, + "71-Variation d'inventaire (biens vivants, en-cours de production de biens et services, produits)": { + "712-Variation d'inventaire : animaux reproducteurs immobilis\u00e9s": { + "Animaux reproducteurs (adultes)": { + "account_number": "7121" + }, + "Animaux reproducteurs (jeunes de renouvellement)": { + "account_number": "7122" + } + }, + "713-Variation d'inventaire : biens vivants non immobilis\u00e9s, en-cours de production de biens et services, produits": { + "Animaux (cycle long)": { + "account_number": "7131" + }, + "Animaux (cycle court)": { + "account_number": "7132" + }, + "V\u00e9g\u00e9taux en terre (cycle long)": { + "account_number": "7133" + }, + "V\u00e9g\u00e9taux en terre (cycle court)": { + "account_number": "7134" + }, + "En-cours de production de biens et services (cycle long)": { + "account_number": "7135" + }, + "En-cours de production de biens et services (cycle court)": { + "account_number": "7136" + }, + "Produits": { + "account_number": "7137" + } + } + }, + "72-Production immobilis\u00e9e et autoconsomm\u00e9e": { + "Production immobilis\u00e9e - Immobilisations incorporelles": { + "account_number": "721" + }, + "Production immobilis\u00e9e - Immobilisations corporelles (hors biens vivants)": { + "account_number": "722" + }, + "Production immobilis\u00e9e - Immobilisations corporelles (biens vivants)": { + "account_number": "724" + }, + "Production autoconsomm\u00e9e": { + "account_number": "726" + } + }, + "74-Indemnit\u00e9s et Subventions d'exploitation": { + "Remboursement forfaitaire de TVA": { + "account_number": "741" + }, + "Indemnit\u00e9s d'assurance (exploitation)": { + "account_number": "742" + }, + "Indemnit\u00e9s du Fond national de garantie des calamit\u00e9s agricoles": { + "account_number": "743" + }, + "Autres indemnit\u00e9s d'exploitation": { + "account_number": "744" + }, + "745-Subventions d'exploitation": { + "Subventions aux produits v\u00e9g\u00e9taux": { + "account_number": "7451" + }, + "Subventions aux structures (et jach\u00e8res)": { + "account_number": "7452" + }, + "Subventions au revenu": { + "account_number": "7453" + }, + "Subventions aux animaux": { + "account_number": "7454" + }, + "Autres subventions d'exploitation": { + "account_number": "7458" + } + } + }, + "75-Autres produits de gestion courante": { + "Redevances pour concessions, brevets, licences, marques, proc\u00e9d\u00e9s, logiciels, droits et valeurs similaires": { + "account_number": "751" + }, + "Revenus des immeubles non affect\u00e9s \u00e0 des activit\u00e9s professionnelles": { + "account_number": "752" + }, + "Jetons de pr\u00e9sence, r\u00e9mun\u00e9rations et indemnit\u00e9s d'administrateurs, etc": { + "account_number": "753" + }, + "Ristournes per\u00e7ues des coop\u00e9ratives agricoles (provenant des exc\u00e9dents)": { + "account_number": "754" + }, + "755-Quote-parts de r\u00e9sultat sur op\u00e9rations faites en commun": { + "Quote-part de perte transf\u00e9r\u00e9e (comptabilit\u00e9 du g\u00e9rant)": { + "account_number": "7551" + }, + "Quote-part de b\u00e9n\u00e9fice attribu\u00e9e (comptabilit\u00e9 des associ\u00e9s non - g\u00e9rants)": { + "account_number": "7555" + } + }, + "756-Produits des cessions courantes d'\u00e9l\u00e9ments d'actif": { + "Animaux reproducteurs adultes": { + "account_number": "7561" + }, + "Animaux reproducteurs (jeunes de renouvellement)": { + "account_number": "7562" + } + }, + "Produits divers de gestion courante": { + "account_number": "758" + } + }, + "76-Produits financiers": { + "761-Produits de participations": { + "Revenus des titres de participation": { + "account_number": "7611" + }, + "Revenus des participations \u00e0 des organismes professionnels agricoles": { + "account_number": "7612" + }, + "Revenus sur autres formes de participation": { + "account_number": "7616" + }, + "Revenus des cr\u00e9ances rattach\u00e9es \u00e0 des participations": { + "account_number": "7617" + } + }, + "762-Produits des autres immobilisations financi\u00e8res": { + "Revenus des titres immobilis\u00e9s": { + "account_number": "7621" + }, + "Revenus des pr\u00eats": { + "account_number": "7626" + }, + "Revenus des cr\u00e9ances immobilis\u00e9es": { + "account_number": "7627" + } + }, + "763-Revenus des autres cr\u00e9ances": { + "Revenus des cr\u00e9ances commerciales": { + "account_number": "7631" + }, + "Revenus des cr\u00e9ances diverses": { + "account_number": "7638" + } + }, + "Revenus des valeurs mobili\u00e8res de placement": { + "account_number": "764" + }, + "Escomptes obtenus": { + "account_number": "765" + }, + "Gains de change": { + "account_type": "Round Off", + "account_number": "766" + }, + "Produits nets sur cessions de valeurs mobili\u00e8res de placement": { + "account_number": "767" + }, + "Autres produits financiers": { + "account_number": "768" + } + }, + "77-Produits exceptionnels": { + "771-Produits exceptionnels sur op\u00e9rations de gestion": { + "D\u00e9dits et p\u00e9nalit\u00e9s per\u00e7us sur achats et sur ventes": { + "account_number": "7711" + }, + "Lib\u00e9ralit\u00e9s re\u00e7ues": { + "account_number": "7713" + }, + "Rentr\u00e9es sur cr\u00e9ances amorties": { + "account_number": "7714" + }, + "Subventions d'\u00e9quilibre": { + "account_number": "7715" + }, + "D\u00e9gr\u00e8vements d'imp\u00f4ts (autres qu'imp\u00f4ts sur les b\u00e9n\u00e9fices)": { + "account_number": "7717" + }, + "Autres produits exceptionnels sur op\u00e9rations de gestion": { + "account_number": "7718" + } + }, + "Produits sur exercices ant\u00e9rieurs": { + "account_number": "772" + }, + "775-Produits des cessions d'\u00e9l\u00e9ments d'actif": { + "Immobilisations incorporelles": { + "account_number": "7751" + }, + "Immobilisations corporelles (hors biens vivants)": { + "account_number": "7752" + }, + "Immobilisations corporelles (biens vivants)": { + "account_number": "7754" + }, + "Immobilisations financi\u00e8res": { + "account_number": "7756" + } + }, + "Quote-part des subventions d'investissement vir\u00e9e au r\u00e9sultat de l'exercice": { + "account_number": "777" + }, + "778-Autres produits exceptionnels": { + "Bonis provenant de clauses d'indexation": { + "account_number": "7781" + }, + "Lots": { + "account_number": "7782" + }, + "Bonis provenant du rachat par l'entreprise de titres \u00e9mis par elle - m\u00eame": { + "account_number": "7783" + }, + "Produits exceptionnels divers": { + "account_number": "7788" + } + } + }, + "78-Reprises sur amortissements, d\u00e9pr\u00e9ciations et provisions": { + "781-Reprises sur amortissements, d\u00e9pr\u00e9ciations et provisions (\u00e0 inscrire dans les produits d'exploitation)": { + "7811-Reprises sur amortissements des immobilisations incorporelles et corporelles": { + "Immobilisations incorporelles": { + "account_number": "78111" + }, + "Immobilisations corporelles (hors biens vivants)": { + "account_number": "78112" + }, + "Immobilisations corporelles (biens vivants)": { + "account_number": "78114" + } + }, + "Reprises sur provisions d'exploitation": { + "account_number": "7815" + }, + "7816-Reprises sur d\u00e9pr\u00e9ciations des immobilisations incorporelles et corporelles": { + "Immobilisations incorporelles": { + "account_number": "78161" + }, + "Immobilisations corporelles (hors biens vivants)": { + "account_number": "78162" + }, + "Immobilisations corporelles (biens vivants)": { + "account_number": "78164" + } + }, + "7817-Reprises sur d\u00e9pr\u00e9ciations des actifs circulants": { + "Stocks et en-cours": { + "account_number": "78173" + }, + "Cr\u00e9ances": { + "account_number": "78174" + } + } + }, + "786-Reprises sur d\u00e9pr\u00e9ciations et sur provisions (\u00e0 inscrire dans les produits financiers)": { + "Reprises sur provisions financi\u00e8res": { + "account_number": "7865" + }, + "7866-Reprises sur d\u00e9pr\u00e9ciations des \u00e9l\u00e9ments financiers": { + "Immobilisations financi\u00e8res": { + "account_number": "78662" + }, + "Valeurs mobili\u00e8res de placements": { + "account_number": "78665" + } + } + }, + "787-Reprises sur d\u00e9pr\u00e9ciations et sur provisions (\u00e0 inscrire dans les produits exceptionnels)": { + "7872-Reprises sur provisions r\u00e9glement\u00e9es (immobilisations)": { + "Amortissements d\u00e9rogatoires": { + "account_number": "78725" + }, + "Provision sp\u00e9ciale de r\u00e9\u00e9valuation": { + "account_number": "78726" + }, + "Plus-values r\u00e9investies": { + "account_number": "78727" + } + }, + "Reprises sur provisions r\u00e9glement\u00e9es (stocks)": { + "account_number": "7873" + }, + "Reprises sur autres provisions r\u00e9glement\u00e9es": { + "account_number": "7874" + }, + "Reprises sur provisions exceptionnelles": { + "account_number": "7875" + }, + "Reprises sur d\u00e9pr\u00e9ciations exceptionnelles": { + "account_number": "7876" + } + } + }, + "79-Transferts de charges": { + "Transferts de charges d'exploitation": { + "account_number": "791" + }, + "Transferts de charges financi\u00e8res": { + "account_number": "796" + }, + "Transferts de charges exceptionnelles": { + "account_number": "797" + } + } + } + } +} \ No newline at end of file From ad4ac4e53c0a1fe95003d28d0cd5d83f5967cd7d Mon Sep 17 00:00:00 2001 From: Florian HENRY Date: Thu, 8 Jan 2026 13:47:40 +0100 Subject: [PATCH 49/68] chore: Review PR #51595 (cherry picked from commit 6bdaeb983dbb5fec62e2ce08668a069308e13361) --- .../verified/fr_plan2025_comptable_general_avec_code.json | 3 ++- .../verified/fr_plan2025_comptable_general_ex_agricole.json | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/erpnext/accounts/doctype/account/chart_of_accounts/verified/fr_plan2025_comptable_general_avec_code.json b/erpnext/accounts/doctype/account/chart_of_accounts/verified/fr_plan2025_comptable_general_avec_code.json index 9f57df9ebbb..61ffcf796b7 100644 --- a/erpnext/accounts/doctype/account/chart_of_accounts/verified/fr_plan2025_comptable_general_avec_code.json +++ b/erpnext/accounts/doctype/account/chart_of_accounts/verified/fr_plan2025_comptable_general_avec_code.json @@ -1,5 +1,5 @@ { - "county_code": "fr", + "country_code": "fr", "name": "France - Plan Comptable General 2025 avec code", "tree": { "1-Comptes de capitaux": { @@ -613,6 +613,7 @@ } }, "Amortissements des immobilisations mises en concession": { + "account_type": "Accumulated Depreciation", "account_number": "282" } }, diff --git a/erpnext/accounts/doctype/account/chart_of_accounts/verified/fr_plan2025_comptable_general_ex_agricole.json b/erpnext/accounts/doctype/account/chart_of_accounts/verified/fr_plan2025_comptable_general_ex_agricole.json index 8f0f52ccc1a..d18ea5284a4 100644 --- a/erpnext/accounts/doctype/account/chart_of_accounts/verified/fr_plan2025_comptable_general_ex_agricole.json +++ b/erpnext/accounts/doctype/account/chart_of_accounts/verified/fr_plan2025_comptable_general_ex_agricole.json @@ -1,6 +1,6 @@ { - "county_code": "fr", + "country_code": "fr", "name": "France - Plan Comptable General Agricole 2025 avec code", "tree": { "1-Comptes de capitaux": { @@ -934,6 +934,7 @@ } }, "Amortissement des immobilisations mises en concession": { + "account_type": "Accumulated Depreciation", "account_number": "282" }, "284-Amortissement des immobilisations corporelles (biens vivants)": { From 3bdaab149b4e88f371693f3e5f3b84ec11afaced Mon Sep 17 00:00:00 2001 From: Florian HENRY Date: Thu, 8 Jan 2026 13:49:16 +0100 Subject: [PATCH 50/68] feat: remove old French chart of accounts with code as nex 2025 is provided (cherry picked from commit bf430fce09e5f8145ae8d1a8ca724d99e49baa7b) --- .../fr_plan_comptable_general_avec_code.json | 3145 ----------------- 1 file changed, 3145 deletions(-) delete mode 100644 erpnext/accounts/doctype/account/chart_of_accounts/verified/fr_plan_comptable_general_avec_code.json diff --git a/erpnext/accounts/doctype/account/chart_of_accounts/verified/fr_plan_comptable_general_avec_code.json b/erpnext/accounts/doctype/account/chart_of_accounts/verified/fr_plan_comptable_general_avec_code.json deleted file mode 100644 index d599ea65ea6..00000000000 --- a/erpnext/accounts/doctype/account/chart_of_accounts/verified/fr_plan_comptable_general_avec_code.json +++ /dev/null @@ -1,3145 +0,0 @@ -{ - "country_code": "fr", - "name": "France - Plan Comptable General avec code", - "tree": { - "Comptes de Capitaux": { - "root_type": "Equity", - "Capital et R\u00e9serves": { - "Capital": { - "Capital souscrit - non appel\u00e9": { - "account_number": "1011" - }, - "Capital souscrit - appel\u00e9, non vers\u00e9": { - "account_number": "1012" - }, - "Capital souscrit - appel\u00e9, vers\u00e9": { - "Capital non amorti": { - "account_number": "10131" - }, - "Capital amorti": { - "account_number": "10132" - }, - "account_number": "1013" - }, - "Capital souscrit soumis \u00e0 des r\u00e9glementations particuli\u00e8res": { - "account_number": "1018" - }, - "account_number": "101" - }, - "Fonds fiduciaires": { - "account_number": "102" - }, - "Primes li\u00e9es au capital social": { - "Primes d'\u00e9mission": { - "account_number": "1041" - }, - "Primes de fusion": { - "account_number": "1042" - }, - "Primes d'apport": { - "account_number": "1043" - }, - "Primes de conversion d'obligations en actions": { - "account_number": "1044" - }, - "Bons de souscription d'actions": { - "account_number": "1045" - }, - "account_number": "104" - }, - "Ecarts de r\u00e9\u00e9valuation": { - "R\u00e9serve sp\u00e9ciale de r\u00e9\u00e9valuation": { - "account_number": "1051" - }, - "Ecart de r\u00e9\u00e9valuation libre": { - "account_number": "1052" - }, - "R\u00e9serve de r\u00e9\u00e9valuation": { - "account_number": "1053" - }, - "Ecarts de r\u00e9\u00e9valuation (autres op\u00e9rations l\u00e9gales)": { - "account_number": "1055" - }, - "Autres \u00e9carts de r\u00e9\u00e9valuation en France": { - "account_number": "1057" - }, - "Autres \u00e9carts de r\u00e9\u00e9valuation \u00e0 l'\u00e9tranger": { - "account_number": "1058" - }, - "account_number": "105" - }, - "R\u00e9serves": { - "R\u00e9serve l\u00e9gale": { - "R\u00e9serve l\u00e9gale proprement dite": { - "account_number": "10611" - }, - "Plus-values nettes \u00e0 long terme": { - "account_number": "10612" - }, - "account_number": "1061" - }, - "R\u00e9serves indisponibles": { - "account_number": "1062" - }, - "R\u00e9serves statutaires ou contractuelles": { - "account_number": "1063" - }, - "R\u00e9serves r\u00e9glement\u00e9es": { - "Plus-values nettes \u00e0 long terme": { - "account_number": "10641" - }, - "R\u00e9serves cons\u00e9cutives \u00e0 l'octroi de subventions d'investissement": { - "account_number": "10643" - }, - "Autres r\u00e9serves r\u00e9glement\u00e9es": { - "account_number": "10648" - }, - "account_number": "1064" - }, - "Autres r\u00e9serves": { - "R\u00e9serve de propre assureur": { - "account_number": "10681" - }, - "R\u00e9serves diverses": { - "account_number": "10688" - }, - "account_number": "1068" - }, - "account_number": "106" - }, - "Ecarts d'\u00e9quivalence": { - "account_number": "107" - }, - "Compte de l'exploitant": { - "account_number": "108" - }, - "Actionnaires: Capital souscrit - non appel\u00e9": { - "account_number": "109" - }, - "account_number": "10" - }, - "Report \u00e0 Nouveau": { - "Report \u00e0 nouveau (solde cr\u00e9diteur)": { - "account_number": "110" - }, - "Report \u00e0 nouveau (solde d\u00e9biteur)": { - "account_number": "119" - }, - "account_number": "11" - }, - "R\u00e9sultat de l'Exercice": { - "R\u00e9sultat de l'exercice (b\u00e9n\u00e9fice)": { - "account_number": "120" - }, - "R\u00e9sultat de l'exercice (perte)": { - "account_number": "129" - }, - "account_number": "12" - }, - "Subventions d'Investissement": { - "Subventions d'\u00e9quipement": { - "Etat": { - "account_number": "1311" - }, - "R\u00e9gions": { - "account_number": "1312" - }, - "D\u00e9partements": { - "account_number": "1313" - }, - "Communes": { - "account_number": "1314" - }, - "Collectivit\u00e9s publiques": { - "account_number": "1315" - }, - "Entreprises publiques": { - "account_number": "1316" - }, - "Entreprises et organismes priv\u00e9s": { - "account_number": "1317" - }, - "Autres": { - "account_number": "1318" - }, - "account_number": "131" - }, - "Autres subventions d'investissement (m\u00eame ventilation que celle du compte 131)": { - "account_number": "138" - }, - "Subventions d'investissement inscrites au compte de r\u00e9sultat": { - "Subventions d'\u00e9quipement": { - "Etat": { - "account_number": "13911" - }, - "R\u00e9gions": { - "account_number": "13912" - }, - "D\u00e9partements": { - "account_number": "13913" - }, - "Communes": { - "account_number": "13914" - }, - "Collectivit\u00e9s publiques": { - "account_number": "13915" - }, - "Entreprises publiques": { - "account_number": "13916" - }, - "Entreprises et organismes priv\u00e9s": { - "account_number": "13917" - }, - "Autres": { - "account_number": "13918" - }, - "account_number": "1391" - }, - "Autres subventions d'investissement (m\u00eame ventilation que celle du compte 1391)": { - "account_number": "1398" - }, - "account_number": "139" - }, - "account_number": "13" - }, - "Provisions R\u00e9glement\u00e9es": { - "Provisions r\u00e9glement\u00e9es relative aux immobilisations": { - "Provisions pour reconstitution des gisements miniers et p\u00e9troliers": { - "account_number": "1423" - }, - "Provisions pour investissement (participation des salari\u00e9s)": { - "account_number": "1424" - }, - "account_number": "142" - }, - "Provisions r\u00e9glement\u00e9es relatives aux stocks": { - "Hausse des prix": { - "account_number": "1431" - }, - "Fluctuation des cours": { - "account_number": "1432" - }, - "account_number": "143" - }, - "Provisions r\u00e9glement\u00e9es relatives aux autres \u00e9l\u00e9ments de l'actif": { - "account_number": "144" - }, - "Amortissements d\u00e9rogatoires": { - "account_number": "145" - }, - "Provision sp\u00e9ciale de r\u00e9\u00e9valuation": { - "account_number": "146" - }, - "Plus-values r\u00e9investies": { - "account_number": "147" - }, - "Autres provisions r\u00e9glement\u00e9es": { - "account_number": "148" - }, - "account_number": "14" - }, - "Provisions": { - "Provisions pour risques": { - "Provisions pour litiges": { - "account_number": "1511" - }, - "Provisions pour garanties donn\u00e9es aux clients": { - "account_number": "1512" - }, - "Provisions pour pertes sur march\u00e9s \u00e0 terme": { - "account_number": "1513" - }, - "Provisions pour amendes et p\u00e9nalit\u00e9s": { - "account_number": "1514" - }, - "Provisions pour pertes de change": { - "account_number": "1515" - }, - "Provisions pour pertes sur contrats": { - "account_number": "1516" - }, - "Autres provisions pour risques": { - "account_number": "1518" - }, - "account_number": "151" - }, - "Provisions pour pensions et obligations similaires": { - "account_number": "153" - }, - "Provisions pour restructurations": { - "account_number": "154" - }, - "Provisions pour imp\u00f4ts": { - "account_number": "155" - }, - "Provisions pour renouvellement des immobilisations (entreprises concessionnaires) ": { - "account_number": "156" - }, - "Provisions pour charges \u00e0 r\u00e9partir sur plusieurs exercices": { - "Provisions pour gros entretien ou grandes r\u00e9visions": { - "account_number": "1572" - }, - "account_number": "157" - }, - "Autres provisions pour charges": { - "Provisions pour remises en \u00e9tat": { - "account_number": "1581" - }, - "account_number": "158" - }, - "account_number": "15" - }, - "Emprunts et Dettes Assimil\u00e9es": { - "Emprunts obligataires convertibles": { - "account_number": "161" - }, - "Obligations repr\u00e9sentatives de passifs nets remis en fiducie": { - "account_number": "162" - }, - "Autres emprunts obligataires": { - "account_number": "163" - }, - "Emprunts aupr\u00e8s des \u00e9tablissements de cr\u00e9dit": { - "account_number": "164" - }, - "D\u00e9p\u00f4ts et cautionnements re\u00e7us": { - "D\u00e9p\u00f4ts": { - "account_number": "1651" - }, - "Cautionnements": { - "account_number": "1655" - }, - "account_number": "165" - }, - "Participation des salari\u00e9s aux r\u00e9sultats": { - "Comptes bloqu\u00e9s": { - "account_number": "1661" - }, - "Fonds de participation": { - "account_number": "1662" - }, - "account_number": "166" - }, - "Emprunts et dettes assortis de conditions particuli\u00e8res": { - "Emissions de titres participatifs": { - "account_number": "1671" - }, - "Avances conditionn\u00e9es de l'Etat": { - "account_number": "1674" - }, - "Emprunts participatifs": { - "account_number": "1675" - }, - "account_number": "167" - }, - "Autres emprunts et dettes assimil\u00e9es": { - "Autres emprunts": { - "account_number": "1681" - }, - "Rentes viag\u00e8res capitalis\u00e9es": { - "account_number": "1685" - }, - "Autres dettes": { - "account_number": "1687" - }, - "Int\u00e9r\u00eats courus": { - "Int\u00e9r\u00eats courus sur emprunts obligataires convertibles": { - "account_number": "16881" - }, - "Int\u00e9r\u00eats courus sur autres emprunts obligataires": { - "account_number": "16883" - }, - "Int\u00e9r\u00eats courus sur emprunts aupr\u00e8s des \u00e9tablissements de cr\u00e9dit": { - "account_number": "16884" - }, - "Int\u00e9r\u00eats courus sur d\u00e9p\u00f4ts et cautionnements re\u00e7us": { - "account_number": "16885" - }, - "Int\u00e9r\u00eats courus sur participation des salari\u00e9s aux r\u00e9sultats": { - "account_number": "16886" - }, - "Int\u00e9r\u00eats courus sur emprunts et dettes assortis de conditions particuli\u00e8res": { - "account_number": "16887" - }, - "Int\u00e9r\u00eats courus sur autres emprunts et dettes assimil\u00e9es": { - "account_number": "16888" - }, - "account_number": "1688" - }, - "Primes de remboursement des obligations": { - "account_number": "169" - }, - "account_number": "168" - }, - "account_number": "16" - }, - "Dettes Rattach\u00e9es \u00e0 des Participations": { - "Dettes rattach\u00e9es \u00e0 des participations (groupe)": { - "account_number": "171" - }, - "Dettes rattach\u00e9es \u00e0 des participations (hors groupe)": { - "account_number": "174" - }, - "Dettes rattach\u00e9es \u00e0 des soci\u00e9t\u00e9s en participation": { - "Principal": { - "account_number": "1781" - }, - "Int\u00e9r\u00eats courus": { - "account_number": "1788" - }, - "account_number": "178" - }, - "account_number": "17" - }, - "Comptes de liaison des \u00e9tablisssements et soci\u00e9t\u00e9s en participation": { - "Comptes de liaison des \u00e9tablissements": { - "account_number": "181" - }, - "Biens et prestations de services \u00e9chang\u00e9s entre \u00e9tablissements (charges)": { - "account_number": "186" - }, - "Biens et prestations de services \u00e9chang\u00e9s entre \u00e9tablissements (produits)": { - "account_number": "187" - }, - "Comptes de liaison des soci\u00e9t\u00e9s en participation": { - "account_number": "188" - }, - "account_number": "18" - }, - "account_number": "1" - }, - "Comptes d'Immobilisations": { - "root_type": "Asset", - "Immobilisations incorporelles": { - "Frais \u00e9tablissement": { - "Frais de constitution": { - "account_number": "2011" - }, - "Frais de premier \u00e9tablissement": { - "Frais de prospection": { - "account_number": "20121" - }, - "Frais de publicit\u00e9": { - "account_number": "20122" - }, - "account_number": "2012" - }, - "Frais d'augmentation de capital et d'op\u00e9rations diverses (fusions, scissions, transformations)": { - "account_number": "2013" - }, - "account_number": "201" - }, - "Frais de recherche et de d\u00e9veloppement": { - "account_number": "203" - }, - "Concessions et droits similaires, brevets, licences, marques, proc\u00e9d\u00e9s, logiciels, droits et valeurs similaires": { - "account_number": "205" - }, - "Droit au bail": { - "account_number": "206" - }, - "Fonds commercial": { - "account_number": "207" - }, - "Autres immobilisations incorporelles": { - "Mali de fusion sur actifs incorporels": { - "account_number": "2081" - }, - "account_number": "208" - }, - "account_number": "20" - }, - "Immobilisations corporelles": { - "account_type": "Fixed Asset", - "Terrains": { - "account_type": "Fixed Asset", - "Terrains nus": { - "account_type": "Fixed Asset", - "account_number": "2111" - }, - "Terrains am\u00e9nag\u00e9s": { - "account_type": "Fixed Asset", - "account_number": "2112" - }, - "Sous-sols et sur-sols": { - "account_type": "Fixed Asset", - "account_number": "2113" - }, - "Terrains de carri\u00e8res (tr\u00e9fonds)": { - "account_type": "Fixed Asset", - "account_number": "2114" - }, - "Terrains b\u00e2tis": { - "account_type": "Fixed Asset", - "Ensembles immobiliers industriels (A, B)": { - "account_type": "Fixed Asset", - "account_number": "21151" - }, - "Ensembles immobiliers administratifs et commerciaux (A, B)": { - "account_type": "Fixed Asset", - "account_number": "21155" - }, - "Autres ensembles immobiliers": { - "account_type": "Fixed Asset", - "Autres ensembles immobiliers affect\u00e9s aux op\u00e9rations professionnelles (A, B)": { - "account_type": "Fixed Asset", - "account_number": "211581" - }, - "Autres ensembles immobiliers affect\u00e9s aux op\u00e9rations non professionnelles (A, B)": { - "account_type": "Fixed Asset", - "account_number": "211588" - }, - "account_number": "21158" - }, - "account_number": "2115" - }, - "account_number": "211" - }, - "Agencements et am\u00e9nagements de terrains (m\u00eame ventilation que celle du compte 211)": { - "account_type": "Fixed Asset", - "account_number": "212" - }, - "Constructions": { - "account_type": "Fixed Asset", - "B\u00e2timents": { - "account_type": "Fixed Asset", - "Ensembles immobiliers industriels (A, B)": { - "account_type": "Fixed Asset", - "account_number": "21311" - }, - "Ensembles immobiliers administratifs et commerciaux (A, B)": { - "account_type": "Fixed Asset", - "account_number": "21315" - }, - "Autres ensembles immobiliers": { - "account_type": "Fixed Asset", - "Autres ensembles immobiliers affect\u00e9s aux op\u00e9rations professionnelles (A, B)": { - "account_type": "Fixed Asset", - "account_number": "213181" - }, - "Autres ensembles immobiliers affect\u00e9s aux op\u00e9rations non professionnelles (A, B)": { - "account_type": "Fixed Asset", - "account_number": "213188" - }, - "account_number": "21318" - }, - "account_number": "2131" - }, - "Installations g\u00e9n\u00e9rales, agencements, am\u00e9nagements des constructions": { - "account_type": "Fixed Asset", - "Ensembles immobiliers industriels (A, B)": { - "account_type": "Fixed Asset", - "account_number": "21351" - }, - "Ensembles immobiliers administratifs et commerciaux (A, B)": { - "account_type": "Fixed Asset", - "account_number": "21355" - }, - "Autres ensembles immobiliers": { - "account_type": "Fixed Asset", - "Autres ensembles immobiliers affect\u00e9s aux op\u00e9rations professionnelles (A, B)": { - "account_type": "Fixed Asset", - "account_number": "213581" - }, - "Autres ensembles immobiliers affect\u00e9s aux op\u00e9rations non professionnelles (A, B)": { - "account_type": "Fixed Asset", - "account_number": "213588" - }, - "account_number": "21358" - }, - "account_number": "2135" - }, - "Ouvrages d'infrastructure": { - "account_type": "Fixed Asset", - "Voies de terre": { - "account_type": "Fixed Asset", - "account_number": "21381" - }, - "Voies de fer": { - "account_type": "Fixed Asset", - "account_number": "21382" - }, - "Voies d'eau": { - "account_type": "Fixed Asset", - "account_number": "21383" - }, - "Barrages": { - "account_type": "Fixed Asset", - "account_number": "21384" - }, - "Pistes d'a\u00e9rodromes": { - "account_type": "Fixed Asset", - "account_number": "21385" - }, - "account_number": "2138" - }, - "account_number": "213" - }, - "Constructions sur sol d'autrui (m\u00eame ventilation que celle du compte 213)": { - "account_type": "Fixed Asset", - "account_number": "214" - }, - "Installations techniques, mat\u00e9riel et outillage industriels": { - "account_type": "Fixed Asset", - "Installations complexes sp\u00e9cialis\u00e9es": { - "account_type": "Fixed Asset", - "Installations complexes sp\u00e9cialis\u00e9es - sur sol propre": { - "account_type": "Fixed Asset", - "account_number": "21511" - }, - "Installations complexes sp\u00e9cialis\u00e9es - sur sol d'autrui": { - "account_type": "Fixed Asset", - "account_number": "21514" - }, - "account_number": "2151" - }, - "Installations \u00e0 caract\u00e8re sp\u00e9cifique": { - "account_type": "Fixed Asset", - "Installations \u00e0 caract\u00e8re sp\u00e9cifique - sur sol propre": { - "account_type": "Fixed Asset", - "account_number": "21531" - }, - "Installations \u00e0 caract\u00e8re sp\u00e9cifique - sur sol d'autrui": { - "account_type": "Fixed Asset", - "account_number": "21534" - }, - "account_number": "2153" - }, - "Mat\u00e9riel industriel": { - "account_type": "Fixed Asset", - "account_number": "2154" - }, - "Outillage industriel": { - "account_type": "Fixed Asset", - "account_number": "2155" - }, - "Agencements et am\u00e9nagements du mat\u00e9riel et outillage industriel": { - "account_type": "Fixed Asset", - "account_number": "2157" - }, - "account_number": "215" - }, - "Autres immobilisations corporelles": { - "account_type": "Fixed Asset", - "Installations g\u00e9n\u00e9rales, agencements, am\u00e9nagements divers": { - "account_type": "Fixed Asset", - "account_number": "2181" - }, - "Mat\u00e9riel de transport": { - "account_type": "Fixed Asset", - "account_number": "2182" - }, - "Mat\u00e9riel de bureau et mat\u00e9riel informatique": { - "account_type": "Fixed Asset", - "account_number": "2183" - }, - "Mobilier": { - "account_type": "Fixed Asset", - "account_number": "2184" - }, - "Cheptel": { - "account_type": "Fixed Asset", - "account_number": "2185" - }, - "Emballages r\u00e9cup\u00e9rables": { - "account_type": "Fixed Asset", - "account_number": "2186" - }, - "Mali de fusion sur actifs corporels": { - "account_number": "2187" - }, - "account_number": "218" - }, - "account_number": "21" - }, - "Immobilisations mises en concession": { - "account_number": "22" - }, - "Immobilisations en cours": { - "Immobilisations corporelles en cours": { - "Terrains": { - "account_number": "2312" - }, - "Constructions": { - "account_number": "2313" - }, - "Installations techniques, mat\u00e9riel et outillage industriels": { - "account_number": "2315" - }, - "Autres immobilisations corporelles": { - "account_number": "2318" - }, - "account_number": "231" - }, - "Immobilisations incorporelles en cours": { - "account_number": "232" - }, - "Avances et acomptes vers\u00e9s sur commandes d'immobilisations incorporelles": { - "account_number": "237" - }, - "Avances et acomptes vers\u00e9s sur commandes d'immobilisations corporelles": { - "Terrains": { - "account_number": "2382" - }, - "Constructions": { - "account_number": "2383" - }, - "Installations techniques, mat\u00e9riel et outillage industriels": { - "account_number": "2385" - }, - "Autres immobilisations corporelles": { - "account_number": "2388" - }, - "account_number": "238" - }, - "account_number": "23" - }, - "Parts dans des entreprises li\u00e9es et cr\u00e9ances sur des entreprises li\u00e9es": { - "is_group": 1, - "account_number": "25" - }, - "Participations et cr\u00e9ances rattach\u00e9es \u00e0 des participations": { - "Titres de participation": { - "Actions": { - "account_number": "2611" - }, - "Autres titres": { - "account_number": "2618" - }, - "account_number": "261" - }, - "Autres formes de participation": { - "Droit repr\u00e9sentatifs d'actifs nets remis en fiducie": { - "account_number": "2661" - }, - "account_number": "266" - }, - "Cr\u00e9ances rattach\u00e9es \u00e0 des participations": { - "Cr\u00e9ances rattach\u00e9es \u00e0 des participations (groupe)": { - "account_number": "2671" - }, - "Cr\u00e9ances rattach\u00e9es \u00e0 des participations (hors groupe)": { - "account_number": "2674" - }, - "Versements repr\u00e9sentatifs d'apports non capitalis\u00e9s (appel de fonds)": { - "account_number": "2675" - }, - "Avances consolidables": { - "account_number": "2676" - }, - "Autres cr\u00e9ances rattach\u00e9es \u00e0 des participations": { - "account_number": "2677" - }, - "Int\u00e9r\u00eats courus": { - "account_number": "2678" - }, - "account_number": "267" - }, - "Cr\u00e9ances rattach\u00e9es \u00e0 des soci\u00e9t\u00e9s en participation": { - "Principal": { - "account_number": "2681" - }, - "Int\u00e9r\u00eats courus": { - "account_number": "2688" - }, - "account_number": "268" - }, - "Versements restant \u00e0 effectuer sur titres de participation non lib\u00e9r\u00e9s": { - "account_number": "269" - }, - "account_number": "26" - }, - "Autres immobilisations financi\u00e8res": { - "Titres immobilis\u00e9s autres que les titres immobilis\u00e9s de l'activit\u00e9 de portefeuille (droit de propri\u00e9t\u00e9)": { - "Actions": { - "account_number": "2711" - }, - "Autres titres": { - "account_number": "2718" - }, - "account_number": "271" - }, - "Titres immobilis\u00e9s (droit de cr\u00e9ance)": { - "Obligations": { - "account_number": "2721" - }, - "Bons": { - "account_number": "2722" - }, - "account_number": "272" - }, - "Titres immobilis\u00e9s de l'activit\u00e9 de portefeuille": { - "account_number": "273" - }, - "Pr\u00eats": { - "Pr\u00eats participatifs": { - "account_number": "2741" - }, - "Pr\u00eats aux associ\u00e9s": { - "account_number": "2742" - }, - "Pr\u00eats au personnel": { - "account_number": "2743" - }, - "Autres pr\u00eats": { - "account_number": "2748" - }, - "account_number": "274" - }, - "D\u00e9p\u00f4ts et cautionnements vers\u00e9s": { - "D\u00e9p\u00f4ts": { - "account_number": "2751" - }, - "Cautionnements": { - "account_number": "2755" - }, - "account_number": "275" - }, - "Autres cr\u00e9ances immobilis\u00e9es": { - "Cr\u00e9ances diverses": { - "account_number": "2761" - }, - "Int\u00e9r\u00eats courus": { - "Int\u00e9r\u00eats courus sur titres immobilis\u00e9s (droit de cr\u00e9ance)": { - "account_number": "27682" - }, - "Int\u00e9r\u00eats courus sur pr\u00eats": { - "account_number": "27684" - }, - "Int\u00e9r\u00eats courus sur d\u00e9p\u00f4ts et cautionnements": { - "account_number": "27685" - }, - "Int\u00e9r\u00eats courus sur cr\u00e9ances diverses": { - "account_number": "27688" - }, - "account_number": "2768" - }, - "account_number": "276" - }, - "(Actions propres ou parts propres)": { - "Actions propres ou parts propres": { - "account_number": "2771" - }, - "Actions propres ou parts propres en voie d'annulation": { - "account_number": "2772" - }, - "account_number": "277" - }, - "Mali de fusion sur actifs financiers": { - "account_number": "278" - }, - "Versements restant \u00e0 effectuer sur titres immobilis\u00e9s non lib\u00e9r\u00e9s": { - "account_number": "279" - }, - "account_number": "27" - }, - "Amortissements des immobilisations": { - "account_type": "Accumulated Depreciation", - "Amortissements des immobilisations incorporelles": { - "account_type": "Accumulated Depreciation", - "Frais d'\u00e9tablissement (m\u00eame ventilation que celle du compte 212)": { - "account_type": "Accumulated Depreciation", - "account_number": "2801" - }, - "Frais de recherche et de d\u00e9veloppement": { - "account_type": "Accumulated Depreciation", - "account_number": "2803" - }, - "Concessions et droits similaires, brevets, licences, logiciels, droits et valeurs similaires": { - "account_type": "Accumulated Depreciation", - "account_number": "2805" - }, - "Fonds commercial": { - "account_type": "Accumulated Depreciation", - "account_number": "2807" - }, - "Autres immobilisations incorporelles": { - "account_type": "Accumulated Depreciation", - "Mali de fusion sur actifs incorporels": { - "account_type": "Accumulated Depreciation", - "account_number": "28081" - }, - "account_number": "2808" - }, - "account_number": "280" - }, - "Amortissements des immobilisations corporelles": { - "account_type": "Accumulated Depreciation", - "Terrains de gisement": { - "account_type": "Accumulated Depreciation", - "account_number": "2811" - }, - "Agencements, am\u00e9nagements de terrains (m\u00eame ventilation que celle du compte 212)": { - "account_type": "Accumulated Depreciation", - "account_number": "2812" - }, - "Constructions (m\u00eame ventilation que celle du compte 213)": { - "account_type": "Accumulated Depreciation", - "account_number": "2813" - }, - "Constructions sur sol d'autrui (m\u00eame ventilation que celle du compte du 214)": { - "account_type": "Accumulated Depreciation", - "account_number": "2814" - }, - "Installations techniques, mat\u00e9riel et outillage industriels (m\u00eame ventilation que celle du compte 218)": { - "account_type": "Accumulated Depreciation", - "account_number": "2815" - }, - "Autres immobilisations corporelles (m\u00eame ventilation que celle du compte 218)": { - "account_type": "Accumulated Depreciation", - "Mali de fusion sur actifs corporels": { - "account_type": "Accumulated Depreciation", - "account_number": "28187" - }, - "account_number": "2818" - }, - "account_number": "281" - }, - "Amortissements des immobilisations mises en concession": { - "account_number": "282" - }, - "account_number": "28" - }, - "D\u00e9pr\u00e9ciations des immobilisations": { - "D\u00e9pr\u00e9ciations des immobilisations incorporelles": { - "Marques, proc\u00e9d\u00e9s, droits et valeurs similaires": { - "account_number": "2905" - }, - "Droit au bail": { - "account_number": "2906" - }, - "Fonds commercial": { - "account_number": "2907" - }, - "Autres immobilisations incorporelles": { - "Mali de fusion sur actifs incorporels": { - "account_number": "29081" - }, - "account_number": "2908" - }, - "account_number": "290" - }, - "D\u00e9pr\u00e9ciations des immobilisations corporelles (m\u00eame ventilation que celle du compte 21)": { - "Terrains (autres que terrains de gisement)": { - "Mali de fusion sur actifs corporels": { - "account_number": "29187" - }, - "account_number": "2911" - }, - "account_number": "291" - }, - "D\u00e9pr\u00e9ciations des immobilisations mises en concession": { - "account_number": "292" - }, - "D\u00e9pr\u00e9ciations des immobilisations en cours": { - "Immobilisations corporelles en cours": { - "account_number": "2931" - }, - "Immobilisations incorporelles en cours": { - "account_number": "2932" - }, - "account_number": "293" - }, - "D\u00e9pr\u00e9ciations des participations et cr\u00e9ances rattach\u00e9es \u00e0 des participations": { - "Titres de participation": { - "account_number": "2961" - }, - "Autres formes de participation": { - "account_number": "2966" - }, - "Cr\u00e9ances rattach\u00e9es \u00e0 des participations (m\u00eame ventilation que celle du compte 267)": { - "account_number": "2967" - }, - "Cr\u00e9ances rattach\u00e9es \u00e0 des soci\u00e9t\u00e9s en participation (m\u00eame ventilation que celle du compte 268)": { - "account_number": "2968" - }, - "account_number": "296" - }, - "D\u00e9pr\u00e9ciations des autres immobilisations financi\u00e8res": { - "Titres immobilis\u00e9s autres que les titres immobilis\u00e9s de l'activit\u00e9 de portefeuille - droit de propri\u00e9t\u00e9": { - "account_number": "2971" - }, - "Titres immobilis\u00e9s - droit de cr\u00e9ance (m\u00eame ventilation que celle du compte 272)": { - "account_number": "2972" - }, - " Titres immobilis\u00e9s de l'activit\u00e9 de portefuille": { - "account_number": "2973" - }, - "Pr\u00eats (m\u00eame ventilation que celle du compte 274)": { - "account_number": "2974" - }, - "D\u00e9p\u00f4ts et cautionnements vers\u00e9s (m\u00eame ventilation que celle du compte 275)": { - "account_number": "2975" - }, - "Autres cr\u00e9ances immobilis\u00e9es (m\u00eame ventilation que celle du compte 276)": { - "Mali de fusion sur actifs financiers": { - "account_number": "29787" - }, - "account_number": "2976" - }, - "account_number": "297" - }, - "account_number": "29" - }, - "account_number": "2" - }, - "Comptes de Stocks et En-Cours": { - "root_type": "Asset", - "Mati\u00e8res premi\u00e8res (et fournitures)": { - "Mati\u00e8res (ou groupe) A": { - "account_number": "311" - }, - "Mati\u00e8res (ou groupe) B": { - "account_number": "312" - }, - "Fournitures A, B, C, ...": { - "account_number": "317" - }, - "account_number": "31" - }, - "Autres approvisionnements": { - "Mat\u00e8res consommables": { - "Mati\u00e8res (ou groupe) C": { - "account_number": "3211" - }, - "Mati\u00e8res (ou groupe) D": { - "account_number": "3212" - }, - "account_number": "321" - }, - "Fournitures consommables": { - "Combustibles": { - "account_number": "3221" - }, - "Produits d'entretien": { - "account_number": "3222" - }, - "Fournitures d'atelier et d'usine": { - "account_number": "3223" - }, - "Fournitures de magasin": { - "account_number": "3224" - }, - "Fournitures de bureau": { - "account_number": "3225" - }, - "account_number": "322" - }, - "Emballages": { - "Emballages perdus": { - "account_number": "3261" - }, - "Emballages r\u00e9cup\u00e9rables non identifiables": { - "account_number": "3265" - }, - "Emballages \u00e0 usage mixte": { - "account_number": "3267" - }, - "account_number": "326" - }, - "account_number": "32" - }, - "En-cours de production de biens": { - "Produits en cours": { - "Produits en cours P1": { - "account_number": "3311" - }, - "Produits en cours P2": { - "account_number": "3312" - }, - "account_number": "331" - }, - "Travaux en cours": { - "Travaux en cours T1": { - "account_number": "3351" - }, - "Travaux en cours T2": { - "account_number": "3352" - }, - "account_number": "335" - }, - "account_number": "33" - }, - "En-cours de production de services": { - "Etudes en cours": { - "Etudes en cours E1": { - "account_number": "3411" - }, - "Etudes en cours E2": { - "account_number": "3412" - }, - "account_number": "341" - }, - "Prestations de services en cours": { - "Prestations de services S1": { - "account_number": "3451" - }, - "Prestations de services S2": { - "account_number": "3452" - }, - "account_number": "345" - }, - "account_number": "34" - }, - "Stocks de produits": { - "account_type": "Stock", - "Produits interm\u00e9diaires": { - "account_type": "Stock", - "Produits interm\u00e9diaires (ou groupe) A": { - "account_type": "Stock", - "is_group": 1, - "account_number": "3511" - }, - "Produits interm\u00e9diaires (ou groupe) B": { - "account_type": "Stock", - "is_group": 1, - "account_number": "3512" - }, - "account_number": "351" - }, - "Produits finis": { - "account_type": "Stock", - "Produits finis (ou groupe) A": { - "account_type": "Stock", - "is_group": 1, - "account_number": "3551" - }, - "Produits finis (ou groupe) B": { - "account_type": "Stock", - "is_group": 1, - "account_number": "3552" - }, - "account_number": "355" - }, - "Produits r\u00e9siduels (ou mati\u00e8res de r\u00e9cup\u00e9ration)": { - "account_type": "Stock", - "D\u00e9chets": { - "account_type": "Stock", - "is_group": 1, - "account_number": "3581" - }, - "Rebuts": { - "account_type": "Stock", - "is_group": 1, - "account_number": "3585" - }, - "Mati\u00e8res de r\u00e9cup\u00e9ration": { - "account_type": "Stock", - "is_group": 1, - "account_number": "3586" - }, - "account_number": "358" - }, - "account_number": "35" - }, - "(Compte \u00e0 ouvrir, le cas \u00e9ch\u00e9ant, sous l'intitul\u00e9 \"stocks provenant d'immobilisations\")": { - "account_number": "36" - }, - "Stocks de marchandises": { - "Marchandises (ou groupe) A": { - "account_number": "371" - }, - "Marchandises (ou groupe) B": { - "account_number": "372" - }, - "account_number": "37" - }, - "Stocks en voie d'acheminement, mis en d\u00e9p\u00f4t ou donn\u00e9s en consignation (en cas d'inventaire permanent en comptabilit\u00e9 g\u00e9n\u00e9rale)": { - "account_type": "Stock", - "account_number": "38" - }, - "D\u00e9pr\u00e9ciations des stocks et en-cours": { - "D\u00e9pr\u00e9ciations des mati\u00e8res premi\u00e8res (et fournitures)": { - "Mati\u00e8res (ou groupe) A": { - "account_number": "3911" - }, - "Mati\u00e8res (ou groupe) B": { - "account_number": "3912" - }, - "Fournitures A, B, C, ...": { - "account_number": "3917" - }, - "account_number": "391" - }, - "D\u00e9pr\u00e9ciations des autres approvisionnements": { - "Mati\u00e8res consommables (m\u00eame ventilation que celle du compte 321)": { - "account_number": "3921" - }, - "Fournitures consommables (m\u00eame ventilation que celle du compte 322)": { - "account_number": "3922" - }, - "Emballages (m\u00eame ventilation que celle du compte 326)": { - "account_number": "3926" - }, - "account_number": "392" - }, - "D\u00e9pr\u00e9ciations des en-cours de production de biens": { - "Etudes en cours (m\u00eame ventilation que celle du compte 341)": { - "account_number": "3931" - }, - "Travaux en cours (m\u00eame ventilation que celle du compte 335)": { - "account_number": "3935" - }, - "account_number": "393" - }, - "D\u00e9pr\u00e9ciations des en-cours de production de services": { - "Etudes en cours (m\u00eame ventilation que celle du compte 341)": { - "account_number": "3941" - }, - "Prestations de services en cours (m\u00eame ventilation que celle du compte 345)": { - "account_number": "3945" - }, - "account_number": "394" - }, - "D\u00e9pr\u00e9ciations des stocks de produits": { - "Produits interm\u00e9diaires (m\u00eame ventilation que celle du compte 351)": { - "account_number": "3951" - }, - "Produits finis (m\u00eame ventilation que celle du compte 355)": { - "account_number": "3955" - }, - "account_number": "395" - }, - "D\u00e9pr\u00e9ciations des stocks de marchandises": { - "Marchandise (ou groupe) A": { - "account_number": "3971" - }, - "Marchandise (ou groupe) B": { - "account_number": "3972" - }, - "account_number": "397" - }, - "account_number": "39" - }, - "account_number": "3" - }, - "4-Comptes de Tiers (ACTIF)": { - "root_type": "Asset", - "40-Fournisseurs et Comptes Rattach\u00e9s (ACTIF)": { - "Fournisseurs d\u00e9biteurs": { - "Fournisseurs - Avances et acomptes vers\u00e9s sur commandes": { - "account_number": "4091" - }, - "Fournisseurs - Cr\u00e9ances pour emballages et mat\u00e9riel \u00e0 rendre": { - "account_number": "4096" - }, - "Fournisseurs - Autres avoirs": { - "Fournisseurs d'exploitation": { - "account_number": "40971" - }, - "Fournisseurs d'immobilisation": { - "account_number": "40974" - }, - "account_number": "4097" - }, - "Rabais, remises, ristournes \u00e0 obtenir et autres avoirs non encore re\u00e7us": { - "account_number": "4098" - }, - "account_number": "409" - } - }, - "41-Clients et comptes rattach\u00e9s (ACTIF)": { - "account_type": "Receivable", - "Clients et Comptes rattach\u00e9s": { - "account_type": "Receivable", - "account_number": "410" - }, - "Clients": { - "account_type": "Receivable", - "Clients - Ventes de biens ou de prestations de services": { - "account_type": "Receivable", - "account_number": "4111" - }, - "Clients - Retenues de garantie": { - "account_type": "Receivable", - "account_number": "4117" - }, - "account_number": "411" - }, - "Clients - Effets \u00e0 recevoir": { - "account_type": "Receivable", - "account_number": "413" - }, - "Clients douteux ou litigieux": { - "account_type": "Receivable", - "account_number": "416" - }, - "Clients - Produits non encore factur\u00e9s": { - "account_type": "Receivable", - "Clients - Factures \u00e0 \u00e9tablir": { - "account_type": "Receivable", - "account_number": "4181" - }, - "Clients - Int\u00e9r\u00eats courus": { - "account_type": "Receivable", - "account_number": "4188" - }, - "account_number": "418" - } - }, - "42-Personnel et comptes rattach\u00e9s (ACTIF)": { - "Personnel - Avances et acomptes": { - "account_number": "425" - } - }, - "43-S\u00e9curit\u00e9 sociale et autres organismes sociaux (ACTIF)": { - "S\u00e9curit\u00e9 sociale": { - "account_number": "431" - }, - "Autres organismes sociaux": { - "account_number": "437" - }, - "438-Organismes sociaux - Produits \u00e0 recevoir": { - "Produits \u00e0 recevoir": { - "account_number": "4387" - } - } - }, - "44-Etat et autres collectivit\u00e9s publiques (ACTIF)": { - "Etat - Subventions \u00e0 recevoir": { - "Subventions d'investissement": { - "account_number": "4411" - }, - "Subventions d'exploitation": { - "account_number": "4417" - }, - "Subventions d'\u00e9quilibre": { - "account_number": "4418" - }, - "Avances sur subventions": { - "account_number": "4419" - }, - "account_number": "441" - }, - "Op\u00e9rations particuli\u00e8res avec l'Etat, les collectivit\u00e9s publiques, les organismes internationaux": { - "Cr\u00e9ances sur l'Etat r\u00e9sultant de la suppression de la r\u00e8gle du d\u00e9calage d'un mois en mati\u00e8re de TVA": { - "account_number": "4431" - }, - "Int\u00e9r\u00eats courus sur cr\u00e9ances figurant au compte 4431": { - "account_number": "4438" - }, - "account_number": "443" - }, - "Etat - Taxes sur le chiffre d'affaires (ACTIF)": { - "TVA due intracommunautaire": { - "account_number": "4452" - }, - "Taxes sur le chiffre d'affaires d\u00e9ductibles": { - "TVA sur immobilisations": { - "account_number": "44562" - }, - "TVA transf\u00e9r\u00e9e par d'autres entreprises": { - "account_number": "44563" - }, - "TVA sur autres biens et services": { - "tax_rate": 20, - "account_number": "44566" - }, - "Cr\u00e9dit de TVA \u00e0 reporter": { - "account_number": "44567" - }, - "Taxes assimil\u00e9es \u00e0 la TVA": { - "account_number": "44568" - }, - "account_number": "4456" - }, - "4458-Taxes sur le chiffre d'affaires \u00e0 r\u00e9gulariser ou en attente (ACTIF)": { - "Acomptes - R\u00e9gime simplifi\u00e9 d'imposition": { - "account_number": "44581" - }, - "Acomptes - R\u00e9gime du forfait": { - "account_number": "44582" - }, - "Remboursement de taxes sur le chiffre d'affaires demand\u00e9": { - "account_number": "44583" - }, - "Taxes sur le chiffre d'affaires sur factures non parvenues": { - "account_number": "44586" - } - } - }, - "Etat - Charges \u00e0 payer et produits \u00e0 recevoir": { - "Charges fiscales sur cong\u00e9s \u00e0 payer": { - "account_number": "4482" - }, - "Charges \u00e0 payer": { - "account_number": "4486" - }, - "Produits \u00e0 recevoir": { - "account_number": "4487" - }, - "account_number": "448" - } - }, - "45-Groupe et associ\u00e9s (ACTIF)": { - "Associ\u00e9s - Op\u00e9rations sur le capital (ACTIF)": { - "456-Apporteurs - Capital appel\u00e9, non vers\u00e9": { - "Actionnaires - Capital souscrit et appel\u00e9, non vers\u00e9": { - "account_number": "45621" - }, - "Associ\u00e9s - Capital appel\u00e9, non vers\u00e9": { - "account_number": "45625" - }, - "account_number": "4562" - } - } - }, - "46-D\u00e9biteurs divers et cr\u00e9diteurs divers (ACTIF)": { - "Cr\u00e9ances sur cessions d'immobilisations": { - "account_number": "462" - }, - "Cr\u00e9ances sur cessions de valeurs mobili\u00e8res de placement": { - "account_number": "465" - }, - "467-Autres comptes d\u00e9biteurs ou cr\u00e9diteurs (ACTIF)": {}, - "468-Divers - Charges \u00e0 payer et produits \u00e0 recevoir (ACTIF)": { - "Produits \u00e0 recevoir": { - "account_number": "4687" - } - } - }, - "47-Comptes transitoires ou d'attente (ACTIF)": { - "471-Comptes d'attente (ACTIF)": { - "account_type": "Temporary" - }, - "Diff\u00e9rences de conversion (ACTIF)": { - "Diminution des cr\u00e9ances": { - "account_number": "4761" - }, - "Augmentation des dettes": { - "account_number": "4762" - }, - "Diff\u00e9rences compens\u00e9es par couverture de change": { - "account_number": "4768" - }, - "account_number": "476" - }, - "Autres comptes transitoires (ACTIF)": { - "Mali de fusion sur actif circulant": { - "account_number": "4781" - }, - "478-Diff\u00e9rences d'\u00e9valuation sur instruments de tr\u00e9sorerie (ACTIF)": { - "account_number": "4786" - } - } - }, - "48-Comptes de r\u00e9gularisation (ACTIF)": { - "Charges \u00e0 r\u00e9partir sur plusieurs exercices": { - "Frais d'\u00e9mission des emprunts": { - "account_number": "4816" - }, - "account_number": "481" - }, - "Charges constat\u00e9es d'avance": { - "account_number": "486" - }, - "488-Comptes de r\u00e9partition p\u00e9riodique des charges et des produits (ACTIF)": { - "Charges": { - "account_number": "4886" - } - } - }, - "49-D\u00e9pr\u00e9ciation des comptes de tiers (ACTIF)": { - "D\u00e9pr\u00e9ciations des comptes clients": { - "account_number": "491" - }, - "D\u00e9pr\u00e9ciations des comptes du groupe et des associ\u00e9s": { - "Comptes du groupe": { - "account_number": "4951" - }, - "Comptes courants des associ\u00e9s": { - "account_number": "4955" - }, - "Op\u00e9rations faites en commun et en GIE": { - "account_number": "4958" - }, - "account_number": "495" - }, - "D\u00e9pr\u00e9ciations des comptes de d\u00e9biteurs divers": { - "Cr\u00e9ances sur cessions d'immobilisations": { - "account_number": "4962" - }, - "Cr\u00e9ances sur cessions de valeurs mobili\u00e8res de placement": { - "account_number": "4965" - }, - "Autres comptes d\u00e9biteurs": { - "account_number": "4967" - }, - "account_number": "496" - } - } - }, - "4-Comptes de Tiers (PASSIF)": { - "root_type": "Liability", - "40-Fournisseurs et Comptes Rattach\u00e9s (PASSIF)": { - "account_type": "Payable", - "Fournisseurs": { - "account_type": "Payable", - "Fournisseurs - Achats de biens ou de prestations de services": { - "account_type": "Payable", - "account_number": "4011" - }, - "Fournisseurs - Retenues de garantie": { - "account_type": "Payable", - "account_number": "4017" - }, - "account_number": "401" - }, - "Fournisseurs - Effets \u00e0 payer": { - "account_type": "Payable", - "account_number": "403" - }, - "Fournisseurs d'immobilisations": { - "account_type": "Payable", - "Fournisseurs - Achats d'immobilisations": { - "account_type": "Payable", - "account_number": "4041" - }, - "Fournisseurs d'immobilisations - Retenues de garantie": { - "account_type": "Payable", - "account_number": "4047" - }, - "account_number": "404" - }, - "Fournisseurs d'immobilisations - Effets \u00e0 payer": { - "account_type": "Payable", - "account_number": "405" - }, - "Fournisseurs - Factures non parvenues": { - "account_type": "Stock Received But Not Billed", - "Fournisseurs": { - "account_type": "Stock Received But Not Billed", - "account_number": "4081" - }, - "Fournisseurs d'immobilisations": { - "account_type": "Stock Received But Not Billed", - "account_number": "4084" - }, - "Fournisseurs - Int\u00e9r\u00eats courus": { - "account_type": "Stock Received But Not Billed", - "account_number": "4088" - }, - "account_number": "408" - } - }, - "41-Clients et comptes rattach\u00e9s (PASSIF)": { - "Clients cr\u00e9diteurs": { - "Clients - Avances et acomptes re\u00e7us sur commandes": { - "account_number": "4191", - "account_type": "Income Account" - }, - "Clients - Dettes pour emballages et mat\u00e9riels consign\u00e9s": { - "account_number": "4196" - }, - "Clients - Autres avoirs": { - "account_number": "4197" - }, - "Rabais, remises, ristournes \u00e0 accorder et autres avoirs \u00e0 \u00e9tablir": { - "account_number": "4198" - }, - "account_number": "419" - } - }, - "42-Personnel et comptes rattach\u00e9s (PASSIF)": { - "Personnel - R\u00e9mun\u00e9rations dues": { - "account_number": "421" - }, - "Comit\u00e9s d'entreprises, d'\u00e9tablissement...": { - "account_number": "422" - }, - "Participation des salari\u00e9s aux r\u00e9sultats": { - "R\u00e9serve sp\u00e9ciale": { - "account_number": "4246" - }, - "Comptes courants": { - "account_number": "4248" - }, - "account_number": "424" - }, - "Personnel - D\u00e9p\u00f4ts": { - "account_number": "426" - }, - "Personnel - Oppositions": { - "account_number": "427" - }, - "Personnel - Charges \u00e0 payer et produits \u00e0 recevoir": { - "Dettes provisionn\u00e9es pour cong\u00e9s \u00e0 payer": { - "account_number": "4282" - }, - "Dettes provisionn\u00e9es pour participation des salari\u00e9s aux r\u00e9sultats": { - "account_number": "4284" - }, - "Autres charges \u00e0 payer": { - "account_number": "4286" - }, - "Produits \u00e0 recevoir": { - "account_number": "4287" - }, - "account_number": "428" - } - }, - "43-S\u00e9curit\u00e9 sociale et autres organismes sociaux (PASSIF)": { - "438-Organismes sociaux - Charges \u00e0 payer": { - "Charges sociales sur cong\u00e9s \u00e0 payer": { - "account_number": "4382" - }, - "Autres charges \u00e0 payer": { - "account_number": "4386" - } - } - }, - "44-Etat et autres collectivit\u00e9s publiques (PASSIF)": { - "Etat - Imp\u00f4ts et taxes recouvrables sur des tiers": { - "Obligataires": { - "account_number": "4424" - }, - "Associ\u00e9s": { - "account_number": "4425" - }, - "account_number": "442" - }, - "Etat - Imp\u00f4ts sur les b\u00e9n\u00e9fices": { - "account_number": "444" - }, - "Etat - Taxes sur le chiffre d'affaires (PASSIF)": { - "Taxes sur le chiffre d'affaires \u00e0 d\u00e9caisser": { - "TVA \u00e0 d\u00e9caisser": { - "account_number": "44551" - }, - "Taxes assimil\u00e9es \u00e0 la TVA": { - "account_number": "44558" - }, - "account_number": "4455" - }, - "Taxes sur le chiffre d'affaires collect\u00e9es par l'entreprise": { - "TVA collect\u00e9e": { - "account_type": "Tax", - "is_group": 1, - "account_number": "44571" - }, - "Taxes assimil\u00e9es \u00e0 la TVA": { - "account_number": "44578" - }, - "account_number": "4457" - }, - "4458-Taxes sur le chiffre d'affaires \u00e0 r\u00e9gulariser ou en attente (PASSIF)": { - "TVA r\u00e9cup\u00e9r\u00e9e d'avance": { - "account_number": "44584" - }, - "Taxes sur le chiffre d'affaires sur factures \u00e0 \u00e9tablir": { - "account_number": "44587" - } - } - }, - "Obligations cautionn\u00e9es": { - "account_number": "446" - }, - "Autres imp\u00f4ts, taxes et versements assimil\u00e9s": { - "account_number": "447" - }, - "Quotas d'\u00e9mission \u00e0 acqu\u00e9rir": { - "account_number": "449" - } - }, - "45-Groupe et associ\u00e9s (PASSIF)": { - "Groupe (PASSIF)": { - "account_number": "451" - }, - "Associ\u00e9s - Comptes courants (PASSIF)": { - "Principal (PASSIF)": { - "account_number": "4551" - }, - "Int\u00e9r\u00eats courus (PASSIF)": { - "account_number": "4558" - }, - "account_number": "455" - }, - "Associ\u00e9s - Op\u00e9rations sur le capital (PASSIF)": { - "456-Associ\u00e9s - Comptes d'apport en soci\u00e9t\u00e9": { - "Apports en nature": { - "account_number": "45611" - }, - "Apports en num\u00e9raire": { - "account_number": "45615" - }, - "account_number": "4561" - }, - "Associ\u00e9s - Versements re\u00e7us sur augmentation de capital": { - "account_number": "4563" - }, - "Associ\u00e9s - Versements anticip\u00e9s": { - "account_number": "4564" - }, - "Actionnaires d\u00e9faillants": { - "account_number": "4566" - }, - "Associ\u00e9s - Capital \u00e0 rembourser": { - "account_number": "4567" - } - }, - "Associ\u00e9s - Dividendes \u00e0 payer": { - "account_number": "457" - }, - "Associ\u00e9s - Op\u00e9rations faites en commun et en GIE": { - "Op\u00e9rations courantes": { - "account_number": "4581" - }, - "Int\u00e9r\u00eats courus": { - "account_number": "4588" - }, - "account_number": "458" - } - }, - "46-D\u00e9biteurs divers et cr\u00e9diteurs divers (PASSIF)": { - "Dettes sur acquisitions de valeurs mobili\u00e8res de placement": { - "account_number": "464" - }, - "467-Autres comptes d\u00e9biteurs ou cr\u00e9diteurs (PASSIF)": {}, - "468-Divers - Charges \u00e0 payer et produits \u00e0 recevoir (PASSIF)": { - "Charges \u00e0 payer": { - "account_number": "4686" - } - } - }, - "47-Comptes transitoires ou d'attente (PASSIF)": { - "471-Comptes d'attente (PASSIF)": { - "account_type": "Temporary" - }, - "Diff\u00e9rences de conversion (PASSIF)": { - "Augmentation des cr\u00e9ances": { - "account_number": "4771" - }, - "Diminution des dettes": { - "account_number": "4772" - }, - "Diff\u00e9rences compens\u00e9es par couverture de change": { - "account_number": "4778" - }, - "account_number": "477" - }, - "478-Autres comptes transitoires (PASSIF)": { - "Diff\u00e9rences d'\u00e9valuation sur instruments de tr\u00e9sorerie (PASSIF)": { - "account_number": "4787" - } - } - }, - "48-Comptes de r\u00e9gularisation (PASSIF)": { - "Produits constat\u00e9s d'avance": { - "account_number": "487" - }, - "448-Comptes de r\u00e9partition p\u00e9riodique des charges et des produits (PASSIF)": { - "Produits": { - "account_number": "4887" - } - } - } - }, - "Comptes Financiers": { - "root_type": "Asset", - "Valeurs mobili\u00e8res de placement": { - "Parts dans des entreprises li\u00e9es": { - "account_number": "501" - }, - "Actions propres": { - "Actions destin\u00e9es \u00e0 \u00eatre attribu\u00e9es aux employ\u00e9s et affect\u00e9es \u00e0 des plans d\u00e9termin\u00e9s": { - "account_number": "5021" - }, - "Actions disponibles pour \u00eatre attribu\u00e9es aux employ\u00e9s ou pour la r\u00e9gularisation des cours de bourse": { - "account_number": "5022" - }, - "account_number": "502" - }, - "Actions": { - "Titres cot\u00e9s": { - "account_number": "5031" - }, - "Titres non cot\u00e9s": { - "account_number": "5035" - }, - "account_number": "503" - }, - "Autres titres conf\u00e9rant un droit de propri\u00e9t\u00e9": { - "account_number": "504" - }, - "Obligations et bons \u00e9mis par la soci\u00e9t\u00e9 et rachet\u00e9s par elle": { - "account_number": "505" - }, - "Obligations": { - "Titres cot\u00e9s": { - "account_number": "5061" - }, - "Titres non cot\u00e9s": { - "account_number": "5065" - }, - "account_number": "506" - }, - "Bons du Tr\u00e9sor et bons de caisse \u00e0 court terme": { - "account_number": "507" - }, - "Autres valeurs mobili\u00e8res de placement et autres cr\u00e9ances assimil\u00e9es": { - "Autres valeurs mobili\u00e8res": { - "account_number": "5081" - }, - "Bons de souscription": { - "account_number": "5082" - }, - "Int\u00e9r\u00eats courus sur obligations, bons et valeurs assimil\u00e9es": { - "account_number": "5088" - }, - "account_number": "508" - }, - "Versements restant \u00e0 effectuer sur valeurs mobili\u00e8res de placement non lib\u00e9r\u00e9es": { - "account_number": "509" - }, - "account_number": "50" - }, - "Banques, \u00e9tablissements financiers et assimil\u00e9s": { - "Valeurs \u00e0 l'encaissement": { - "Coupons \u00e9chus \u00e0 l'encaissement": { - "account_number": "5111" - }, - "Ch\u00e8ques \u00e0 encaisser": { - "account_number": "5112" - }, - "Effets \u00e0 l'encaissement": { - "account_number": "5113" - }, - "Effets \u00e0 l'escompte": { - "account_number": "5114" - }, - "account_number": "511" - }, - "Banques": { - "account_type": "Bank", - "Comptes en monnaie nationale": { - "account_type": "Bank", - "account_number": "5121" - }, - "Comptes en devises": { - "account_type": "Bank", - "account_number": "5124" - }, - "account_number": "512" - }, - "Ch\u00e8ques postaux": { - "account_number": "514" - }, - "\"Caisses\" du Tr\u00e9sor et des \u00e9tablissements publics": { - "account_number": "515" - }, - "Soci\u00e9t\u00e9s de bourse": { - "account_number": "516" - }, - "Autres organismes financiers": { - "account_number": "517" - }, - "Int\u00e9r\u00eats courus": { - "Int\u00e9r\u00eats courus \u00e0 payer": { - "account_number": "5181" - }, - "Int\u00e9r\u00eats courus \u00e0 recevoir": { - "account_number": "5188" - }, - "account_number": "518" - }, - "Concours bancaires courants": { - "Cr\u00e9dit de mobilisation des cr\u00e9ances commerciales (CMCC)": { - "account_number": "5191" - }, - "Mobilisation de cr\u00e9ances n\u00e9es \u00e0 l'\u00e9tranger": { - "account_number": "5193" - }, - "Int\u00e9r\u00eats courus sur concours bancaires courants": { - "account_number": "5198" - }, - "account_number": "519" - }, - "account_number": "51" - }, - "Instruments de tr\u00e9sorerie": { - "is_group": 1, - "account_number": "52" - }, - "Caisse": { - "account_type": "Cash", - "Caisse si\u00e8ge social": { - "account_type": "Cash", - "Caisse en monnaie nationale": { - "account_type": "Cash", - "account_number": "5311" - }, - "Caisse en devises": { - "account_type": "Cash", - "account_number": "5314" - }, - "account_number": "531" - }, - "Caisse succursale (ou usine) A": { - "account_type": "Cash", - "account_number": "532" - }, - "Caisse succursale (ou usine) B": { - "account_type": "Cash", - "account_number": "533" - }, - "account_number": "53" - }, - "R\u00e9gies d'avance et accr\u00e9ditifs": { - "is_group": 1, - "account_number": "54" - }, - "Virements internes": { - "is_group": 1, - "account_number": "58" - }, - "D\u00e9pr\u00e9ciations des comptes financiers": { - "D\u00e9pr\u00e9ciations des valeurs mobili\u00e8res de placement": { - "Actions": { - "account_number": "5903" - }, - "Autres titres conf\u00e9rant un droit de propri\u00e9t\u00e9": { - "account_number": "5904" - }, - "Obligations": { - "account_number": "5906" - }, - "Autres valeurs mobili\u00e8res de placement et cr\u00e9ances assimil\u00e9es": { - "account_number": "5908" - }, - "account_number": "590" - }, - "account_number": "59" - }, - "account_number": "5" - }, - "Comptes de Charges": { - "root_type": "Expense", - "Achats (sauf 603)": { - "Achats stock\u00e9s - Mati\u00e8res premi\u00e8res (et fournitures)": { - "account_type": "Cost of Goods Sold", - "Mati\u00e8res (ou groupe) A": { - "account_type": "Cost of Goods Sold", - "account_number": "6011" - }, - "Mati\u00e8res (ou groupe) B": { - "account_type": "Cost of Goods Sold", - "account_number": "6012" - }, - "Fournitures A, B, C...": { - "account_type": "Cost of Goods Sold", - "account_number": "6017" - }, - "account_number": "601" - }, - "Achats stock\u00e9s - Autres approvisionnements": { - "account_type": "Cost of Goods Sold", - "Mati\u00e8res consommables": { - "account_type": "Cost of Goods Sold", - "Mati\u00e8res (ou groupe) C": { - "account_type": "Cost of Goods Sold", - "account_number": "60211" - }, - "Mati\u00e8res (ou groupe) D": { - "account_type": "Cost of Goods Sold", - "account_number": "60212" - }, - "account_number": "6021" - }, - "Fournitures consommables": { - "account_type": "Cost of Goods Sold", - "Combustibles": { - "account_type": "Cost of Goods Sold", - "account_number": "60221" - }, - "Produits d'entretien": { - "account_type": "Cost of Goods Sold", - "account_number": "60222" - }, - "Fournitures d'atelier et d'usine": { - "account_type": "Cost of Goods Sold", - "account_number": "60223" - }, - "Fournitures de magasin": { - "account_type": "Cost of Goods Sold", - "account_number": "60224" - }, - "Fournitures de bureau": { - "account_type": "Cost of Goods Sold", - "account_number": "60225" - }, - "account_number": "6022" - }, - "Emballages": { - "account_type": "Cost of Goods Sold", - "Emballages perdus": { - "account_type": "Cost of Goods Sold", - "account_number": "60261" - }, - "Emballages r\u00e9cup\u00e9rables non identifiables": { - "account_type": "Cost of Goods Sold", - "account_number": "60265" - }, - "Emballages \u00e0 usage mixte": { - "account_type": "Cost of Goods Sold", - "account_number": "60267" - }, - "account_number": "6026" - }, - "account_number": "602" - }, - "Variations des stocks (approvisionnements et marchandises)": { - "account_type": "Stock Adjustment", - "Variation des stocks de mati\u00e8res premi\u00e8res (et fournitures)": { - "account_type": "Stock Adjustment", - "account_number": "6031" - }, - "Variation des stocks des autres approvisionnements": { - "account_type": "Stock Adjustment", - "account_number": "6032" - }, - "Variation des stocks de marchandises": { - "account_type": "Stock Adjustment", - "account_number": "6037" - }, - "account_number": "603" - }, - "Achats d'\u00e9tudes et prestations de service": { - "account_type": "Cost of Goods Sold", - "account_number": "604" - }, - "Achats de mat\u00e9riel, \u00e9quipements et travaux": { - "account_type": "Cost of Goods Sold", - "account_number": "605" - }, - "Achats non stock\u00e9s de mati\u00e8res et founitures": { - "account_type": "Cost of Goods Sold", - "Fournitures non stockables (eau, \u00e9nergie...)": { - "account_type": "Cost of Goods Sold", - "account_number": "6061" - }, - "Fournitures d'entretien et de petit \u00e9quipement": { - "account_type": "Cost of Goods Sold", - "account_number": "6063" - }, - "Fournitures administratives": { - "account_type": "Cost of Goods Sold", - "account_number": "6064" - }, - "Autres mati\u00e8res et fournitures": { - "account_type": "Cost of Goods Sold", - "account_number": "6068" - }, - "account_number": "606" - }, - "Achats de marchandises": { - "account_type": "Cost of Goods Sold", - "Marchandises (ou groupe) A": { - "account_type": "Cost of Goods Sold", - "account_number": "6071" - }, - "Marchandises (ou groupe) B": { - "account_type": "Cost of Goods Sold", - "account_number": "6072" - }, - "account_number": "607" - }, - "(Compte r\u00e9serv\u00e9, le cas \u00e9ch\u00e9ant, \u00e0 la recapitulation des Frais accessoires incorpor\u00e9s aux achats)": { - "account_type": "Expenses Included In Valuation", - "account_number": "608" - }, - "Rabais, remises et ristournes obtenus sur achats": { - "Rabais, remises et ristournes obtenus sur achats - de mati\u00e8res premi\u00e8res (et fournitures)": { - "account_number": "6091" - }, - "Rabais, remises et ristournes obtenus sur achats - d'autres approvisionnements stock\u00e9s": { - "account_number": "6092" - }, - "Rabais, remises et ristournes obtenus sur achats - d'\u00e9tudes et prestations de services": { - "account_number": "6094" - }, - "Rabais, remises et ristournes obtenus sur achats - de mat\u00e9riel, \u00e9quipements et travaux": { - "account_number": "6095" - }, - "Rabais, remises et ristournes obtenus sur achats - d'approvisionnements non stock\u00e9s": { - "account_number": "6096" - }, - "Rabais, remises et ristournes obtenus sur achats - de marchandises": { - "account_number": "6097" - }, - "Rabais, remises et ristournes non affect\u00e9s": { - "account_number": "6098" - }, - "account_number": "609" - }, - "account_number": "60" - }, - "Services ext\u00e9rieurs": { - "Sous-traitance g\u00e9n\u00e9rale": { - "account_number": "611" - }, - "Redevances de cr\u00e9dit-bail": { - "Cr\u00e9dit-bail mobilier": { - "account_number": "6122" - }, - "Cr\u00e9dit-bail immobilier": { - "account_number": "6125" - }, - "account_number": "612" - }, - "Locations": { - "Locations immobili\u00e8res": { - "account_number": "6132" - }, - "Locations mobili\u00e8res": { - "account_number": "6135" - }, - "Malis sur emballages": { - "account_number": "6136" - }, - "account_number": "613" - }, - "Charges locatives et de copropri\u00e9t\u00e9": { - "account_number": "614" - }, - "Entretiens et r\u00e9parations": { - "Entretiens et r\u00e9parations - sur biens immobiliers": { - "account_number": "6152" - }, - "Entretiens et r\u00e9parations - sur biens mobiliers": { - "account_number": "6155" - }, - "Maintenance": { - "account_number": "6156" - }, - "account_number": "615" - }, - "Primes d'assurance": { - "Multirisques": { - "account_number": "6161" - }, - "Assurance obligatoire dommage construction": { - "account_number": "6162" - }, - "Assurance-transport": { - "Assurance-transport - sur achats": { - "account_number": "61636" - }, - "Assurance-transport - sur ventes": { - "account_number": "61637" - }, - "Assurance-transport - sur autres biens": { - "account_number": "61638" - }, - "account_number": "6163" - }, - "Risques d'exploitation": { - "account_number": "6164" - }, - "Insolvabilit\u00e9 clients": { - "account_number": "6165" - }, - "account_number": "616" - }, - "Etudes et recherches": { - "account_number": "617" - }, - "Divers": { - "Documentation g\u00e9n\u00e9rale": { - "account_number": "6181" - }, - "Documentation technique": { - "account_number": "6183" - }, - "Frais de colloques, s\u00e9minaires, conf\u00e9rences": { - "account_number": "6185" - }, - "account_number": "618" - }, - "Rabais, remises et ristournes obtenus sur services ext\u00e9rieurs": { - "account_number": "619" - }, - "account_number": "61" - }, - "Autres services ext\u00e9rieurs": { - "Personnel ext\u00e9rieur \u00e0 l'entreprise": { - "Personnel int\u00e9rimaire": { - "account_number": "6211" - }, - "Personnel d\u00e9tach\u00e9 ou pr\u00eat\u00e9 \u00e0 l'entreprise": { - "account_number": "6214" - }, - "account_number": "621" - }, - "R\u00e9mun\u00e9rations d'interm\u00e9diaires et honoraires": { - "Commissions et courtages sur achats": { - "account_number": "6221" - }, - "Commissions et courtages sur ventes": { - "account_number": "6222" - }, - "R\u00e9mun\u00e9rations des transitaires": { - "account_number": "6224" - }, - "R\u00e9mun\u00e9rations d'affacturage": { - "account_number": "6225" - }, - "Honoraires": { - "account_number": "6226" - }, - "Frais d'actes et de contentieux": { - "account_number": "6227" - }, - "Divers": { - "account_number": "6228" - }, - "account_number": "622" - }, - "Publicit\u00e9, publications, relations publiques": { - "Annonces et insertions": { - "account_number": "6231" - }, - "Echantillons": { - "account_number": "6232" - }, - "Foires et expositions": { - "account_number": "6233" - }, - "Cadeaux \u00e0 la client\u00e8le": { - "account_number": "6234" - }, - "Primes": { - "account_number": "6235" - }, - "Catalogues et imprim\u00e9s": { - "account_number": "6236" - }, - "Publications": { - "account_number": "6237" - }, - "Divers (pourboires, dons courants...)": { - "account_number": "6238" - }, - "account_number": "623" - }, - "Transports de biens et transports collectifs du personnel": { - "Transports sur achats": { - "account_number": "6241" - }, - "Transports sur ventes": { - "account_type": "Chargeable", - "account_number": "6242" - }, - "Transports entre \u00e9tablissements ou chantiers": { - "account_number": "6243" - }, - "Transports administratifs": { - "account_number": "6244" - }, - "Transports collectifs du personnel": { - "account_number": "6247" - }, - "Divers": { - "account_number": "6248" - }, - "account_number": "624" - }, - "D\u00e9placements, missions et r\u00e9ceptions": { - "Voyages et d\u00e9placements": { - "account_number": "6251" - }, - "Frais de d\u00e9m\u00e9nagement": { - "account_number": "6255" - }, - "Missions": { - "account_number": "6256" - }, - "R\u00e9ceptions": { - "account_number": "6257" - }, - "account_number": "625" - }, - "Frais postaux et de t\u00e9l\u00e9communications": { - "account_number": "626" - }, - "Services bancaires et assimil\u00e9s": { - "Frais sur titres (achat, vente, garde)": { - "account_number": "6271" - }, - "Commissions et frais sur \u00e9mission d'emprunts": { - "account_number": "6272" - }, - "Frais sur effets": { - "account_number": "6275" - }, - "Location de coffres": { - "account_number": "6276" - }, - "Autres frais et commissions sur prestations de services": { - "account_number": "6278" - }, - "account_number": "627" - }, - "Divers": { - "Concours divers (cotisations...)": { - "account_number": "6281" - }, - "Frais de recrutement de personnel": { - "account_number": "6284" - }, - "account_number": "628" - }, - "Rabais, remises et ristournes obtenus sur autres services ext\u00e9rieurs": { - "account_number": "629" - }, - "account_number": "62" - }, - "Imp\u00f4ts, taxes et versements assimil\u00e9s": { - "Imp\u00f4ts, taxes et versements assimil\u00e9s sur r\u00e9mun\u00e9rations (administrations des imp\u00f4ts)": { - "Taxes sur les salaires": { - "account_number": "6311" - }, - "Taxe d'apprentissage": { - "account_number": "6312" - }, - "Participation des employeurs \u00e0 la formation professionnelle continue": { - "account_number": "6313" - }, - "Cotisation pour d\u00e9faut d'investissement obligatoire dans la construction": { - "account_number": "6314" - }, - "Autres": { - "account_number": "6318" - }, - "account_number": "631" - }, - "Imp\u00f4ts, taxes et versements assimil\u00e9s sur r\u00e9mun\u00e9rations (autres organismes)": { - "Versement de transport": { - "account_number": "6331" - }, - "Allocations logement": { - "account_number": "6332" - }, - "Participation des employeurs \u00e0 la formation professionnelle continue": { - "account_number": "6333" - }, - "Participation des employeurs \u00e0 l'effort de construction": { - "account_number": "6334" - }, - "Versements lib\u00e9ratoires ouvrant droit \u00e0 l'\u00e9xon\u00e9ration de la taxe d'apprentissage": { - "account_number": "6335" - }, - "Autres": { - "account_number": "6338" - }, - "account_number": "633" - }, - "Autres imp\u00f4ts, taxes et versements assimil\u00e9s (administrations des imp\u00f4ts)": { - "Imp\u00f4ts directs (sauf imp\u00f4ts sur les b\u00e9n\u00e9fices)": { - "Contribution \u00e9conomique territoriale": { - "account_number": "63511" - }, - "Taxes fonci\u00e8res": { - "account_number": "63512" - }, - "Autres imp\u00f4ts locaux": { - "account_number": "63513" - }, - "Taxe sur les v\u00e9hicules des soci\u00e9t\u00e9s": { - "account_number": "63514" - }, - "account_number": "6351" - }, - "Taxes sur le chiffre d'affaires non r\u00e9cup\u00e9rables": { - "account_number": "6352" - }, - "Imp\u00f4ts indirects": { - "account_number": "6353" - }, - "Droits d'enregistrement et de timbre": { - "Droits de mutation": { - "account_number": "63541" - }, - "account_number": "6354" - }, - "Autres droits": { - "account_number": "6358" - }, - "account_number": "635" - }, - "Autres imp\u00f4ts, taxes et versements assimil\u00e9s (autres organismes)": { - "Contribution sociale de solidarit\u00e9 \u00e0 la charge des soci\u00e9t\u00e9s": { - "account_number": "6371" - }, - "Taxes per\u00e7ues par les organismes publics internationaux": { - "account_number": "6372" - }, - "Imp\u00f4ts et taxes exigibles \u00e0 l'\u00e9tranger": { - "account_number": "6374" - }, - "Taxes diverses": { - "account_number": "6378" - }, - "account_number": "637" - }, - "account_number": "63" - }, - "Charges de personnel": { - "R\u00e9mun\u00e9rations du personnel": { - "Salaires, appointements": { - "account_number": "6411" - }, - "Cong\u00e9s pay\u00e9s": { - "account_number": "6412" - }, - "Primes et gratifications": { - "account_number": "6413" - }, - "Indemnit\u00e9s et avantages divers": { - "account_number": "6414" - }, - "Suppl\u00e9ment familial": { - "account_number": "6415" - }, - "account_number": "641" - }, - "R\u00e9mun\u00e9ration du travail de l'exploitant": { - "account_number": "644" - }, - "Charges de s\u00e9curit\u00e9 sociale et de pr\u00e9voyance": { - "Cotisations \u00e0 l'URSSAF": { - "account_number": "6451" - }, - "Cotisations aux mutuelles": { - "account_number": "6452" - }, - "Cotisations aux caisses de retraites": { - "account_number": "6453" - }, - "Cotisations aux ASSEDIC": { - "account_number": "6454" - }, - "account_number": "645" - }, - "Cotisations sociales personnelles de l'exploitant": { - "account_number": "646" - }, - "Autres charges sociales": { - "is_group": 1, - "account_number": "647" - }, - "Autres charges de personnel": { - "account_number": "648" - }, - "account_number": "64" - }, - "Autres charges de gestion courante": { - "Redevances pour concessions, brevets, licences, marques, proc\u00e9d\u00e9s, logiciels, droits et valeurs similaires": { - "Redevances pour concessions, brevets, licences, marques, proc\u00e9d\u00e9s, logiciels": { - "account_number": "6511" - }, - "Droits d'auteur et de reproduction": { - "account_number": "6516" - }, - "Autres droits et valeurs similaires": { - "account_number": "6518" - }, - "account_number": "651" - }, - "Jetons de pr\u00e9sence": { - "account_number": "653" - }, - "Pertes sur cr\u00e9ances irr\u00e9couvrables": { - "Cr\u00e9ances de l'exercice": { - "account_number": "6541" - }, - "Cr\u00e9ances des exercices ant\u00e9rieurs": { - "account_number": "6544" - }, - "account_number": "654" - }, - "Quotes-parts de r\u00e9sultat sur op\u00e9rations faites en commun": { - "Quote-part de b\u00e9n\u00e9fice transf\u00e9r\u00e9e (comptabilit\u00e9 du g\u00e9rant)": { - "account_number": "6551" - }, - "Quote-part de perte support\u00e9e (comptabilit\u00e9 des associ\u00e9s non g\u00e9rants)": { - "account_number": "6555" - }, - "account_number": "655" - }, - "Pertes de change sur cr\u00e9ances et dettes commerciales": { - "account_number": "656" - }, - "Charges diverses de gestion courante": { - "account_number": "658" - }, - "account_number": "65" - }, - "Charges financi\u00e8res": { - "Charges d'int\u00e9r\u00eats": { - "Int\u00e9r\u00eats des emprunts et dettes": { - "Int\u00e9r\u00eats des emprunts et dettes - des emprunts et dettes assimil\u00e9es": { - "account_number": "66116" - }, - "Int\u00e9r\u00eats des emprunts et dettes - des dettes rattach\u00e9es \u00e0 des participations": { - "account_number": "66117" - }, - "account_number": "6611" - }, - "Charges de la fiducie, r\u00e9sultat de la p\u00e9riode": { - "account_number": "6612" - }, - "Int\u00e9r\u00eats des comptes courants et des d\u00e9p\u00f4ts cr\u00e9diteurs": { - "account_number": "6615" - }, - "Int\u00e9r\u00eats bancaires et sur op\u00e9rations de financement (escompte...)": { - "account_number": "6616" - }, - "Int\u00e9r\u00eats des obligations cautionn\u00e9es": { - "account_number": "6617" - }, - "Int\u00e9r\u00eats des autres dettes": { - "Int\u00e9r\u00eats des autres dettes - des dettes commerciales": { - "account_number": "66181" - }, - "Int\u00e9r\u00eats des autres dettes - des dettes diverses": { - "account_number": "66188" - }, - "account_number": "6618" - }, - "account_number": "661" - }, - "Pertes sur cr\u00e9ances li\u00e9es \u00e0 des participations": { - "account_number": "664" - }, - "Escomptes accord\u00e9s": { - "account_number": "665" - }, - "Pertes de change financi\u00e8res": { - "account_type": "Round Off", - "account_number": "666" - }, - "Charges nettes sur cessions de valeurs mobili\u00e8res de placement": { - "account_number": "667" - }, - "Autres charges financi\u00e8res": { - "account_number": "668" - }, - "account_number": "66" - }, - "Charges exceptionnelles": { - "Charges exceptionnelles sur op\u00e9rations de gestion": { - "P\u00e9nalit\u00e9s sur march\u00e9s (et d\u00e9dits pay\u00e9s sur achats et ventes)": { - "account_number": "6711" - }, - "P\u00e9nalit\u00e9s, amendes fiscales et p\u00e9nales": { - "account_number": "6712" - }, - "Dons, lib\u00e9ralit\u00e9s": { - "account_number": "6713" - }, - "Cr\u00e9ances devenues irr\u00e9couvrables dans l'exercice": { - "account_number": "6714" - }, - "Subventions accord\u00e9es": { - "account_number": "6715" - }, - "Rappel d'imp\u00f4ts (autres qu'imp\u00f4ts sur les b\u00e9n\u00e9fices)": { - "account_number": "6717" - }, - "Autres charges exceptionnelles sur op\u00e9rations de gestion": { - "account_number": "6718" - }, - "account_number": "671" - }, - "(Compte \u00e0 la disposition des entit\u00e9s pour enregistrer, en cours d'exercice, les charges sur exercices ant\u00e9rieurs)": { - "account_number": "672" - }, - "Op\u00e9rations de constitution ou liquidation des fiducies": { - "Op\u00e9rations li\u00e9es \u00e0 la constitution de la fiducie - transfert des \u00e9l\u00e9ments": { - "account_number": "6741" - }, - "Op\u00e9rations li\u00e9es \u00e0 la liquidation de la fiducie": { - "account_number": "6742" - }, - "account_number": "674" - }, - "Valeurs comptables des \u00e9l\u00e9ments d'actif c\u00e9d\u00e9s": { - "Immobilisations incorporelles": { - "account_number": "6751" - }, - "Immobilisations corporelles": { - "account_number": "6752" - }, - "Immobilisations financi\u00e8res": { - "account_number": "6756" - }, - "Autres \u00e9l\u00e9ments d'actif": { - "account_number": "6758" - }, - "account_number": "675" - }, - "Autres charges exceptionnelles": { - "Mali provenant de clauses d'indexation": { - "account_number": "6781" - }, - "Lots": { - "account_number": "6782" - }, - "Malis provenant du rachat par l'entreprise d'actions et obligations \u00e9mises par elles-m\u00eame": { - "account_number": "6783" - }, - "Charges exceptionnelles diverses": { - "account_number": "6788" - }, - "account_number": "678" - }, - "account_number": "67" - }, - "Dotations aux amortissements, d\u00e9pr\u00e9ciations et provisions": { - "account_type": "Depreciation", - "Dotations aux amortissements, d\u00e9pr\u00e9ciations et provisions - Charges d'exploitation": { - "account_type": "Depreciation", - "Dotations aux amortissements sur immobilisations incorporelles et corporelles": { - "account_type": "Depreciation", - "Immobilisations incorporelles": { - "account_type": "Depreciation", - "account_number": "68111" - }, - "Immobilisations corporelles": { - "account_type": "Depreciation", - "account_number": "68112" - }, - "account_number": "6811" - }, - "Dotations aux amortissements des charges d'exploitation \u00e0 r\u00e9partir": { - "account_type": "Depreciation", - "account_number": "6812" - }, - "Dotations aux provisions d'exploitation": { - "account_type": "Depreciation", - "account_number": "6815" - }, - "Dotations aux d\u00e9pr\u00e9ciations des immobilisations incorporelles et corporelles": { - "account_type": "Depreciation", - "Immobilisations incorporelles": { - "account_type": "Depreciation", - "account_number": "68161" - }, - "Immobilisations corporelles": { - "account_type": "Depreciation", - "account_number": "68162" - }, - "account_number": "6816" - }, - "Dotations pour d\u00e9pr\u00e9ciations des actifs circulants": { - "account_type": "Depreciation", - "Stocks et en-cours": { - "account_type": "Depreciation", - "account_number": "68173" - }, - "Cr\u00e9ances": { - "account_type": "Depreciation", - "account_number": "68174" - }, - "account_number": "6817" - }, - "account_number": "681" - }, - "Dotations aux amortissements, d\u00e9pr\u00e9ciations et provisions - Charges financi\u00e8res": { - "account_type": "Depreciation", - "Dotations aux amortissements des primes de remboursement des obligations": { - "account_type": "Depreciation", - "account_number": "6861" - }, - "Dotations aux provisions financi\u00e8res": { - "account_type": "Depreciation", - "account_number": "6865" - }, - "Dotations aux d\u00e9pr\u00e9ciations des \u00e9l\u00e9ments financiers": { - "account_type": "Depreciation", - "Immobilisations financi\u00e8res": { - "account_type": "Depreciation", - "account_number": "68662" - }, - "Valeurs mobili\u00e8res de placement": { - "account_type": "Depreciation", - "account_number": "68665" - }, - "account_number": "6866" - }, - "Autres dotations": { - "account_type": "Depreciation", - "account_number": "6868" - }, - "account_number": "686" - }, - "Dotations aux amortissements, d\u00e9pr\u00e9ciations et provisions - Charges exceptionnelles": { - "account_type": "Depreciation", - "Dotations aux amortissements exceptionnels des immobilisations": { - "account_type": "Depreciation", - "account_number": "6871" - }, - "Dotations aux provisions r\u00e9glement\u00e9es (immobilisations)": { - "account_type": "Depreciation", - "Amortissements d\u00e9rogatoires": { - "account_type": "Depreciation", - "account_number": "68725" - }, - "account_number": "6872" - }, - "Dotations aux provisions r\u00e9glement\u00e9es (stocks)": { - "account_type": "Depreciation", - "account_number": "6873" - }, - "Dotations aux autres provisions r\u00e9glement\u00e9es": { - "account_type": "Depreciation", - "account_number": "6874" - }, - "Dotations aux provisions exceptionnelles": { - "account_type": "Depreciation", - "account_number": "6875" - }, - "Dotations aux d\u00e9pr\u00e9ciations exceptionnelles": { - "account_type": "Depreciation", - "account_number": "6876" - }, - "account_number": "687" - }, - "account_number": "68" - }, - "Participation des salari\u00e9s, imp\u00f4ts sur les b\u00e9n\u00e9fices et assimil\u00e9s": { - "Participation des salari\u00e9s aux r\u00e9sultats": { - "account_number": "691" - }, - "Imp\u00f4ts sur les b\u00e9n\u00e9fices": { - "Imp\u00f4ts dus en France": { - "account_number": "6951" - }, - "Contribution additionnelle \u00e0 l'imp\u00f4t sur les b\u00e9n\u00e9fices": { - "account_number": "6952" - }, - "Imp\u00f4ts dus \u00e0 l'\u00e9tranger": { - "account_number": "6954" - }, - "account_number": "695" - }, - "Suppl\u00e9ments d'imp\u00f4ts sur les soci\u00e9t\u00e9s, li\u00e9s aux distributions": { - "account_number": "696" - }, - "Int\u00e9gration fiscale": { - "Int\u00e9gration fiscale - Charges": { - "account_number": "6981" - }, - "Int\u00e9gration fiscale - Produits": { - "account_number": "6989" - }, - "account_number": "698" - }, - "Produits - Report en arri\u00e8re des d\u00e9ficits": { - "account_number": "699" - }, - "account_number": "69" - }, - "account_number": "6" - }, - "Comptes de Produits": { - "root_type": "Income", - "Ventes de produits fabriqu\u00e9s, prestations de services, marchandises": { - "Ventes de produits finis": { - "Produits finis (ou groupe) A": { - "account_number": "7011" - }, - "Produits (ou groupe) B": { - "account_number": "7012" - }, - "account_number": "701" - }, - "Ventes de produits interm\u00e9diaires": { - "account_number": "702" - }, - "Ventes de produits r\u00e9siduels": { - "account_number": "703" - }, - "Travaux": { - "Travaux de cat\u00e9gorie (ou activit\u00e9) A": { - "account_number": "7041" - }, - "Travaux de cat\u00e9gorie (ou activit\u00e9) B": { - "account_number": "7042" - }, - "account_number": "704" - }, - "Etudes": { - "account_number": "705" - }, - "Prestations de services": { - "account_number": "706" - }, - "Ventes de marchandises": { - "Marchandises (ou groupe) A": { - "account_number": "7071" - }, - "Marchandises (ou groupe) B": { - "account_number": "7072" - }, - "account_number": "707" - }, - "Produits des activit\u00e9s annexes": { - "Produits des services exploit\u00e9s dans l'int\u00e9r\u00eat du personnel": { - "account_number": "7081" - }, - "Commissions et courtages": { - "account_number": "7082" - }, - "Locations diverses": { - "account_number": "7083" - }, - "Mise \u00e0 disposition de personnel factur\u00e9e": { - "account_number": "7084" - }, - "Ports et frais accessoires factur\u00e9s": { - "account_number": "7085" - }, - "Bonis sur reprises d'emballages consign\u00e9s": { - "account_number": "7086" - }, - "Bonifications obtenues des clients et primes sur ventes": { - "account_number": "7087" - }, - "Autres produits d'activit\u00e9s annexes (cessions d'approvisionnements...)": { - "account_number": "7088" - }, - "account_number": "708" - }, - "Rabais, remises et ristournes accord\u00e9s par l'entreprise": { - "Rabais, remises et ristournes accord\u00e9s par l'entreprise - sur ventes de produits finis": { - "account_number": "7091" - }, - "Rabais, remises et ristournes accord\u00e9s par l'entreprise - sur ventes de produits interm\u00e9diaires": { - "account_number": "7092" - }, - "Rabais, remises et ristournes accord\u00e9s par l'entreprise - sur travaux": { - "account_number": "7094" - }, - "Rabais, remises et ristournes accord\u00e9s par l'entreprise - sur \u00e9tudes": { - "account_number": "7095" - }, - "Rabais, remises et ristournes accord\u00e9s par l'entreprise - sur prestations de services": { - "account_number": "7096" - }, - "Rabais, remises et ristournes accord\u00e9s par l'entreprise - sur ventes de marchandises": { - "account_number": "7097" - }, - "Rabais, remises et ristournes accord\u00e9s par l'entreprise - sur produits des activit\u00e9s annexes": { - "account_number": "7098" - }, - "account_number": "709" - }, - "account_number": "70" - }, - "Production stock\u00e9e (ou d\u00e9stockage)": { - "Variation des stocks (en-cours de production, produits)": { - "Variation des en-cours de production de biens": { - "Produits en cours": { - "account_number": "71331" - }, - "Travaux en cours": { - "account_number": "71335" - }, - "account_number": "7133" - }, - "Variation des en-cours de production de services": { - "Etudes en cours": { - "account_number": "71341" - }, - "Prestations de services en cours": { - "account_number": "71345" - }, - "account_number": "7134" - }, - "Variation des stocks de produits": { - "Produits interm\u00e9diaires": { - "account_number": "71351" - }, - "Produits finis": { - "account_number": "71355" - }, - "Produits r\u00e9siduels": { - "account_number": "71358" - }, - "account_number": "7135" - }, - "account_number": "713" - }, - "account_number": "71" - }, - "Production immobilis\u00e9e": { - "Immobilisations incorporelles": { - "account_number": "721" - }, - "Immobilisations corporelles": { - "account_number": "722" - }, - "account_number": "72" - }, - "Subventions d'exploitation": { - "is_group": 1, - "account_number": "74" - }, - "Autres produits de gestion courante": { - "Redevances pour concessions, brevets, licences, marques, proc\u00e9d\u00e9s, logiciels, droits et valeurs similaires": { - "Redevances pour concessions, brevets, licences, marques, proc\u00e9d\u00e9s, logiciels": { - "account_number": "7511" - }, - "Droits d'auteur et de reproduction": { - "account_number": "7516" - }, - "Autres droits et valeurs similaires": { - "account_number": "7518" - }, - "account_number": "751" - }, - "Revenus des immeubles non affect\u00e9s aux activit\u00e9s professionnelles": { - "account_number": "752" - }, - "Jetons de pr\u00e9sence et r\u00e9mun\u00e9rations d'administrateurs, g\u00e9rants...": { - "account_number": "753" - }, - "Ristournes per\u00e7ues des coop\u00e9ratives (provenant des exc\u00e9dents)": { - "account_number": "754" - }, - "Quotes-parts de r\u00e9sultats sur op\u00e9rations faites en commun": { - "Quote-part de perte transf\u00e9r\u00e9e (comptabilit\u00e9 du g\u00e9rant)": { - "account_number": "7551" - }, - "Quote-part de b\u00e9n\u00e9fice attribu\u00e9 (comptabilit\u00e9 des associ\u00e9s non g\u00e9rants)": { - "account_number": "7555" - }, - "account_number": "755" - }, - "Gains de change sur cr\u00e9ances et dettes commerciales": { - "account_number": "756" - }, - "Produits divers de gestion courante": { - "account_number": "758" - }, - "account_number": "75" - }, - "Produits financiers": { - "Produits de participations": { - "Revenus des titres de participation": { - "account_number": "7611" - }, - "Produits de la fiducie, r\u00e9sultat de la p\u00e9riode": { - "account_number": "7612" - }, - "Revenus sur autres formes de participation": { - "account_number": "7616" - }, - "Revenus des cr\u00e9ances rattach\u00e9es \u00e0 des participations": { - "account_number": "7617" - }, - "account_number": "761" - }, - "Produits des autres immobilisations financi\u00e8res": { - "Revenus des titres immobilis\u00e9s": { - "account_number": "7621" - }, - "Revenus des pr\u00eats": { - "account_number": "7626" - }, - "Revenus des cr\u00e9ances immobilis\u00e9es": { - "account_number": "7627" - }, - "account_number": "762" - }, - "Revenus des autres cr\u00e9ances": { - "Revenus des cr\u00e9ances commerciales": { - "account_number": "7631" - }, - "Revenus des cr\u00e9ances diverses": { - "account_number": "7638" - }, - "account_number": "763" - }, - "Revenus des valeurs mobili\u00e8res de placement": { - "account_number": "764" - }, - "Escomptes obtenus": { - "account_number": "765" - }, - "Gains de change financi\u00e8res": { - "account_type": "Round Off", - "account_number": "766" - }, - "Produits nets sur cessions de valeurs mobili\u00e8res de placement": { - "account_number": "767" - }, - "Autres produits financiers": { - "account_number": "768" - }, - "account_number": "76" - }, - "Produits exceptionnels": { - "Produits exceptionnels sur op\u00e9rations de gestion": { - "D\u00e9dits et p\u00e9nalit\u00e9s per\u00e7us sur achats et sur ventes": { - "account_number": "7711" - }, - "Lib\u00e9ralit\u00e9s re\u00e7ues": { - "account_number": "7713" - }, - "Rentr\u00e9es sur cr\u00e9ances amorties": { - "account_number": "7714" - }, - "Subventions d'\u00e9quilibre": { - "account_number": "7715" - }, - "D\u00e9gr\u00e8vements d'imp\u00f4ts autres qu'imp\u00f4ts sur les b\u00e9n\u00e9fices": { - "account_number": "7717" - }, - "Autres produits exceptionnels sur op\u00e9rations de gestion": { - "account_number": "7718" - }, - "account_number": "771" - }, - "(Compte \u00e0 la disposition des entit\u00e9s pour enregistrer, en cours d'exercice, les Produits sur exercices ant\u00e9rieurs)": { - "account_number": "772" - }, - "Op\u00e9rations de constitution ou liquidation des fiducies": { - "Op\u00e9rations li\u00e9es \u00e0 la constitution de la fiducie - transfert des \u00e9l\u00e9ments": { - "account_number": "7741" - }, - "Op\u00e9rations li\u00e9es \u00e0 la liquidation de la fiducie": { - "account_number": "7742" - }, - "account_number": "774" - }, - "Produits des cessions d'\u00e9l\u00e9ments d'actif": { - "Immobilisations incorporelles": { - "account_number": "7751" - }, - "Immobilisations corporelles": { - "account_number": "7752" - }, - "Immobilisations financi\u00e8res": { - "account_number": "7756" - }, - "Autres \u00e9l\u00e9ments d'actif": { - "account_number": "7758" - }, - "account_number": "775" - }, - "Quote-part des subventions d'investissement vir\u00e9e au r\u00e9sultat de l'exercice": { - "account_number": "777" - }, - "Autres produits exceptionnels": { - "Bonis provenant de clauses d'indexation": { - "account_number": "7781" - }, - "Lots": { - "account_number": "7782" - }, - "Bonis provenant du rachat par l'entreprise d'actions et d'obligations \u00e9mises par elle-m\u00eame": { - "account_number": "7783" - }, - "Produits exceptionnels divers": { - "account_number": "7788" - }, - "account_number": "778" - }, - "account_number": "77" - }, - "Reprises sur amortissements, d\u00e9pr\u00e9ciations et provisions": { - "Reprises sur amortissements, d\u00e9pr\u00e9ciations et provisions (\u00e0 inscrire dans les produits d'exploitation)": { - "Reprises sur amortissements des immobilisations incorporelles et corporelles": { - "Immobilisations incorporelles": { - "account_number": "78111" - }, - "Immobilisations corporelles": { - "account_number": "78112" - }, - "account_number": "7811" - }, - "Reprises sur provisions d'exploitation": { - "account_number": "7815" - }, - "Reprises sur d\u00e9pr\u00e9ciations des immobilisations corporelles et incorporelles": { - "Immobilisations incorporelles": { - "account_number": "78161" - }, - "Immobilisations corporelles": { - "account_number": "78162" - }, - "account_number": "7816" - }, - "Reprises sur d\u00e9pr\u00e9ciations des actifs circulants": { - "Stocks et en-cours": { - "account_number": "78173" - }, - "Cr\u00e9ances": { - "account_number": "78174" - }, - "account_number": "7817" - }, - "account_number": "781" - }, - "Reprises sur d\u00e9pr\u00e9ciations et provisions (\u00e0 inscrire dans les produits financiers)": { - "Reprises sur provisions financi\u00e8res": { - "account_number": "7865" - }, - "Reprises sur d\u00e9pr\u00e9ciations des \u00e9l\u00e9ments financiers": { - "Immobilisations financi\u00e8res": { - "account_number": "78662" - }, - "Valeurs mobili\u00e8res de placement": { - "account_number": "78665" - }, - "account_number": "7866" - }, - "account_number": "786" - }, - "Reprises sur d\u00e9pr\u00e9ciations et provisions (\u00e0 inscrire dans les produits exceptionnels)": { - "Reprises sur provisions r\u00e9glement\u00e9es (immobilisations)": { - "Amortissements d\u00e9rogatoires": { - "account_number": "78725" - }, - "Provision sp\u00e9ciale de r\u00e9\u00e9valuation": { - "account_number": "78726" - }, - "Plus-values r\u00e9investies": { - "account_number": "78727" - }, - "account_number": "7872" - }, - "Reprises sur provisions r\u00e9glement\u00e9es (stocks)": { - "account_number": "7873" - }, - "Reprises sur autres provisions r\u00e9glement\u00e9es": { - "account_number": "7874" - }, - "Reprises sur provisions exceptionnelles": { - "account_number": "7875" - }, - "Reprises sur d\u00e9pr\u00e9ciations exceptionnelles": { - "account_number": "7876" - }, - "account_number": "787" - }, - "account_number": "78" - }, - "Transferts de charges": { - "Transferts de charges d'exploitation": { - "account_number": "791" - }, - "Transferts de charges financi\u00e8res": { - "account_number": "796" - }, - "Transferts de charges exceptionnelles": { - "account_number": "797" - }, - "account_number": "79" - }, - "account_number": "7" - } - } -} From 11d9fd3deeea1c266f57fc04b99f64e1774f0577 Mon Sep 17 00:00:00 2001 From: Florian HENRY Date: Sat, 17 Jan 2026 20:57:08 +0100 Subject: [PATCH 51/68] chore: add Expenses Included In Valuation account (cherry picked from commit c519cd0268e7f61fd7c66381ed25799825b9ff03) --- .../verified/fr_plan2025_comptable_general_avec_code.json | 3 ++- .../verified/fr_plan2025_comptable_general_ex_agricole.json | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/erpnext/accounts/doctype/account/chart_of_accounts/verified/fr_plan2025_comptable_general_avec_code.json b/erpnext/accounts/doctype/account/chart_of_accounts/verified/fr_plan2025_comptable_general_avec_code.json index 61ffcf796b7..c8656326156 100644 --- a/erpnext/accounts/doctype/account/chart_of_accounts/verified/fr_plan2025_comptable_general_avec_code.json +++ b/erpnext/accounts/doctype/account/chart_of_accounts/verified/fr_plan2025_comptable_general_avec_code.json @@ -1514,7 +1514,8 @@ "account_number": "607" }, "Compte r\u00e9serv\u00e9, le cas \u00e9ch\u00e9ant, au regroupement des frais accessoires incorpor\u00e9s aux achats": { - "account_number": "608" + "account_number": "608", + "account_type": "Expenses Included In Valuation" }, "609-Rabais, remises et ristournes obtenus sur achats (m\u00eame ventilation que celle du compte 60)": { "Rabais, remises et ristournes non affect\u00e9s": { diff --git a/erpnext/accounts/doctype/account/chart_of_accounts/verified/fr_plan2025_comptable_general_ex_agricole.json b/erpnext/accounts/doctype/account/chart_of_accounts/verified/fr_plan2025_comptable_general_ex_agricole.json index d18ea5284a4..d040b5008ab 100644 --- a/erpnext/accounts/doctype/account/chart_of_accounts/verified/fr_plan2025_comptable_general_ex_agricole.json +++ b/erpnext/accounts/doctype/account/chart_of_accounts/verified/fr_plan2025_comptable_general_ex_agricole.json @@ -2107,7 +2107,8 @@ } }, "Frais accessoires sur achats": { - "account_number": "608" + "account_number": "608", + "account_type": "Expenses Included In Valuation" }, "609-Rabais, remises et ristournes obtenus sur achats": { "RRR sur achats d'autres approvisionnements": { From 0c546c9e5acbaf6d3e44c9bff41167b276a49497 Mon Sep 17 00:00:00 2001 From: Florian HENRY Date: Sat, 17 Jan 2026 21:17:43 +0100 Subject: [PATCH 52/68] chore: fix bank acount type (cherry picked from commit 765487a0870212673b062433caebe2636561e20c) --- .../verified/fr_plan2025_comptable_general_avec_code.json | 1 + 1 file changed, 1 insertion(+) diff --git a/erpnext/accounts/doctype/account/chart_of_accounts/verified/fr_plan2025_comptable_general_avec_code.json b/erpnext/accounts/doctype/account/chart_of_accounts/verified/fr_plan2025_comptable_general_avec_code.json index c8656326156..2c00d9e47d2 100644 --- a/erpnext/accounts/doctype/account/chart_of_accounts/verified/fr_plan2025_comptable_general_avec_code.json +++ b/erpnext/accounts/doctype/account/chart_of_accounts/verified/fr_plan2025_comptable_general_avec_code.json @@ -1359,6 +1359,7 @@ } }, "512-Banques": { + "account_type": "Bank", "Comptes en euros": { "account_type": "Bank", "account_number": "5121" From a195690bc827c224563a21bd7e5758caf8258c42 Mon Sep 17 00:00:00 2001 From: Florian HENRY Date: Sat, 17 Jan 2026 22:05:53 +0100 Subject: [PATCH 53/68] chore: fix CASH acount type (cherry picked from commit 6a876de83884a50ec573f85adb381403a215d782) --- .../verified/fr_plan2025_comptable_general_avec_code.json | 7 +++++-- .../fr_plan2025_comptable_general_ex_agricole.json | 7 +++++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/erpnext/accounts/doctype/account/chart_of_accounts/verified/fr_plan2025_comptable_general_avec_code.json b/erpnext/accounts/doctype/account/chart_of_accounts/verified/fr_plan2025_comptable_general_avec_code.json index 2c00d9e47d2..4d7f879ddc7 100644 --- a/erpnext/accounts/doctype/account/chart_of_accounts/verified/fr_plan2025_comptable_general_avec_code.json +++ b/erpnext/accounts/doctype/account/chart_of_accounts/verified/fr_plan2025_comptable_general_avec_code.json @@ -1406,9 +1406,12 @@ "account_number": "524" } }, - "Caisse": { + "53-Caisse": { "account_type": "Cash", - "account_number": "53" + "Caisse": { + "account_type": "Cash", + "account_number": "530" + } }, "Virements internes": { "account_number": "58" diff --git a/erpnext/accounts/doctype/account/chart_of_accounts/verified/fr_plan2025_comptable_general_ex_agricole.json b/erpnext/accounts/doctype/account/chart_of_accounts/verified/fr_plan2025_comptable_general_ex_agricole.json index d040b5008ab..6148e94e357 100644 --- a/erpnext/accounts/doctype/account/chart_of_accounts/verified/fr_plan2025_comptable_general_ex_agricole.json +++ b/erpnext/accounts/doctype/account/chart_of_accounts/verified/fr_plan2025_comptable_general_ex_agricole.json @@ -1920,9 +1920,12 @@ "Instruments de tr\u00e9sorerie": { "account_number": "52" }, - "Caisse": { + "53-Caisse": { "account_type": "Cash", - "account_number": "53" + "Caisse": { + "account_type": "Cash", + "account_number": "530" + } }, "R\u00e9gies d'avance et accr\u00e9ditifs": { "account_number": "54" From 1ed8857d3184ecfa854eecd3c33bb1bdb76fd078 Mon Sep 17 00:00:00 2001 From: Florian HENRY Date: Sun, 18 Jan 2026 10:43:09 +0100 Subject: [PATCH 54/68] chore: fix bank account type (cherry picked from commit 4fe1b214c1762f65ba34660ddd96cc65b40a7e1e) --- .../fr_plan2025_comptable_general_ex_agricole.json | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/erpnext/accounts/doctype/account/chart_of_accounts/verified/fr_plan2025_comptable_general_ex_agricole.json b/erpnext/accounts/doctype/account/chart_of_accounts/verified/fr_plan2025_comptable_general_ex_agricole.json index 6148e94e357..6d8d2b14302 100644 --- a/erpnext/accounts/doctype/account/chart_of_accounts/verified/fr_plan2025_comptable_general_ex_agricole.json +++ b/erpnext/accounts/doctype/account/chart_of_accounts/verified/fr_plan2025_comptable_general_ex_agricole.json @@ -1878,9 +1878,16 @@ "account_number": "5114" } }, - "Banques": { - "account_type": "Bank", - "account_number": "512" + "512-Banques": { + "account_type": "Bank", + "Comptes en euros": { + "account_type": "Bank", + "account_number": "5121" + }, + "Comptes en devises": { + "account_type": "Bank", + "account_number": "5124" + } }, "Ch\u00e8ques postaux": { "account_number": "514" From 6b9107c05c6275c8d462d8c27babcee0d9ef45a2 Mon Sep 17 00:00:00 2001 From: Florian HENRY Date: Sun, 18 Jan 2026 10:46:13 +0100 Subject: [PATCH 55/68] chore: re add older template (cherry picked from commit b3efb3084fb2e562404e0b52b4d806be74f7f7c0) --- .../fr_plan_comptable_general_avec_code.json | 3145 +++++++++++++++++ 1 file changed, 3145 insertions(+) create mode 100644 erpnext/accounts/doctype/account/chart_of_accounts/verified/fr_plan_comptable_general_avec_code.json diff --git a/erpnext/accounts/doctype/account/chart_of_accounts/verified/fr_plan_comptable_general_avec_code.json b/erpnext/accounts/doctype/account/chart_of_accounts/verified/fr_plan_comptable_general_avec_code.json new file mode 100644 index 00000000000..d599ea65ea6 --- /dev/null +++ b/erpnext/accounts/doctype/account/chart_of_accounts/verified/fr_plan_comptable_general_avec_code.json @@ -0,0 +1,3145 @@ +{ + "country_code": "fr", + "name": "France - Plan Comptable General avec code", + "tree": { + "Comptes de Capitaux": { + "root_type": "Equity", + "Capital et R\u00e9serves": { + "Capital": { + "Capital souscrit - non appel\u00e9": { + "account_number": "1011" + }, + "Capital souscrit - appel\u00e9, non vers\u00e9": { + "account_number": "1012" + }, + "Capital souscrit - appel\u00e9, vers\u00e9": { + "Capital non amorti": { + "account_number": "10131" + }, + "Capital amorti": { + "account_number": "10132" + }, + "account_number": "1013" + }, + "Capital souscrit soumis \u00e0 des r\u00e9glementations particuli\u00e8res": { + "account_number": "1018" + }, + "account_number": "101" + }, + "Fonds fiduciaires": { + "account_number": "102" + }, + "Primes li\u00e9es au capital social": { + "Primes d'\u00e9mission": { + "account_number": "1041" + }, + "Primes de fusion": { + "account_number": "1042" + }, + "Primes d'apport": { + "account_number": "1043" + }, + "Primes de conversion d'obligations en actions": { + "account_number": "1044" + }, + "Bons de souscription d'actions": { + "account_number": "1045" + }, + "account_number": "104" + }, + "Ecarts de r\u00e9\u00e9valuation": { + "R\u00e9serve sp\u00e9ciale de r\u00e9\u00e9valuation": { + "account_number": "1051" + }, + "Ecart de r\u00e9\u00e9valuation libre": { + "account_number": "1052" + }, + "R\u00e9serve de r\u00e9\u00e9valuation": { + "account_number": "1053" + }, + "Ecarts de r\u00e9\u00e9valuation (autres op\u00e9rations l\u00e9gales)": { + "account_number": "1055" + }, + "Autres \u00e9carts de r\u00e9\u00e9valuation en France": { + "account_number": "1057" + }, + "Autres \u00e9carts de r\u00e9\u00e9valuation \u00e0 l'\u00e9tranger": { + "account_number": "1058" + }, + "account_number": "105" + }, + "R\u00e9serves": { + "R\u00e9serve l\u00e9gale": { + "R\u00e9serve l\u00e9gale proprement dite": { + "account_number": "10611" + }, + "Plus-values nettes \u00e0 long terme": { + "account_number": "10612" + }, + "account_number": "1061" + }, + "R\u00e9serves indisponibles": { + "account_number": "1062" + }, + "R\u00e9serves statutaires ou contractuelles": { + "account_number": "1063" + }, + "R\u00e9serves r\u00e9glement\u00e9es": { + "Plus-values nettes \u00e0 long terme": { + "account_number": "10641" + }, + "R\u00e9serves cons\u00e9cutives \u00e0 l'octroi de subventions d'investissement": { + "account_number": "10643" + }, + "Autres r\u00e9serves r\u00e9glement\u00e9es": { + "account_number": "10648" + }, + "account_number": "1064" + }, + "Autres r\u00e9serves": { + "R\u00e9serve de propre assureur": { + "account_number": "10681" + }, + "R\u00e9serves diverses": { + "account_number": "10688" + }, + "account_number": "1068" + }, + "account_number": "106" + }, + "Ecarts d'\u00e9quivalence": { + "account_number": "107" + }, + "Compte de l'exploitant": { + "account_number": "108" + }, + "Actionnaires: Capital souscrit - non appel\u00e9": { + "account_number": "109" + }, + "account_number": "10" + }, + "Report \u00e0 Nouveau": { + "Report \u00e0 nouveau (solde cr\u00e9diteur)": { + "account_number": "110" + }, + "Report \u00e0 nouveau (solde d\u00e9biteur)": { + "account_number": "119" + }, + "account_number": "11" + }, + "R\u00e9sultat de l'Exercice": { + "R\u00e9sultat de l'exercice (b\u00e9n\u00e9fice)": { + "account_number": "120" + }, + "R\u00e9sultat de l'exercice (perte)": { + "account_number": "129" + }, + "account_number": "12" + }, + "Subventions d'Investissement": { + "Subventions d'\u00e9quipement": { + "Etat": { + "account_number": "1311" + }, + "R\u00e9gions": { + "account_number": "1312" + }, + "D\u00e9partements": { + "account_number": "1313" + }, + "Communes": { + "account_number": "1314" + }, + "Collectivit\u00e9s publiques": { + "account_number": "1315" + }, + "Entreprises publiques": { + "account_number": "1316" + }, + "Entreprises et organismes priv\u00e9s": { + "account_number": "1317" + }, + "Autres": { + "account_number": "1318" + }, + "account_number": "131" + }, + "Autres subventions d'investissement (m\u00eame ventilation que celle du compte 131)": { + "account_number": "138" + }, + "Subventions d'investissement inscrites au compte de r\u00e9sultat": { + "Subventions d'\u00e9quipement": { + "Etat": { + "account_number": "13911" + }, + "R\u00e9gions": { + "account_number": "13912" + }, + "D\u00e9partements": { + "account_number": "13913" + }, + "Communes": { + "account_number": "13914" + }, + "Collectivit\u00e9s publiques": { + "account_number": "13915" + }, + "Entreprises publiques": { + "account_number": "13916" + }, + "Entreprises et organismes priv\u00e9s": { + "account_number": "13917" + }, + "Autres": { + "account_number": "13918" + }, + "account_number": "1391" + }, + "Autres subventions d'investissement (m\u00eame ventilation que celle du compte 1391)": { + "account_number": "1398" + }, + "account_number": "139" + }, + "account_number": "13" + }, + "Provisions R\u00e9glement\u00e9es": { + "Provisions r\u00e9glement\u00e9es relative aux immobilisations": { + "Provisions pour reconstitution des gisements miniers et p\u00e9troliers": { + "account_number": "1423" + }, + "Provisions pour investissement (participation des salari\u00e9s)": { + "account_number": "1424" + }, + "account_number": "142" + }, + "Provisions r\u00e9glement\u00e9es relatives aux stocks": { + "Hausse des prix": { + "account_number": "1431" + }, + "Fluctuation des cours": { + "account_number": "1432" + }, + "account_number": "143" + }, + "Provisions r\u00e9glement\u00e9es relatives aux autres \u00e9l\u00e9ments de l'actif": { + "account_number": "144" + }, + "Amortissements d\u00e9rogatoires": { + "account_number": "145" + }, + "Provision sp\u00e9ciale de r\u00e9\u00e9valuation": { + "account_number": "146" + }, + "Plus-values r\u00e9investies": { + "account_number": "147" + }, + "Autres provisions r\u00e9glement\u00e9es": { + "account_number": "148" + }, + "account_number": "14" + }, + "Provisions": { + "Provisions pour risques": { + "Provisions pour litiges": { + "account_number": "1511" + }, + "Provisions pour garanties donn\u00e9es aux clients": { + "account_number": "1512" + }, + "Provisions pour pertes sur march\u00e9s \u00e0 terme": { + "account_number": "1513" + }, + "Provisions pour amendes et p\u00e9nalit\u00e9s": { + "account_number": "1514" + }, + "Provisions pour pertes de change": { + "account_number": "1515" + }, + "Provisions pour pertes sur contrats": { + "account_number": "1516" + }, + "Autres provisions pour risques": { + "account_number": "1518" + }, + "account_number": "151" + }, + "Provisions pour pensions et obligations similaires": { + "account_number": "153" + }, + "Provisions pour restructurations": { + "account_number": "154" + }, + "Provisions pour imp\u00f4ts": { + "account_number": "155" + }, + "Provisions pour renouvellement des immobilisations (entreprises concessionnaires) ": { + "account_number": "156" + }, + "Provisions pour charges \u00e0 r\u00e9partir sur plusieurs exercices": { + "Provisions pour gros entretien ou grandes r\u00e9visions": { + "account_number": "1572" + }, + "account_number": "157" + }, + "Autres provisions pour charges": { + "Provisions pour remises en \u00e9tat": { + "account_number": "1581" + }, + "account_number": "158" + }, + "account_number": "15" + }, + "Emprunts et Dettes Assimil\u00e9es": { + "Emprunts obligataires convertibles": { + "account_number": "161" + }, + "Obligations repr\u00e9sentatives de passifs nets remis en fiducie": { + "account_number": "162" + }, + "Autres emprunts obligataires": { + "account_number": "163" + }, + "Emprunts aupr\u00e8s des \u00e9tablissements de cr\u00e9dit": { + "account_number": "164" + }, + "D\u00e9p\u00f4ts et cautionnements re\u00e7us": { + "D\u00e9p\u00f4ts": { + "account_number": "1651" + }, + "Cautionnements": { + "account_number": "1655" + }, + "account_number": "165" + }, + "Participation des salari\u00e9s aux r\u00e9sultats": { + "Comptes bloqu\u00e9s": { + "account_number": "1661" + }, + "Fonds de participation": { + "account_number": "1662" + }, + "account_number": "166" + }, + "Emprunts et dettes assortis de conditions particuli\u00e8res": { + "Emissions de titres participatifs": { + "account_number": "1671" + }, + "Avances conditionn\u00e9es de l'Etat": { + "account_number": "1674" + }, + "Emprunts participatifs": { + "account_number": "1675" + }, + "account_number": "167" + }, + "Autres emprunts et dettes assimil\u00e9es": { + "Autres emprunts": { + "account_number": "1681" + }, + "Rentes viag\u00e8res capitalis\u00e9es": { + "account_number": "1685" + }, + "Autres dettes": { + "account_number": "1687" + }, + "Int\u00e9r\u00eats courus": { + "Int\u00e9r\u00eats courus sur emprunts obligataires convertibles": { + "account_number": "16881" + }, + "Int\u00e9r\u00eats courus sur autres emprunts obligataires": { + "account_number": "16883" + }, + "Int\u00e9r\u00eats courus sur emprunts aupr\u00e8s des \u00e9tablissements de cr\u00e9dit": { + "account_number": "16884" + }, + "Int\u00e9r\u00eats courus sur d\u00e9p\u00f4ts et cautionnements re\u00e7us": { + "account_number": "16885" + }, + "Int\u00e9r\u00eats courus sur participation des salari\u00e9s aux r\u00e9sultats": { + "account_number": "16886" + }, + "Int\u00e9r\u00eats courus sur emprunts et dettes assortis de conditions particuli\u00e8res": { + "account_number": "16887" + }, + "Int\u00e9r\u00eats courus sur autres emprunts et dettes assimil\u00e9es": { + "account_number": "16888" + }, + "account_number": "1688" + }, + "Primes de remboursement des obligations": { + "account_number": "169" + }, + "account_number": "168" + }, + "account_number": "16" + }, + "Dettes Rattach\u00e9es \u00e0 des Participations": { + "Dettes rattach\u00e9es \u00e0 des participations (groupe)": { + "account_number": "171" + }, + "Dettes rattach\u00e9es \u00e0 des participations (hors groupe)": { + "account_number": "174" + }, + "Dettes rattach\u00e9es \u00e0 des soci\u00e9t\u00e9s en participation": { + "Principal": { + "account_number": "1781" + }, + "Int\u00e9r\u00eats courus": { + "account_number": "1788" + }, + "account_number": "178" + }, + "account_number": "17" + }, + "Comptes de liaison des \u00e9tablisssements et soci\u00e9t\u00e9s en participation": { + "Comptes de liaison des \u00e9tablissements": { + "account_number": "181" + }, + "Biens et prestations de services \u00e9chang\u00e9s entre \u00e9tablissements (charges)": { + "account_number": "186" + }, + "Biens et prestations de services \u00e9chang\u00e9s entre \u00e9tablissements (produits)": { + "account_number": "187" + }, + "Comptes de liaison des soci\u00e9t\u00e9s en participation": { + "account_number": "188" + }, + "account_number": "18" + }, + "account_number": "1" + }, + "Comptes d'Immobilisations": { + "root_type": "Asset", + "Immobilisations incorporelles": { + "Frais \u00e9tablissement": { + "Frais de constitution": { + "account_number": "2011" + }, + "Frais de premier \u00e9tablissement": { + "Frais de prospection": { + "account_number": "20121" + }, + "Frais de publicit\u00e9": { + "account_number": "20122" + }, + "account_number": "2012" + }, + "Frais d'augmentation de capital et d'op\u00e9rations diverses (fusions, scissions, transformations)": { + "account_number": "2013" + }, + "account_number": "201" + }, + "Frais de recherche et de d\u00e9veloppement": { + "account_number": "203" + }, + "Concessions et droits similaires, brevets, licences, marques, proc\u00e9d\u00e9s, logiciels, droits et valeurs similaires": { + "account_number": "205" + }, + "Droit au bail": { + "account_number": "206" + }, + "Fonds commercial": { + "account_number": "207" + }, + "Autres immobilisations incorporelles": { + "Mali de fusion sur actifs incorporels": { + "account_number": "2081" + }, + "account_number": "208" + }, + "account_number": "20" + }, + "Immobilisations corporelles": { + "account_type": "Fixed Asset", + "Terrains": { + "account_type": "Fixed Asset", + "Terrains nus": { + "account_type": "Fixed Asset", + "account_number": "2111" + }, + "Terrains am\u00e9nag\u00e9s": { + "account_type": "Fixed Asset", + "account_number": "2112" + }, + "Sous-sols et sur-sols": { + "account_type": "Fixed Asset", + "account_number": "2113" + }, + "Terrains de carri\u00e8res (tr\u00e9fonds)": { + "account_type": "Fixed Asset", + "account_number": "2114" + }, + "Terrains b\u00e2tis": { + "account_type": "Fixed Asset", + "Ensembles immobiliers industriels (A, B)": { + "account_type": "Fixed Asset", + "account_number": "21151" + }, + "Ensembles immobiliers administratifs et commerciaux (A, B)": { + "account_type": "Fixed Asset", + "account_number": "21155" + }, + "Autres ensembles immobiliers": { + "account_type": "Fixed Asset", + "Autres ensembles immobiliers affect\u00e9s aux op\u00e9rations professionnelles (A, B)": { + "account_type": "Fixed Asset", + "account_number": "211581" + }, + "Autres ensembles immobiliers affect\u00e9s aux op\u00e9rations non professionnelles (A, B)": { + "account_type": "Fixed Asset", + "account_number": "211588" + }, + "account_number": "21158" + }, + "account_number": "2115" + }, + "account_number": "211" + }, + "Agencements et am\u00e9nagements de terrains (m\u00eame ventilation que celle du compte 211)": { + "account_type": "Fixed Asset", + "account_number": "212" + }, + "Constructions": { + "account_type": "Fixed Asset", + "B\u00e2timents": { + "account_type": "Fixed Asset", + "Ensembles immobiliers industriels (A, B)": { + "account_type": "Fixed Asset", + "account_number": "21311" + }, + "Ensembles immobiliers administratifs et commerciaux (A, B)": { + "account_type": "Fixed Asset", + "account_number": "21315" + }, + "Autres ensembles immobiliers": { + "account_type": "Fixed Asset", + "Autres ensembles immobiliers affect\u00e9s aux op\u00e9rations professionnelles (A, B)": { + "account_type": "Fixed Asset", + "account_number": "213181" + }, + "Autres ensembles immobiliers affect\u00e9s aux op\u00e9rations non professionnelles (A, B)": { + "account_type": "Fixed Asset", + "account_number": "213188" + }, + "account_number": "21318" + }, + "account_number": "2131" + }, + "Installations g\u00e9n\u00e9rales, agencements, am\u00e9nagements des constructions": { + "account_type": "Fixed Asset", + "Ensembles immobiliers industriels (A, B)": { + "account_type": "Fixed Asset", + "account_number": "21351" + }, + "Ensembles immobiliers administratifs et commerciaux (A, B)": { + "account_type": "Fixed Asset", + "account_number": "21355" + }, + "Autres ensembles immobiliers": { + "account_type": "Fixed Asset", + "Autres ensembles immobiliers affect\u00e9s aux op\u00e9rations professionnelles (A, B)": { + "account_type": "Fixed Asset", + "account_number": "213581" + }, + "Autres ensembles immobiliers affect\u00e9s aux op\u00e9rations non professionnelles (A, B)": { + "account_type": "Fixed Asset", + "account_number": "213588" + }, + "account_number": "21358" + }, + "account_number": "2135" + }, + "Ouvrages d'infrastructure": { + "account_type": "Fixed Asset", + "Voies de terre": { + "account_type": "Fixed Asset", + "account_number": "21381" + }, + "Voies de fer": { + "account_type": "Fixed Asset", + "account_number": "21382" + }, + "Voies d'eau": { + "account_type": "Fixed Asset", + "account_number": "21383" + }, + "Barrages": { + "account_type": "Fixed Asset", + "account_number": "21384" + }, + "Pistes d'a\u00e9rodromes": { + "account_type": "Fixed Asset", + "account_number": "21385" + }, + "account_number": "2138" + }, + "account_number": "213" + }, + "Constructions sur sol d'autrui (m\u00eame ventilation que celle du compte 213)": { + "account_type": "Fixed Asset", + "account_number": "214" + }, + "Installations techniques, mat\u00e9riel et outillage industriels": { + "account_type": "Fixed Asset", + "Installations complexes sp\u00e9cialis\u00e9es": { + "account_type": "Fixed Asset", + "Installations complexes sp\u00e9cialis\u00e9es - sur sol propre": { + "account_type": "Fixed Asset", + "account_number": "21511" + }, + "Installations complexes sp\u00e9cialis\u00e9es - sur sol d'autrui": { + "account_type": "Fixed Asset", + "account_number": "21514" + }, + "account_number": "2151" + }, + "Installations \u00e0 caract\u00e8re sp\u00e9cifique": { + "account_type": "Fixed Asset", + "Installations \u00e0 caract\u00e8re sp\u00e9cifique - sur sol propre": { + "account_type": "Fixed Asset", + "account_number": "21531" + }, + "Installations \u00e0 caract\u00e8re sp\u00e9cifique - sur sol d'autrui": { + "account_type": "Fixed Asset", + "account_number": "21534" + }, + "account_number": "2153" + }, + "Mat\u00e9riel industriel": { + "account_type": "Fixed Asset", + "account_number": "2154" + }, + "Outillage industriel": { + "account_type": "Fixed Asset", + "account_number": "2155" + }, + "Agencements et am\u00e9nagements du mat\u00e9riel et outillage industriel": { + "account_type": "Fixed Asset", + "account_number": "2157" + }, + "account_number": "215" + }, + "Autres immobilisations corporelles": { + "account_type": "Fixed Asset", + "Installations g\u00e9n\u00e9rales, agencements, am\u00e9nagements divers": { + "account_type": "Fixed Asset", + "account_number": "2181" + }, + "Mat\u00e9riel de transport": { + "account_type": "Fixed Asset", + "account_number": "2182" + }, + "Mat\u00e9riel de bureau et mat\u00e9riel informatique": { + "account_type": "Fixed Asset", + "account_number": "2183" + }, + "Mobilier": { + "account_type": "Fixed Asset", + "account_number": "2184" + }, + "Cheptel": { + "account_type": "Fixed Asset", + "account_number": "2185" + }, + "Emballages r\u00e9cup\u00e9rables": { + "account_type": "Fixed Asset", + "account_number": "2186" + }, + "Mali de fusion sur actifs corporels": { + "account_number": "2187" + }, + "account_number": "218" + }, + "account_number": "21" + }, + "Immobilisations mises en concession": { + "account_number": "22" + }, + "Immobilisations en cours": { + "Immobilisations corporelles en cours": { + "Terrains": { + "account_number": "2312" + }, + "Constructions": { + "account_number": "2313" + }, + "Installations techniques, mat\u00e9riel et outillage industriels": { + "account_number": "2315" + }, + "Autres immobilisations corporelles": { + "account_number": "2318" + }, + "account_number": "231" + }, + "Immobilisations incorporelles en cours": { + "account_number": "232" + }, + "Avances et acomptes vers\u00e9s sur commandes d'immobilisations incorporelles": { + "account_number": "237" + }, + "Avances et acomptes vers\u00e9s sur commandes d'immobilisations corporelles": { + "Terrains": { + "account_number": "2382" + }, + "Constructions": { + "account_number": "2383" + }, + "Installations techniques, mat\u00e9riel et outillage industriels": { + "account_number": "2385" + }, + "Autres immobilisations corporelles": { + "account_number": "2388" + }, + "account_number": "238" + }, + "account_number": "23" + }, + "Parts dans des entreprises li\u00e9es et cr\u00e9ances sur des entreprises li\u00e9es": { + "is_group": 1, + "account_number": "25" + }, + "Participations et cr\u00e9ances rattach\u00e9es \u00e0 des participations": { + "Titres de participation": { + "Actions": { + "account_number": "2611" + }, + "Autres titres": { + "account_number": "2618" + }, + "account_number": "261" + }, + "Autres formes de participation": { + "Droit repr\u00e9sentatifs d'actifs nets remis en fiducie": { + "account_number": "2661" + }, + "account_number": "266" + }, + "Cr\u00e9ances rattach\u00e9es \u00e0 des participations": { + "Cr\u00e9ances rattach\u00e9es \u00e0 des participations (groupe)": { + "account_number": "2671" + }, + "Cr\u00e9ances rattach\u00e9es \u00e0 des participations (hors groupe)": { + "account_number": "2674" + }, + "Versements repr\u00e9sentatifs d'apports non capitalis\u00e9s (appel de fonds)": { + "account_number": "2675" + }, + "Avances consolidables": { + "account_number": "2676" + }, + "Autres cr\u00e9ances rattach\u00e9es \u00e0 des participations": { + "account_number": "2677" + }, + "Int\u00e9r\u00eats courus": { + "account_number": "2678" + }, + "account_number": "267" + }, + "Cr\u00e9ances rattach\u00e9es \u00e0 des soci\u00e9t\u00e9s en participation": { + "Principal": { + "account_number": "2681" + }, + "Int\u00e9r\u00eats courus": { + "account_number": "2688" + }, + "account_number": "268" + }, + "Versements restant \u00e0 effectuer sur titres de participation non lib\u00e9r\u00e9s": { + "account_number": "269" + }, + "account_number": "26" + }, + "Autres immobilisations financi\u00e8res": { + "Titres immobilis\u00e9s autres que les titres immobilis\u00e9s de l'activit\u00e9 de portefeuille (droit de propri\u00e9t\u00e9)": { + "Actions": { + "account_number": "2711" + }, + "Autres titres": { + "account_number": "2718" + }, + "account_number": "271" + }, + "Titres immobilis\u00e9s (droit de cr\u00e9ance)": { + "Obligations": { + "account_number": "2721" + }, + "Bons": { + "account_number": "2722" + }, + "account_number": "272" + }, + "Titres immobilis\u00e9s de l'activit\u00e9 de portefeuille": { + "account_number": "273" + }, + "Pr\u00eats": { + "Pr\u00eats participatifs": { + "account_number": "2741" + }, + "Pr\u00eats aux associ\u00e9s": { + "account_number": "2742" + }, + "Pr\u00eats au personnel": { + "account_number": "2743" + }, + "Autres pr\u00eats": { + "account_number": "2748" + }, + "account_number": "274" + }, + "D\u00e9p\u00f4ts et cautionnements vers\u00e9s": { + "D\u00e9p\u00f4ts": { + "account_number": "2751" + }, + "Cautionnements": { + "account_number": "2755" + }, + "account_number": "275" + }, + "Autres cr\u00e9ances immobilis\u00e9es": { + "Cr\u00e9ances diverses": { + "account_number": "2761" + }, + "Int\u00e9r\u00eats courus": { + "Int\u00e9r\u00eats courus sur titres immobilis\u00e9s (droit de cr\u00e9ance)": { + "account_number": "27682" + }, + "Int\u00e9r\u00eats courus sur pr\u00eats": { + "account_number": "27684" + }, + "Int\u00e9r\u00eats courus sur d\u00e9p\u00f4ts et cautionnements": { + "account_number": "27685" + }, + "Int\u00e9r\u00eats courus sur cr\u00e9ances diverses": { + "account_number": "27688" + }, + "account_number": "2768" + }, + "account_number": "276" + }, + "(Actions propres ou parts propres)": { + "Actions propres ou parts propres": { + "account_number": "2771" + }, + "Actions propres ou parts propres en voie d'annulation": { + "account_number": "2772" + }, + "account_number": "277" + }, + "Mali de fusion sur actifs financiers": { + "account_number": "278" + }, + "Versements restant \u00e0 effectuer sur titres immobilis\u00e9s non lib\u00e9r\u00e9s": { + "account_number": "279" + }, + "account_number": "27" + }, + "Amortissements des immobilisations": { + "account_type": "Accumulated Depreciation", + "Amortissements des immobilisations incorporelles": { + "account_type": "Accumulated Depreciation", + "Frais d'\u00e9tablissement (m\u00eame ventilation que celle du compte 212)": { + "account_type": "Accumulated Depreciation", + "account_number": "2801" + }, + "Frais de recherche et de d\u00e9veloppement": { + "account_type": "Accumulated Depreciation", + "account_number": "2803" + }, + "Concessions et droits similaires, brevets, licences, logiciels, droits et valeurs similaires": { + "account_type": "Accumulated Depreciation", + "account_number": "2805" + }, + "Fonds commercial": { + "account_type": "Accumulated Depreciation", + "account_number": "2807" + }, + "Autres immobilisations incorporelles": { + "account_type": "Accumulated Depreciation", + "Mali de fusion sur actifs incorporels": { + "account_type": "Accumulated Depreciation", + "account_number": "28081" + }, + "account_number": "2808" + }, + "account_number": "280" + }, + "Amortissements des immobilisations corporelles": { + "account_type": "Accumulated Depreciation", + "Terrains de gisement": { + "account_type": "Accumulated Depreciation", + "account_number": "2811" + }, + "Agencements, am\u00e9nagements de terrains (m\u00eame ventilation que celle du compte 212)": { + "account_type": "Accumulated Depreciation", + "account_number": "2812" + }, + "Constructions (m\u00eame ventilation que celle du compte 213)": { + "account_type": "Accumulated Depreciation", + "account_number": "2813" + }, + "Constructions sur sol d'autrui (m\u00eame ventilation que celle du compte du 214)": { + "account_type": "Accumulated Depreciation", + "account_number": "2814" + }, + "Installations techniques, mat\u00e9riel et outillage industriels (m\u00eame ventilation que celle du compte 218)": { + "account_type": "Accumulated Depreciation", + "account_number": "2815" + }, + "Autres immobilisations corporelles (m\u00eame ventilation que celle du compte 218)": { + "account_type": "Accumulated Depreciation", + "Mali de fusion sur actifs corporels": { + "account_type": "Accumulated Depreciation", + "account_number": "28187" + }, + "account_number": "2818" + }, + "account_number": "281" + }, + "Amortissements des immobilisations mises en concession": { + "account_number": "282" + }, + "account_number": "28" + }, + "D\u00e9pr\u00e9ciations des immobilisations": { + "D\u00e9pr\u00e9ciations des immobilisations incorporelles": { + "Marques, proc\u00e9d\u00e9s, droits et valeurs similaires": { + "account_number": "2905" + }, + "Droit au bail": { + "account_number": "2906" + }, + "Fonds commercial": { + "account_number": "2907" + }, + "Autres immobilisations incorporelles": { + "Mali de fusion sur actifs incorporels": { + "account_number": "29081" + }, + "account_number": "2908" + }, + "account_number": "290" + }, + "D\u00e9pr\u00e9ciations des immobilisations corporelles (m\u00eame ventilation que celle du compte 21)": { + "Terrains (autres que terrains de gisement)": { + "Mali de fusion sur actifs corporels": { + "account_number": "29187" + }, + "account_number": "2911" + }, + "account_number": "291" + }, + "D\u00e9pr\u00e9ciations des immobilisations mises en concession": { + "account_number": "292" + }, + "D\u00e9pr\u00e9ciations des immobilisations en cours": { + "Immobilisations corporelles en cours": { + "account_number": "2931" + }, + "Immobilisations incorporelles en cours": { + "account_number": "2932" + }, + "account_number": "293" + }, + "D\u00e9pr\u00e9ciations des participations et cr\u00e9ances rattach\u00e9es \u00e0 des participations": { + "Titres de participation": { + "account_number": "2961" + }, + "Autres formes de participation": { + "account_number": "2966" + }, + "Cr\u00e9ances rattach\u00e9es \u00e0 des participations (m\u00eame ventilation que celle du compte 267)": { + "account_number": "2967" + }, + "Cr\u00e9ances rattach\u00e9es \u00e0 des soci\u00e9t\u00e9s en participation (m\u00eame ventilation que celle du compte 268)": { + "account_number": "2968" + }, + "account_number": "296" + }, + "D\u00e9pr\u00e9ciations des autres immobilisations financi\u00e8res": { + "Titres immobilis\u00e9s autres que les titres immobilis\u00e9s de l'activit\u00e9 de portefeuille - droit de propri\u00e9t\u00e9": { + "account_number": "2971" + }, + "Titres immobilis\u00e9s - droit de cr\u00e9ance (m\u00eame ventilation que celle du compte 272)": { + "account_number": "2972" + }, + " Titres immobilis\u00e9s de l'activit\u00e9 de portefuille": { + "account_number": "2973" + }, + "Pr\u00eats (m\u00eame ventilation que celle du compte 274)": { + "account_number": "2974" + }, + "D\u00e9p\u00f4ts et cautionnements vers\u00e9s (m\u00eame ventilation que celle du compte 275)": { + "account_number": "2975" + }, + "Autres cr\u00e9ances immobilis\u00e9es (m\u00eame ventilation que celle du compte 276)": { + "Mali de fusion sur actifs financiers": { + "account_number": "29787" + }, + "account_number": "2976" + }, + "account_number": "297" + }, + "account_number": "29" + }, + "account_number": "2" + }, + "Comptes de Stocks et En-Cours": { + "root_type": "Asset", + "Mati\u00e8res premi\u00e8res (et fournitures)": { + "Mati\u00e8res (ou groupe) A": { + "account_number": "311" + }, + "Mati\u00e8res (ou groupe) B": { + "account_number": "312" + }, + "Fournitures A, B, C, ...": { + "account_number": "317" + }, + "account_number": "31" + }, + "Autres approvisionnements": { + "Mat\u00e8res consommables": { + "Mati\u00e8res (ou groupe) C": { + "account_number": "3211" + }, + "Mati\u00e8res (ou groupe) D": { + "account_number": "3212" + }, + "account_number": "321" + }, + "Fournitures consommables": { + "Combustibles": { + "account_number": "3221" + }, + "Produits d'entretien": { + "account_number": "3222" + }, + "Fournitures d'atelier et d'usine": { + "account_number": "3223" + }, + "Fournitures de magasin": { + "account_number": "3224" + }, + "Fournitures de bureau": { + "account_number": "3225" + }, + "account_number": "322" + }, + "Emballages": { + "Emballages perdus": { + "account_number": "3261" + }, + "Emballages r\u00e9cup\u00e9rables non identifiables": { + "account_number": "3265" + }, + "Emballages \u00e0 usage mixte": { + "account_number": "3267" + }, + "account_number": "326" + }, + "account_number": "32" + }, + "En-cours de production de biens": { + "Produits en cours": { + "Produits en cours P1": { + "account_number": "3311" + }, + "Produits en cours P2": { + "account_number": "3312" + }, + "account_number": "331" + }, + "Travaux en cours": { + "Travaux en cours T1": { + "account_number": "3351" + }, + "Travaux en cours T2": { + "account_number": "3352" + }, + "account_number": "335" + }, + "account_number": "33" + }, + "En-cours de production de services": { + "Etudes en cours": { + "Etudes en cours E1": { + "account_number": "3411" + }, + "Etudes en cours E2": { + "account_number": "3412" + }, + "account_number": "341" + }, + "Prestations de services en cours": { + "Prestations de services S1": { + "account_number": "3451" + }, + "Prestations de services S2": { + "account_number": "3452" + }, + "account_number": "345" + }, + "account_number": "34" + }, + "Stocks de produits": { + "account_type": "Stock", + "Produits interm\u00e9diaires": { + "account_type": "Stock", + "Produits interm\u00e9diaires (ou groupe) A": { + "account_type": "Stock", + "is_group": 1, + "account_number": "3511" + }, + "Produits interm\u00e9diaires (ou groupe) B": { + "account_type": "Stock", + "is_group": 1, + "account_number": "3512" + }, + "account_number": "351" + }, + "Produits finis": { + "account_type": "Stock", + "Produits finis (ou groupe) A": { + "account_type": "Stock", + "is_group": 1, + "account_number": "3551" + }, + "Produits finis (ou groupe) B": { + "account_type": "Stock", + "is_group": 1, + "account_number": "3552" + }, + "account_number": "355" + }, + "Produits r\u00e9siduels (ou mati\u00e8res de r\u00e9cup\u00e9ration)": { + "account_type": "Stock", + "D\u00e9chets": { + "account_type": "Stock", + "is_group": 1, + "account_number": "3581" + }, + "Rebuts": { + "account_type": "Stock", + "is_group": 1, + "account_number": "3585" + }, + "Mati\u00e8res de r\u00e9cup\u00e9ration": { + "account_type": "Stock", + "is_group": 1, + "account_number": "3586" + }, + "account_number": "358" + }, + "account_number": "35" + }, + "(Compte \u00e0 ouvrir, le cas \u00e9ch\u00e9ant, sous l'intitul\u00e9 \"stocks provenant d'immobilisations\")": { + "account_number": "36" + }, + "Stocks de marchandises": { + "Marchandises (ou groupe) A": { + "account_number": "371" + }, + "Marchandises (ou groupe) B": { + "account_number": "372" + }, + "account_number": "37" + }, + "Stocks en voie d'acheminement, mis en d\u00e9p\u00f4t ou donn\u00e9s en consignation (en cas d'inventaire permanent en comptabilit\u00e9 g\u00e9n\u00e9rale)": { + "account_type": "Stock", + "account_number": "38" + }, + "D\u00e9pr\u00e9ciations des stocks et en-cours": { + "D\u00e9pr\u00e9ciations des mati\u00e8res premi\u00e8res (et fournitures)": { + "Mati\u00e8res (ou groupe) A": { + "account_number": "3911" + }, + "Mati\u00e8res (ou groupe) B": { + "account_number": "3912" + }, + "Fournitures A, B, C, ...": { + "account_number": "3917" + }, + "account_number": "391" + }, + "D\u00e9pr\u00e9ciations des autres approvisionnements": { + "Mati\u00e8res consommables (m\u00eame ventilation que celle du compte 321)": { + "account_number": "3921" + }, + "Fournitures consommables (m\u00eame ventilation que celle du compte 322)": { + "account_number": "3922" + }, + "Emballages (m\u00eame ventilation que celle du compte 326)": { + "account_number": "3926" + }, + "account_number": "392" + }, + "D\u00e9pr\u00e9ciations des en-cours de production de biens": { + "Etudes en cours (m\u00eame ventilation que celle du compte 341)": { + "account_number": "3931" + }, + "Travaux en cours (m\u00eame ventilation que celle du compte 335)": { + "account_number": "3935" + }, + "account_number": "393" + }, + "D\u00e9pr\u00e9ciations des en-cours de production de services": { + "Etudes en cours (m\u00eame ventilation que celle du compte 341)": { + "account_number": "3941" + }, + "Prestations de services en cours (m\u00eame ventilation que celle du compte 345)": { + "account_number": "3945" + }, + "account_number": "394" + }, + "D\u00e9pr\u00e9ciations des stocks de produits": { + "Produits interm\u00e9diaires (m\u00eame ventilation que celle du compte 351)": { + "account_number": "3951" + }, + "Produits finis (m\u00eame ventilation que celle du compte 355)": { + "account_number": "3955" + }, + "account_number": "395" + }, + "D\u00e9pr\u00e9ciations des stocks de marchandises": { + "Marchandise (ou groupe) A": { + "account_number": "3971" + }, + "Marchandise (ou groupe) B": { + "account_number": "3972" + }, + "account_number": "397" + }, + "account_number": "39" + }, + "account_number": "3" + }, + "4-Comptes de Tiers (ACTIF)": { + "root_type": "Asset", + "40-Fournisseurs et Comptes Rattach\u00e9s (ACTIF)": { + "Fournisseurs d\u00e9biteurs": { + "Fournisseurs - Avances et acomptes vers\u00e9s sur commandes": { + "account_number": "4091" + }, + "Fournisseurs - Cr\u00e9ances pour emballages et mat\u00e9riel \u00e0 rendre": { + "account_number": "4096" + }, + "Fournisseurs - Autres avoirs": { + "Fournisseurs d'exploitation": { + "account_number": "40971" + }, + "Fournisseurs d'immobilisation": { + "account_number": "40974" + }, + "account_number": "4097" + }, + "Rabais, remises, ristournes \u00e0 obtenir et autres avoirs non encore re\u00e7us": { + "account_number": "4098" + }, + "account_number": "409" + } + }, + "41-Clients et comptes rattach\u00e9s (ACTIF)": { + "account_type": "Receivable", + "Clients et Comptes rattach\u00e9s": { + "account_type": "Receivable", + "account_number": "410" + }, + "Clients": { + "account_type": "Receivable", + "Clients - Ventes de biens ou de prestations de services": { + "account_type": "Receivable", + "account_number": "4111" + }, + "Clients - Retenues de garantie": { + "account_type": "Receivable", + "account_number": "4117" + }, + "account_number": "411" + }, + "Clients - Effets \u00e0 recevoir": { + "account_type": "Receivable", + "account_number": "413" + }, + "Clients douteux ou litigieux": { + "account_type": "Receivable", + "account_number": "416" + }, + "Clients - Produits non encore factur\u00e9s": { + "account_type": "Receivable", + "Clients - Factures \u00e0 \u00e9tablir": { + "account_type": "Receivable", + "account_number": "4181" + }, + "Clients - Int\u00e9r\u00eats courus": { + "account_type": "Receivable", + "account_number": "4188" + }, + "account_number": "418" + } + }, + "42-Personnel et comptes rattach\u00e9s (ACTIF)": { + "Personnel - Avances et acomptes": { + "account_number": "425" + } + }, + "43-S\u00e9curit\u00e9 sociale et autres organismes sociaux (ACTIF)": { + "S\u00e9curit\u00e9 sociale": { + "account_number": "431" + }, + "Autres organismes sociaux": { + "account_number": "437" + }, + "438-Organismes sociaux - Produits \u00e0 recevoir": { + "Produits \u00e0 recevoir": { + "account_number": "4387" + } + } + }, + "44-Etat et autres collectivit\u00e9s publiques (ACTIF)": { + "Etat - Subventions \u00e0 recevoir": { + "Subventions d'investissement": { + "account_number": "4411" + }, + "Subventions d'exploitation": { + "account_number": "4417" + }, + "Subventions d'\u00e9quilibre": { + "account_number": "4418" + }, + "Avances sur subventions": { + "account_number": "4419" + }, + "account_number": "441" + }, + "Op\u00e9rations particuli\u00e8res avec l'Etat, les collectivit\u00e9s publiques, les organismes internationaux": { + "Cr\u00e9ances sur l'Etat r\u00e9sultant de la suppression de la r\u00e8gle du d\u00e9calage d'un mois en mati\u00e8re de TVA": { + "account_number": "4431" + }, + "Int\u00e9r\u00eats courus sur cr\u00e9ances figurant au compte 4431": { + "account_number": "4438" + }, + "account_number": "443" + }, + "Etat - Taxes sur le chiffre d'affaires (ACTIF)": { + "TVA due intracommunautaire": { + "account_number": "4452" + }, + "Taxes sur le chiffre d'affaires d\u00e9ductibles": { + "TVA sur immobilisations": { + "account_number": "44562" + }, + "TVA transf\u00e9r\u00e9e par d'autres entreprises": { + "account_number": "44563" + }, + "TVA sur autres biens et services": { + "tax_rate": 20, + "account_number": "44566" + }, + "Cr\u00e9dit de TVA \u00e0 reporter": { + "account_number": "44567" + }, + "Taxes assimil\u00e9es \u00e0 la TVA": { + "account_number": "44568" + }, + "account_number": "4456" + }, + "4458-Taxes sur le chiffre d'affaires \u00e0 r\u00e9gulariser ou en attente (ACTIF)": { + "Acomptes - R\u00e9gime simplifi\u00e9 d'imposition": { + "account_number": "44581" + }, + "Acomptes - R\u00e9gime du forfait": { + "account_number": "44582" + }, + "Remboursement de taxes sur le chiffre d'affaires demand\u00e9": { + "account_number": "44583" + }, + "Taxes sur le chiffre d'affaires sur factures non parvenues": { + "account_number": "44586" + } + } + }, + "Etat - Charges \u00e0 payer et produits \u00e0 recevoir": { + "Charges fiscales sur cong\u00e9s \u00e0 payer": { + "account_number": "4482" + }, + "Charges \u00e0 payer": { + "account_number": "4486" + }, + "Produits \u00e0 recevoir": { + "account_number": "4487" + }, + "account_number": "448" + } + }, + "45-Groupe et associ\u00e9s (ACTIF)": { + "Associ\u00e9s - Op\u00e9rations sur le capital (ACTIF)": { + "456-Apporteurs - Capital appel\u00e9, non vers\u00e9": { + "Actionnaires - Capital souscrit et appel\u00e9, non vers\u00e9": { + "account_number": "45621" + }, + "Associ\u00e9s - Capital appel\u00e9, non vers\u00e9": { + "account_number": "45625" + }, + "account_number": "4562" + } + } + }, + "46-D\u00e9biteurs divers et cr\u00e9diteurs divers (ACTIF)": { + "Cr\u00e9ances sur cessions d'immobilisations": { + "account_number": "462" + }, + "Cr\u00e9ances sur cessions de valeurs mobili\u00e8res de placement": { + "account_number": "465" + }, + "467-Autres comptes d\u00e9biteurs ou cr\u00e9diteurs (ACTIF)": {}, + "468-Divers - Charges \u00e0 payer et produits \u00e0 recevoir (ACTIF)": { + "Produits \u00e0 recevoir": { + "account_number": "4687" + } + } + }, + "47-Comptes transitoires ou d'attente (ACTIF)": { + "471-Comptes d'attente (ACTIF)": { + "account_type": "Temporary" + }, + "Diff\u00e9rences de conversion (ACTIF)": { + "Diminution des cr\u00e9ances": { + "account_number": "4761" + }, + "Augmentation des dettes": { + "account_number": "4762" + }, + "Diff\u00e9rences compens\u00e9es par couverture de change": { + "account_number": "4768" + }, + "account_number": "476" + }, + "Autres comptes transitoires (ACTIF)": { + "Mali de fusion sur actif circulant": { + "account_number": "4781" + }, + "478-Diff\u00e9rences d'\u00e9valuation sur instruments de tr\u00e9sorerie (ACTIF)": { + "account_number": "4786" + } + } + }, + "48-Comptes de r\u00e9gularisation (ACTIF)": { + "Charges \u00e0 r\u00e9partir sur plusieurs exercices": { + "Frais d'\u00e9mission des emprunts": { + "account_number": "4816" + }, + "account_number": "481" + }, + "Charges constat\u00e9es d'avance": { + "account_number": "486" + }, + "488-Comptes de r\u00e9partition p\u00e9riodique des charges et des produits (ACTIF)": { + "Charges": { + "account_number": "4886" + } + } + }, + "49-D\u00e9pr\u00e9ciation des comptes de tiers (ACTIF)": { + "D\u00e9pr\u00e9ciations des comptes clients": { + "account_number": "491" + }, + "D\u00e9pr\u00e9ciations des comptes du groupe et des associ\u00e9s": { + "Comptes du groupe": { + "account_number": "4951" + }, + "Comptes courants des associ\u00e9s": { + "account_number": "4955" + }, + "Op\u00e9rations faites en commun et en GIE": { + "account_number": "4958" + }, + "account_number": "495" + }, + "D\u00e9pr\u00e9ciations des comptes de d\u00e9biteurs divers": { + "Cr\u00e9ances sur cessions d'immobilisations": { + "account_number": "4962" + }, + "Cr\u00e9ances sur cessions de valeurs mobili\u00e8res de placement": { + "account_number": "4965" + }, + "Autres comptes d\u00e9biteurs": { + "account_number": "4967" + }, + "account_number": "496" + } + } + }, + "4-Comptes de Tiers (PASSIF)": { + "root_type": "Liability", + "40-Fournisseurs et Comptes Rattach\u00e9s (PASSIF)": { + "account_type": "Payable", + "Fournisseurs": { + "account_type": "Payable", + "Fournisseurs - Achats de biens ou de prestations de services": { + "account_type": "Payable", + "account_number": "4011" + }, + "Fournisseurs - Retenues de garantie": { + "account_type": "Payable", + "account_number": "4017" + }, + "account_number": "401" + }, + "Fournisseurs - Effets \u00e0 payer": { + "account_type": "Payable", + "account_number": "403" + }, + "Fournisseurs d'immobilisations": { + "account_type": "Payable", + "Fournisseurs - Achats d'immobilisations": { + "account_type": "Payable", + "account_number": "4041" + }, + "Fournisseurs d'immobilisations - Retenues de garantie": { + "account_type": "Payable", + "account_number": "4047" + }, + "account_number": "404" + }, + "Fournisseurs d'immobilisations - Effets \u00e0 payer": { + "account_type": "Payable", + "account_number": "405" + }, + "Fournisseurs - Factures non parvenues": { + "account_type": "Stock Received But Not Billed", + "Fournisseurs": { + "account_type": "Stock Received But Not Billed", + "account_number": "4081" + }, + "Fournisseurs d'immobilisations": { + "account_type": "Stock Received But Not Billed", + "account_number": "4084" + }, + "Fournisseurs - Int\u00e9r\u00eats courus": { + "account_type": "Stock Received But Not Billed", + "account_number": "4088" + }, + "account_number": "408" + } + }, + "41-Clients et comptes rattach\u00e9s (PASSIF)": { + "Clients cr\u00e9diteurs": { + "Clients - Avances et acomptes re\u00e7us sur commandes": { + "account_number": "4191", + "account_type": "Income Account" + }, + "Clients - Dettes pour emballages et mat\u00e9riels consign\u00e9s": { + "account_number": "4196" + }, + "Clients - Autres avoirs": { + "account_number": "4197" + }, + "Rabais, remises, ristournes \u00e0 accorder et autres avoirs \u00e0 \u00e9tablir": { + "account_number": "4198" + }, + "account_number": "419" + } + }, + "42-Personnel et comptes rattach\u00e9s (PASSIF)": { + "Personnel - R\u00e9mun\u00e9rations dues": { + "account_number": "421" + }, + "Comit\u00e9s d'entreprises, d'\u00e9tablissement...": { + "account_number": "422" + }, + "Participation des salari\u00e9s aux r\u00e9sultats": { + "R\u00e9serve sp\u00e9ciale": { + "account_number": "4246" + }, + "Comptes courants": { + "account_number": "4248" + }, + "account_number": "424" + }, + "Personnel - D\u00e9p\u00f4ts": { + "account_number": "426" + }, + "Personnel - Oppositions": { + "account_number": "427" + }, + "Personnel - Charges \u00e0 payer et produits \u00e0 recevoir": { + "Dettes provisionn\u00e9es pour cong\u00e9s \u00e0 payer": { + "account_number": "4282" + }, + "Dettes provisionn\u00e9es pour participation des salari\u00e9s aux r\u00e9sultats": { + "account_number": "4284" + }, + "Autres charges \u00e0 payer": { + "account_number": "4286" + }, + "Produits \u00e0 recevoir": { + "account_number": "4287" + }, + "account_number": "428" + } + }, + "43-S\u00e9curit\u00e9 sociale et autres organismes sociaux (PASSIF)": { + "438-Organismes sociaux - Charges \u00e0 payer": { + "Charges sociales sur cong\u00e9s \u00e0 payer": { + "account_number": "4382" + }, + "Autres charges \u00e0 payer": { + "account_number": "4386" + } + } + }, + "44-Etat et autres collectivit\u00e9s publiques (PASSIF)": { + "Etat - Imp\u00f4ts et taxes recouvrables sur des tiers": { + "Obligataires": { + "account_number": "4424" + }, + "Associ\u00e9s": { + "account_number": "4425" + }, + "account_number": "442" + }, + "Etat - Imp\u00f4ts sur les b\u00e9n\u00e9fices": { + "account_number": "444" + }, + "Etat - Taxes sur le chiffre d'affaires (PASSIF)": { + "Taxes sur le chiffre d'affaires \u00e0 d\u00e9caisser": { + "TVA \u00e0 d\u00e9caisser": { + "account_number": "44551" + }, + "Taxes assimil\u00e9es \u00e0 la TVA": { + "account_number": "44558" + }, + "account_number": "4455" + }, + "Taxes sur le chiffre d'affaires collect\u00e9es par l'entreprise": { + "TVA collect\u00e9e": { + "account_type": "Tax", + "is_group": 1, + "account_number": "44571" + }, + "Taxes assimil\u00e9es \u00e0 la TVA": { + "account_number": "44578" + }, + "account_number": "4457" + }, + "4458-Taxes sur le chiffre d'affaires \u00e0 r\u00e9gulariser ou en attente (PASSIF)": { + "TVA r\u00e9cup\u00e9r\u00e9e d'avance": { + "account_number": "44584" + }, + "Taxes sur le chiffre d'affaires sur factures \u00e0 \u00e9tablir": { + "account_number": "44587" + } + } + }, + "Obligations cautionn\u00e9es": { + "account_number": "446" + }, + "Autres imp\u00f4ts, taxes et versements assimil\u00e9s": { + "account_number": "447" + }, + "Quotas d'\u00e9mission \u00e0 acqu\u00e9rir": { + "account_number": "449" + } + }, + "45-Groupe et associ\u00e9s (PASSIF)": { + "Groupe (PASSIF)": { + "account_number": "451" + }, + "Associ\u00e9s - Comptes courants (PASSIF)": { + "Principal (PASSIF)": { + "account_number": "4551" + }, + "Int\u00e9r\u00eats courus (PASSIF)": { + "account_number": "4558" + }, + "account_number": "455" + }, + "Associ\u00e9s - Op\u00e9rations sur le capital (PASSIF)": { + "456-Associ\u00e9s - Comptes d'apport en soci\u00e9t\u00e9": { + "Apports en nature": { + "account_number": "45611" + }, + "Apports en num\u00e9raire": { + "account_number": "45615" + }, + "account_number": "4561" + }, + "Associ\u00e9s - Versements re\u00e7us sur augmentation de capital": { + "account_number": "4563" + }, + "Associ\u00e9s - Versements anticip\u00e9s": { + "account_number": "4564" + }, + "Actionnaires d\u00e9faillants": { + "account_number": "4566" + }, + "Associ\u00e9s - Capital \u00e0 rembourser": { + "account_number": "4567" + } + }, + "Associ\u00e9s - Dividendes \u00e0 payer": { + "account_number": "457" + }, + "Associ\u00e9s - Op\u00e9rations faites en commun et en GIE": { + "Op\u00e9rations courantes": { + "account_number": "4581" + }, + "Int\u00e9r\u00eats courus": { + "account_number": "4588" + }, + "account_number": "458" + } + }, + "46-D\u00e9biteurs divers et cr\u00e9diteurs divers (PASSIF)": { + "Dettes sur acquisitions de valeurs mobili\u00e8res de placement": { + "account_number": "464" + }, + "467-Autres comptes d\u00e9biteurs ou cr\u00e9diteurs (PASSIF)": {}, + "468-Divers - Charges \u00e0 payer et produits \u00e0 recevoir (PASSIF)": { + "Charges \u00e0 payer": { + "account_number": "4686" + } + } + }, + "47-Comptes transitoires ou d'attente (PASSIF)": { + "471-Comptes d'attente (PASSIF)": { + "account_type": "Temporary" + }, + "Diff\u00e9rences de conversion (PASSIF)": { + "Augmentation des cr\u00e9ances": { + "account_number": "4771" + }, + "Diminution des dettes": { + "account_number": "4772" + }, + "Diff\u00e9rences compens\u00e9es par couverture de change": { + "account_number": "4778" + }, + "account_number": "477" + }, + "478-Autres comptes transitoires (PASSIF)": { + "Diff\u00e9rences d'\u00e9valuation sur instruments de tr\u00e9sorerie (PASSIF)": { + "account_number": "4787" + } + } + }, + "48-Comptes de r\u00e9gularisation (PASSIF)": { + "Produits constat\u00e9s d'avance": { + "account_number": "487" + }, + "448-Comptes de r\u00e9partition p\u00e9riodique des charges et des produits (PASSIF)": { + "Produits": { + "account_number": "4887" + } + } + } + }, + "Comptes Financiers": { + "root_type": "Asset", + "Valeurs mobili\u00e8res de placement": { + "Parts dans des entreprises li\u00e9es": { + "account_number": "501" + }, + "Actions propres": { + "Actions destin\u00e9es \u00e0 \u00eatre attribu\u00e9es aux employ\u00e9s et affect\u00e9es \u00e0 des plans d\u00e9termin\u00e9s": { + "account_number": "5021" + }, + "Actions disponibles pour \u00eatre attribu\u00e9es aux employ\u00e9s ou pour la r\u00e9gularisation des cours de bourse": { + "account_number": "5022" + }, + "account_number": "502" + }, + "Actions": { + "Titres cot\u00e9s": { + "account_number": "5031" + }, + "Titres non cot\u00e9s": { + "account_number": "5035" + }, + "account_number": "503" + }, + "Autres titres conf\u00e9rant un droit de propri\u00e9t\u00e9": { + "account_number": "504" + }, + "Obligations et bons \u00e9mis par la soci\u00e9t\u00e9 et rachet\u00e9s par elle": { + "account_number": "505" + }, + "Obligations": { + "Titres cot\u00e9s": { + "account_number": "5061" + }, + "Titres non cot\u00e9s": { + "account_number": "5065" + }, + "account_number": "506" + }, + "Bons du Tr\u00e9sor et bons de caisse \u00e0 court terme": { + "account_number": "507" + }, + "Autres valeurs mobili\u00e8res de placement et autres cr\u00e9ances assimil\u00e9es": { + "Autres valeurs mobili\u00e8res": { + "account_number": "5081" + }, + "Bons de souscription": { + "account_number": "5082" + }, + "Int\u00e9r\u00eats courus sur obligations, bons et valeurs assimil\u00e9es": { + "account_number": "5088" + }, + "account_number": "508" + }, + "Versements restant \u00e0 effectuer sur valeurs mobili\u00e8res de placement non lib\u00e9r\u00e9es": { + "account_number": "509" + }, + "account_number": "50" + }, + "Banques, \u00e9tablissements financiers et assimil\u00e9s": { + "Valeurs \u00e0 l'encaissement": { + "Coupons \u00e9chus \u00e0 l'encaissement": { + "account_number": "5111" + }, + "Ch\u00e8ques \u00e0 encaisser": { + "account_number": "5112" + }, + "Effets \u00e0 l'encaissement": { + "account_number": "5113" + }, + "Effets \u00e0 l'escompte": { + "account_number": "5114" + }, + "account_number": "511" + }, + "Banques": { + "account_type": "Bank", + "Comptes en monnaie nationale": { + "account_type": "Bank", + "account_number": "5121" + }, + "Comptes en devises": { + "account_type": "Bank", + "account_number": "5124" + }, + "account_number": "512" + }, + "Ch\u00e8ques postaux": { + "account_number": "514" + }, + "\"Caisses\" du Tr\u00e9sor et des \u00e9tablissements publics": { + "account_number": "515" + }, + "Soci\u00e9t\u00e9s de bourse": { + "account_number": "516" + }, + "Autres organismes financiers": { + "account_number": "517" + }, + "Int\u00e9r\u00eats courus": { + "Int\u00e9r\u00eats courus \u00e0 payer": { + "account_number": "5181" + }, + "Int\u00e9r\u00eats courus \u00e0 recevoir": { + "account_number": "5188" + }, + "account_number": "518" + }, + "Concours bancaires courants": { + "Cr\u00e9dit de mobilisation des cr\u00e9ances commerciales (CMCC)": { + "account_number": "5191" + }, + "Mobilisation de cr\u00e9ances n\u00e9es \u00e0 l'\u00e9tranger": { + "account_number": "5193" + }, + "Int\u00e9r\u00eats courus sur concours bancaires courants": { + "account_number": "5198" + }, + "account_number": "519" + }, + "account_number": "51" + }, + "Instruments de tr\u00e9sorerie": { + "is_group": 1, + "account_number": "52" + }, + "Caisse": { + "account_type": "Cash", + "Caisse si\u00e8ge social": { + "account_type": "Cash", + "Caisse en monnaie nationale": { + "account_type": "Cash", + "account_number": "5311" + }, + "Caisse en devises": { + "account_type": "Cash", + "account_number": "5314" + }, + "account_number": "531" + }, + "Caisse succursale (ou usine) A": { + "account_type": "Cash", + "account_number": "532" + }, + "Caisse succursale (ou usine) B": { + "account_type": "Cash", + "account_number": "533" + }, + "account_number": "53" + }, + "R\u00e9gies d'avance et accr\u00e9ditifs": { + "is_group": 1, + "account_number": "54" + }, + "Virements internes": { + "is_group": 1, + "account_number": "58" + }, + "D\u00e9pr\u00e9ciations des comptes financiers": { + "D\u00e9pr\u00e9ciations des valeurs mobili\u00e8res de placement": { + "Actions": { + "account_number": "5903" + }, + "Autres titres conf\u00e9rant un droit de propri\u00e9t\u00e9": { + "account_number": "5904" + }, + "Obligations": { + "account_number": "5906" + }, + "Autres valeurs mobili\u00e8res de placement et cr\u00e9ances assimil\u00e9es": { + "account_number": "5908" + }, + "account_number": "590" + }, + "account_number": "59" + }, + "account_number": "5" + }, + "Comptes de Charges": { + "root_type": "Expense", + "Achats (sauf 603)": { + "Achats stock\u00e9s - Mati\u00e8res premi\u00e8res (et fournitures)": { + "account_type": "Cost of Goods Sold", + "Mati\u00e8res (ou groupe) A": { + "account_type": "Cost of Goods Sold", + "account_number": "6011" + }, + "Mati\u00e8res (ou groupe) B": { + "account_type": "Cost of Goods Sold", + "account_number": "6012" + }, + "Fournitures A, B, C...": { + "account_type": "Cost of Goods Sold", + "account_number": "6017" + }, + "account_number": "601" + }, + "Achats stock\u00e9s - Autres approvisionnements": { + "account_type": "Cost of Goods Sold", + "Mati\u00e8res consommables": { + "account_type": "Cost of Goods Sold", + "Mati\u00e8res (ou groupe) C": { + "account_type": "Cost of Goods Sold", + "account_number": "60211" + }, + "Mati\u00e8res (ou groupe) D": { + "account_type": "Cost of Goods Sold", + "account_number": "60212" + }, + "account_number": "6021" + }, + "Fournitures consommables": { + "account_type": "Cost of Goods Sold", + "Combustibles": { + "account_type": "Cost of Goods Sold", + "account_number": "60221" + }, + "Produits d'entretien": { + "account_type": "Cost of Goods Sold", + "account_number": "60222" + }, + "Fournitures d'atelier et d'usine": { + "account_type": "Cost of Goods Sold", + "account_number": "60223" + }, + "Fournitures de magasin": { + "account_type": "Cost of Goods Sold", + "account_number": "60224" + }, + "Fournitures de bureau": { + "account_type": "Cost of Goods Sold", + "account_number": "60225" + }, + "account_number": "6022" + }, + "Emballages": { + "account_type": "Cost of Goods Sold", + "Emballages perdus": { + "account_type": "Cost of Goods Sold", + "account_number": "60261" + }, + "Emballages r\u00e9cup\u00e9rables non identifiables": { + "account_type": "Cost of Goods Sold", + "account_number": "60265" + }, + "Emballages \u00e0 usage mixte": { + "account_type": "Cost of Goods Sold", + "account_number": "60267" + }, + "account_number": "6026" + }, + "account_number": "602" + }, + "Variations des stocks (approvisionnements et marchandises)": { + "account_type": "Stock Adjustment", + "Variation des stocks de mati\u00e8res premi\u00e8res (et fournitures)": { + "account_type": "Stock Adjustment", + "account_number": "6031" + }, + "Variation des stocks des autres approvisionnements": { + "account_type": "Stock Adjustment", + "account_number": "6032" + }, + "Variation des stocks de marchandises": { + "account_type": "Stock Adjustment", + "account_number": "6037" + }, + "account_number": "603" + }, + "Achats d'\u00e9tudes et prestations de service": { + "account_type": "Cost of Goods Sold", + "account_number": "604" + }, + "Achats de mat\u00e9riel, \u00e9quipements et travaux": { + "account_type": "Cost of Goods Sold", + "account_number": "605" + }, + "Achats non stock\u00e9s de mati\u00e8res et founitures": { + "account_type": "Cost of Goods Sold", + "Fournitures non stockables (eau, \u00e9nergie...)": { + "account_type": "Cost of Goods Sold", + "account_number": "6061" + }, + "Fournitures d'entretien et de petit \u00e9quipement": { + "account_type": "Cost of Goods Sold", + "account_number": "6063" + }, + "Fournitures administratives": { + "account_type": "Cost of Goods Sold", + "account_number": "6064" + }, + "Autres mati\u00e8res et fournitures": { + "account_type": "Cost of Goods Sold", + "account_number": "6068" + }, + "account_number": "606" + }, + "Achats de marchandises": { + "account_type": "Cost of Goods Sold", + "Marchandises (ou groupe) A": { + "account_type": "Cost of Goods Sold", + "account_number": "6071" + }, + "Marchandises (ou groupe) B": { + "account_type": "Cost of Goods Sold", + "account_number": "6072" + }, + "account_number": "607" + }, + "(Compte r\u00e9serv\u00e9, le cas \u00e9ch\u00e9ant, \u00e0 la recapitulation des Frais accessoires incorpor\u00e9s aux achats)": { + "account_type": "Expenses Included In Valuation", + "account_number": "608" + }, + "Rabais, remises et ristournes obtenus sur achats": { + "Rabais, remises et ristournes obtenus sur achats - de mati\u00e8res premi\u00e8res (et fournitures)": { + "account_number": "6091" + }, + "Rabais, remises et ristournes obtenus sur achats - d'autres approvisionnements stock\u00e9s": { + "account_number": "6092" + }, + "Rabais, remises et ristournes obtenus sur achats - d'\u00e9tudes et prestations de services": { + "account_number": "6094" + }, + "Rabais, remises et ristournes obtenus sur achats - de mat\u00e9riel, \u00e9quipements et travaux": { + "account_number": "6095" + }, + "Rabais, remises et ristournes obtenus sur achats - d'approvisionnements non stock\u00e9s": { + "account_number": "6096" + }, + "Rabais, remises et ristournes obtenus sur achats - de marchandises": { + "account_number": "6097" + }, + "Rabais, remises et ristournes non affect\u00e9s": { + "account_number": "6098" + }, + "account_number": "609" + }, + "account_number": "60" + }, + "Services ext\u00e9rieurs": { + "Sous-traitance g\u00e9n\u00e9rale": { + "account_number": "611" + }, + "Redevances de cr\u00e9dit-bail": { + "Cr\u00e9dit-bail mobilier": { + "account_number": "6122" + }, + "Cr\u00e9dit-bail immobilier": { + "account_number": "6125" + }, + "account_number": "612" + }, + "Locations": { + "Locations immobili\u00e8res": { + "account_number": "6132" + }, + "Locations mobili\u00e8res": { + "account_number": "6135" + }, + "Malis sur emballages": { + "account_number": "6136" + }, + "account_number": "613" + }, + "Charges locatives et de copropri\u00e9t\u00e9": { + "account_number": "614" + }, + "Entretiens et r\u00e9parations": { + "Entretiens et r\u00e9parations - sur biens immobiliers": { + "account_number": "6152" + }, + "Entretiens et r\u00e9parations - sur biens mobiliers": { + "account_number": "6155" + }, + "Maintenance": { + "account_number": "6156" + }, + "account_number": "615" + }, + "Primes d'assurance": { + "Multirisques": { + "account_number": "6161" + }, + "Assurance obligatoire dommage construction": { + "account_number": "6162" + }, + "Assurance-transport": { + "Assurance-transport - sur achats": { + "account_number": "61636" + }, + "Assurance-transport - sur ventes": { + "account_number": "61637" + }, + "Assurance-transport - sur autres biens": { + "account_number": "61638" + }, + "account_number": "6163" + }, + "Risques d'exploitation": { + "account_number": "6164" + }, + "Insolvabilit\u00e9 clients": { + "account_number": "6165" + }, + "account_number": "616" + }, + "Etudes et recherches": { + "account_number": "617" + }, + "Divers": { + "Documentation g\u00e9n\u00e9rale": { + "account_number": "6181" + }, + "Documentation technique": { + "account_number": "6183" + }, + "Frais de colloques, s\u00e9minaires, conf\u00e9rences": { + "account_number": "6185" + }, + "account_number": "618" + }, + "Rabais, remises et ristournes obtenus sur services ext\u00e9rieurs": { + "account_number": "619" + }, + "account_number": "61" + }, + "Autres services ext\u00e9rieurs": { + "Personnel ext\u00e9rieur \u00e0 l'entreprise": { + "Personnel int\u00e9rimaire": { + "account_number": "6211" + }, + "Personnel d\u00e9tach\u00e9 ou pr\u00eat\u00e9 \u00e0 l'entreprise": { + "account_number": "6214" + }, + "account_number": "621" + }, + "R\u00e9mun\u00e9rations d'interm\u00e9diaires et honoraires": { + "Commissions et courtages sur achats": { + "account_number": "6221" + }, + "Commissions et courtages sur ventes": { + "account_number": "6222" + }, + "R\u00e9mun\u00e9rations des transitaires": { + "account_number": "6224" + }, + "R\u00e9mun\u00e9rations d'affacturage": { + "account_number": "6225" + }, + "Honoraires": { + "account_number": "6226" + }, + "Frais d'actes et de contentieux": { + "account_number": "6227" + }, + "Divers": { + "account_number": "6228" + }, + "account_number": "622" + }, + "Publicit\u00e9, publications, relations publiques": { + "Annonces et insertions": { + "account_number": "6231" + }, + "Echantillons": { + "account_number": "6232" + }, + "Foires et expositions": { + "account_number": "6233" + }, + "Cadeaux \u00e0 la client\u00e8le": { + "account_number": "6234" + }, + "Primes": { + "account_number": "6235" + }, + "Catalogues et imprim\u00e9s": { + "account_number": "6236" + }, + "Publications": { + "account_number": "6237" + }, + "Divers (pourboires, dons courants...)": { + "account_number": "6238" + }, + "account_number": "623" + }, + "Transports de biens et transports collectifs du personnel": { + "Transports sur achats": { + "account_number": "6241" + }, + "Transports sur ventes": { + "account_type": "Chargeable", + "account_number": "6242" + }, + "Transports entre \u00e9tablissements ou chantiers": { + "account_number": "6243" + }, + "Transports administratifs": { + "account_number": "6244" + }, + "Transports collectifs du personnel": { + "account_number": "6247" + }, + "Divers": { + "account_number": "6248" + }, + "account_number": "624" + }, + "D\u00e9placements, missions et r\u00e9ceptions": { + "Voyages et d\u00e9placements": { + "account_number": "6251" + }, + "Frais de d\u00e9m\u00e9nagement": { + "account_number": "6255" + }, + "Missions": { + "account_number": "6256" + }, + "R\u00e9ceptions": { + "account_number": "6257" + }, + "account_number": "625" + }, + "Frais postaux et de t\u00e9l\u00e9communications": { + "account_number": "626" + }, + "Services bancaires et assimil\u00e9s": { + "Frais sur titres (achat, vente, garde)": { + "account_number": "6271" + }, + "Commissions et frais sur \u00e9mission d'emprunts": { + "account_number": "6272" + }, + "Frais sur effets": { + "account_number": "6275" + }, + "Location de coffres": { + "account_number": "6276" + }, + "Autres frais et commissions sur prestations de services": { + "account_number": "6278" + }, + "account_number": "627" + }, + "Divers": { + "Concours divers (cotisations...)": { + "account_number": "6281" + }, + "Frais de recrutement de personnel": { + "account_number": "6284" + }, + "account_number": "628" + }, + "Rabais, remises et ristournes obtenus sur autres services ext\u00e9rieurs": { + "account_number": "629" + }, + "account_number": "62" + }, + "Imp\u00f4ts, taxes et versements assimil\u00e9s": { + "Imp\u00f4ts, taxes et versements assimil\u00e9s sur r\u00e9mun\u00e9rations (administrations des imp\u00f4ts)": { + "Taxes sur les salaires": { + "account_number": "6311" + }, + "Taxe d'apprentissage": { + "account_number": "6312" + }, + "Participation des employeurs \u00e0 la formation professionnelle continue": { + "account_number": "6313" + }, + "Cotisation pour d\u00e9faut d'investissement obligatoire dans la construction": { + "account_number": "6314" + }, + "Autres": { + "account_number": "6318" + }, + "account_number": "631" + }, + "Imp\u00f4ts, taxes et versements assimil\u00e9s sur r\u00e9mun\u00e9rations (autres organismes)": { + "Versement de transport": { + "account_number": "6331" + }, + "Allocations logement": { + "account_number": "6332" + }, + "Participation des employeurs \u00e0 la formation professionnelle continue": { + "account_number": "6333" + }, + "Participation des employeurs \u00e0 l'effort de construction": { + "account_number": "6334" + }, + "Versements lib\u00e9ratoires ouvrant droit \u00e0 l'\u00e9xon\u00e9ration de la taxe d'apprentissage": { + "account_number": "6335" + }, + "Autres": { + "account_number": "6338" + }, + "account_number": "633" + }, + "Autres imp\u00f4ts, taxes et versements assimil\u00e9s (administrations des imp\u00f4ts)": { + "Imp\u00f4ts directs (sauf imp\u00f4ts sur les b\u00e9n\u00e9fices)": { + "Contribution \u00e9conomique territoriale": { + "account_number": "63511" + }, + "Taxes fonci\u00e8res": { + "account_number": "63512" + }, + "Autres imp\u00f4ts locaux": { + "account_number": "63513" + }, + "Taxe sur les v\u00e9hicules des soci\u00e9t\u00e9s": { + "account_number": "63514" + }, + "account_number": "6351" + }, + "Taxes sur le chiffre d'affaires non r\u00e9cup\u00e9rables": { + "account_number": "6352" + }, + "Imp\u00f4ts indirects": { + "account_number": "6353" + }, + "Droits d'enregistrement et de timbre": { + "Droits de mutation": { + "account_number": "63541" + }, + "account_number": "6354" + }, + "Autres droits": { + "account_number": "6358" + }, + "account_number": "635" + }, + "Autres imp\u00f4ts, taxes et versements assimil\u00e9s (autres organismes)": { + "Contribution sociale de solidarit\u00e9 \u00e0 la charge des soci\u00e9t\u00e9s": { + "account_number": "6371" + }, + "Taxes per\u00e7ues par les organismes publics internationaux": { + "account_number": "6372" + }, + "Imp\u00f4ts et taxes exigibles \u00e0 l'\u00e9tranger": { + "account_number": "6374" + }, + "Taxes diverses": { + "account_number": "6378" + }, + "account_number": "637" + }, + "account_number": "63" + }, + "Charges de personnel": { + "R\u00e9mun\u00e9rations du personnel": { + "Salaires, appointements": { + "account_number": "6411" + }, + "Cong\u00e9s pay\u00e9s": { + "account_number": "6412" + }, + "Primes et gratifications": { + "account_number": "6413" + }, + "Indemnit\u00e9s et avantages divers": { + "account_number": "6414" + }, + "Suppl\u00e9ment familial": { + "account_number": "6415" + }, + "account_number": "641" + }, + "R\u00e9mun\u00e9ration du travail de l'exploitant": { + "account_number": "644" + }, + "Charges de s\u00e9curit\u00e9 sociale et de pr\u00e9voyance": { + "Cotisations \u00e0 l'URSSAF": { + "account_number": "6451" + }, + "Cotisations aux mutuelles": { + "account_number": "6452" + }, + "Cotisations aux caisses de retraites": { + "account_number": "6453" + }, + "Cotisations aux ASSEDIC": { + "account_number": "6454" + }, + "account_number": "645" + }, + "Cotisations sociales personnelles de l'exploitant": { + "account_number": "646" + }, + "Autres charges sociales": { + "is_group": 1, + "account_number": "647" + }, + "Autres charges de personnel": { + "account_number": "648" + }, + "account_number": "64" + }, + "Autres charges de gestion courante": { + "Redevances pour concessions, brevets, licences, marques, proc\u00e9d\u00e9s, logiciels, droits et valeurs similaires": { + "Redevances pour concessions, brevets, licences, marques, proc\u00e9d\u00e9s, logiciels": { + "account_number": "6511" + }, + "Droits d'auteur et de reproduction": { + "account_number": "6516" + }, + "Autres droits et valeurs similaires": { + "account_number": "6518" + }, + "account_number": "651" + }, + "Jetons de pr\u00e9sence": { + "account_number": "653" + }, + "Pertes sur cr\u00e9ances irr\u00e9couvrables": { + "Cr\u00e9ances de l'exercice": { + "account_number": "6541" + }, + "Cr\u00e9ances des exercices ant\u00e9rieurs": { + "account_number": "6544" + }, + "account_number": "654" + }, + "Quotes-parts de r\u00e9sultat sur op\u00e9rations faites en commun": { + "Quote-part de b\u00e9n\u00e9fice transf\u00e9r\u00e9e (comptabilit\u00e9 du g\u00e9rant)": { + "account_number": "6551" + }, + "Quote-part de perte support\u00e9e (comptabilit\u00e9 des associ\u00e9s non g\u00e9rants)": { + "account_number": "6555" + }, + "account_number": "655" + }, + "Pertes de change sur cr\u00e9ances et dettes commerciales": { + "account_number": "656" + }, + "Charges diverses de gestion courante": { + "account_number": "658" + }, + "account_number": "65" + }, + "Charges financi\u00e8res": { + "Charges d'int\u00e9r\u00eats": { + "Int\u00e9r\u00eats des emprunts et dettes": { + "Int\u00e9r\u00eats des emprunts et dettes - des emprunts et dettes assimil\u00e9es": { + "account_number": "66116" + }, + "Int\u00e9r\u00eats des emprunts et dettes - des dettes rattach\u00e9es \u00e0 des participations": { + "account_number": "66117" + }, + "account_number": "6611" + }, + "Charges de la fiducie, r\u00e9sultat de la p\u00e9riode": { + "account_number": "6612" + }, + "Int\u00e9r\u00eats des comptes courants et des d\u00e9p\u00f4ts cr\u00e9diteurs": { + "account_number": "6615" + }, + "Int\u00e9r\u00eats bancaires et sur op\u00e9rations de financement (escompte...)": { + "account_number": "6616" + }, + "Int\u00e9r\u00eats des obligations cautionn\u00e9es": { + "account_number": "6617" + }, + "Int\u00e9r\u00eats des autres dettes": { + "Int\u00e9r\u00eats des autres dettes - des dettes commerciales": { + "account_number": "66181" + }, + "Int\u00e9r\u00eats des autres dettes - des dettes diverses": { + "account_number": "66188" + }, + "account_number": "6618" + }, + "account_number": "661" + }, + "Pertes sur cr\u00e9ances li\u00e9es \u00e0 des participations": { + "account_number": "664" + }, + "Escomptes accord\u00e9s": { + "account_number": "665" + }, + "Pertes de change financi\u00e8res": { + "account_type": "Round Off", + "account_number": "666" + }, + "Charges nettes sur cessions de valeurs mobili\u00e8res de placement": { + "account_number": "667" + }, + "Autres charges financi\u00e8res": { + "account_number": "668" + }, + "account_number": "66" + }, + "Charges exceptionnelles": { + "Charges exceptionnelles sur op\u00e9rations de gestion": { + "P\u00e9nalit\u00e9s sur march\u00e9s (et d\u00e9dits pay\u00e9s sur achats et ventes)": { + "account_number": "6711" + }, + "P\u00e9nalit\u00e9s, amendes fiscales et p\u00e9nales": { + "account_number": "6712" + }, + "Dons, lib\u00e9ralit\u00e9s": { + "account_number": "6713" + }, + "Cr\u00e9ances devenues irr\u00e9couvrables dans l'exercice": { + "account_number": "6714" + }, + "Subventions accord\u00e9es": { + "account_number": "6715" + }, + "Rappel d'imp\u00f4ts (autres qu'imp\u00f4ts sur les b\u00e9n\u00e9fices)": { + "account_number": "6717" + }, + "Autres charges exceptionnelles sur op\u00e9rations de gestion": { + "account_number": "6718" + }, + "account_number": "671" + }, + "(Compte \u00e0 la disposition des entit\u00e9s pour enregistrer, en cours d'exercice, les charges sur exercices ant\u00e9rieurs)": { + "account_number": "672" + }, + "Op\u00e9rations de constitution ou liquidation des fiducies": { + "Op\u00e9rations li\u00e9es \u00e0 la constitution de la fiducie - transfert des \u00e9l\u00e9ments": { + "account_number": "6741" + }, + "Op\u00e9rations li\u00e9es \u00e0 la liquidation de la fiducie": { + "account_number": "6742" + }, + "account_number": "674" + }, + "Valeurs comptables des \u00e9l\u00e9ments d'actif c\u00e9d\u00e9s": { + "Immobilisations incorporelles": { + "account_number": "6751" + }, + "Immobilisations corporelles": { + "account_number": "6752" + }, + "Immobilisations financi\u00e8res": { + "account_number": "6756" + }, + "Autres \u00e9l\u00e9ments d'actif": { + "account_number": "6758" + }, + "account_number": "675" + }, + "Autres charges exceptionnelles": { + "Mali provenant de clauses d'indexation": { + "account_number": "6781" + }, + "Lots": { + "account_number": "6782" + }, + "Malis provenant du rachat par l'entreprise d'actions et obligations \u00e9mises par elles-m\u00eame": { + "account_number": "6783" + }, + "Charges exceptionnelles diverses": { + "account_number": "6788" + }, + "account_number": "678" + }, + "account_number": "67" + }, + "Dotations aux amortissements, d\u00e9pr\u00e9ciations et provisions": { + "account_type": "Depreciation", + "Dotations aux amortissements, d\u00e9pr\u00e9ciations et provisions - Charges d'exploitation": { + "account_type": "Depreciation", + "Dotations aux amortissements sur immobilisations incorporelles et corporelles": { + "account_type": "Depreciation", + "Immobilisations incorporelles": { + "account_type": "Depreciation", + "account_number": "68111" + }, + "Immobilisations corporelles": { + "account_type": "Depreciation", + "account_number": "68112" + }, + "account_number": "6811" + }, + "Dotations aux amortissements des charges d'exploitation \u00e0 r\u00e9partir": { + "account_type": "Depreciation", + "account_number": "6812" + }, + "Dotations aux provisions d'exploitation": { + "account_type": "Depreciation", + "account_number": "6815" + }, + "Dotations aux d\u00e9pr\u00e9ciations des immobilisations incorporelles et corporelles": { + "account_type": "Depreciation", + "Immobilisations incorporelles": { + "account_type": "Depreciation", + "account_number": "68161" + }, + "Immobilisations corporelles": { + "account_type": "Depreciation", + "account_number": "68162" + }, + "account_number": "6816" + }, + "Dotations pour d\u00e9pr\u00e9ciations des actifs circulants": { + "account_type": "Depreciation", + "Stocks et en-cours": { + "account_type": "Depreciation", + "account_number": "68173" + }, + "Cr\u00e9ances": { + "account_type": "Depreciation", + "account_number": "68174" + }, + "account_number": "6817" + }, + "account_number": "681" + }, + "Dotations aux amortissements, d\u00e9pr\u00e9ciations et provisions - Charges financi\u00e8res": { + "account_type": "Depreciation", + "Dotations aux amortissements des primes de remboursement des obligations": { + "account_type": "Depreciation", + "account_number": "6861" + }, + "Dotations aux provisions financi\u00e8res": { + "account_type": "Depreciation", + "account_number": "6865" + }, + "Dotations aux d\u00e9pr\u00e9ciations des \u00e9l\u00e9ments financiers": { + "account_type": "Depreciation", + "Immobilisations financi\u00e8res": { + "account_type": "Depreciation", + "account_number": "68662" + }, + "Valeurs mobili\u00e8res de placement": { + "account_type": "Depreciation", + "account_number": "68665" + }, + "account_number": "6866" + }, + "Autres dotations": { + "account_type": "Depreciation", + "account_number": "6868" + }, + "account_number": "686" + }, + "Dotations aux amortissements, d\u00e9pr\u00e9ciations et provisions - Charges exceptionnelles": { + "account_type": "Depreciation", + "Dotations aux amortissements exceptionnels des immobilisations": { + "account_type": "Depreciation", + "account_number": "6871" + }, + "Dotations aux provisions r\u00e9glement\u00e9es (immobilisations)": { + "account_type": "Depreciation", + "Amortissements d\u00e9rogatoires": { + "account_type": "Depreciation", + "account_number": "68725" + }, + "account_number": "6872" + }, + "Dotations aux provisions r\u00e9glement\u00e9es (stocks)": { + "account_type": "Depreciation", + "account_number": "6873" + }, + "Dotations aux autres provisions r\u00e9glement\u00e9es": { + "account_type": "Depreciation", + "account_number": "6874" + }, + "Dotations aux provisions exceptionnelles": { + "account_type": "Depreciation", + "account_number": "6875" + }, + "Dotations aux d\u00e9pr\u00e9ciations exceptionnelles": { + "account_type": "Depreciation", + "account_number": "6876" + }, + "account_number": "687" + }, + "account_number": "68" + }, + "Participation des salari\u00e9s, imp\u00f4ts sur les b\u00e9n\u00e9fices et assimil\u00e9s": { + "Participation des salari\u00e9s aux r\u00e9sultats": { + "account_number": "691" + }, + "Imp\u00f4ts sur les b\u00e9n\u00e9fices": { + "Imp\u00f4ts dus en France": { + "account_number": "6951" + }, + "Contribution additionnelle \u00e0 l'imp\u00f4t sur les b\u00e9n\u00e9fices": { + "account_number": "6952" + }, + "Imp\u00f4ts dus \u00e0 l'\u00e9tranger": { + "account_number": "6954" + }, + "account_number": "695" + }, + "Suppl\u00e9ments d'imp\u00f4ts sur les soci\u00e9t\u00e9s, li\u00e9s aux distributions": { + "account_number": "696" + }, + "Int\u00e9gration fiscale": { + "Int\u00e9gration fiscale - Charges": { + "account_number": "6981" + }, + "Int\u00e9gration fiscale - Produits": { + "account_number": "6989" + }, + "account_number": "698" + }, + "Produits - Report en arri\u00e8re des d\u00e9ficits": { + "account_number": "699" + }, + "account_number": "69" + }, + "account_number": "6" + }, + "Comptes de Produits": { + "root_type": "Income", + "Ventes de produits fabriqu\u00e9s, prestations de services, marchandises": { + "Ventes de produits finis": { + "Produits finis (ou groupe) A": { + "account_number": "7011" + }, + "Produits (ou groupe) B": { + "account_number": "7012" + }, + "account_number": "701" + }, + "Ventes de produits interm\u00e9diaires": { + "account_number": "702" + }, + "Ventes de produits r\u00e9siduels": { + "account_number": "703" + }, + "Travaux": { + "Travaux de cat\u00e9gorie (ou activit\u00e9) A": { + "account_number": "7041" + }, + "Travaux de cat\u00e9gorie (ou activit\u00e9) B": { + "account_number": "7042" + }, + "account_number": "704" + }, + "Etudes": { + "account_number": "705" + }, + "Prestations de services": { + "account_number": "706" + }, + "Ventes de marchandises": { + "Marchandises (ou groupe) A": { + "account_number": "7071" + }, + "Marchandises (ou groupe) B": { + "account_number": "7072" + }, + "account_number": "707" + }, + "Produits des activit\u00e9s annexes": { + "Produits des services exploit\u00e9s dans l'int\u00e9r\u00eat du personnel": { + "account_number": "7081" + }, + "Commissions et courtages": { + "account_number": "7082" + }, + "Locations diverses": { + "account_number": "7083" + }, + "Mise \u00e0 disposition de personnel factur\u00e9e": { + "account_number": "7084" + }, + "Ports et frais accessoires factur\u00e9s": { + "account_number": "7085" + }, + "Bonis sur reprises d'emballages consign\u00e9s": { + "account_number": "7086" + }, + "Bonifications obtenues des clients et primes sur ventes": { + "account_number": "7087" + }, + "Autres produits d'activit\u00e9s annexes (cessions d'approvisionnements...)": { + "account_number": "7088" + }, + "account_number": "708" + }, + "Rabais, remises et ristournes accord\u00e9s par l'entreprise": { + "Rabais, remises et ristournes accord\u00e9s par l'entreprise - sur ventes de produits finis": { + "account_number": "7091" + }, + "Rabais, remises et ristournes accord\u00e9s par l'entreprise - sur ventes de produits interm\u00e9diaires": { + "account_number": "7092" + }, + "Rabais, remises et ristournes accord\u00e9s par l'entreprise - sur travaux": { + "account_number": "7094" + }, + "Rabais, remises et ristournes accord\u00e9s par l'entreprise - sur \u00e9tudes": { + "account_number": "7095" + }, + "Rabais, remises et ristournes accord\u00e9s par l'entreprise - sur prestations de services": { + "account_number": "7096" + }, + "Rabais, remises et ristournes accord\u00e9s par l'entreprise - sur ventes de marchandises": { + "account_number": "7097" + }, + "Rabais, remises et ristournes accord\u00e9s par l'entreprise - sur produits des activit\u00e9s annexes": { + "account_number": "7098" + }, + "account_number": "709" + }, + "account_number": "70" + }, + "Production stock\u00e9e (ou d\u00e9stockage)": { + "Variation des stocks (en-cours de production, produits)": { + "Variation des en-cours de production de biens": { + "Produits en cours": { + "account_number": "71331" + }, + "Travaux en cours": { + "account_number": "71335" + }, + "account_number": "7133" + }, + "Variation des en-cours de production de services": { + "Etudes en cours": { + "account_number": "71341" + }, + "Prestations de services en cours": { + "account_number": "71345" + }, + "account_number": "7134" + }, + "Variation des stocks de produits": { + "Produits interm\u00e9diaires": { + "account_number": "71351" + }, + "Produits finis": { + "account_number": "71355" + }, + "Produits r\u00e9siduels": { + "account_number": "71358" + }, + "account_number": "7135" + }, + "account_number": "713" + }, + "account_number": "71" + }, + "Production immobilis\u00e9e": { + "Immobilisations incorporelles": { + "account_number": "721" + }, + "Immobilisations corporelles": { + "account_number": "722" + }, + "account_number": "72" + }, + "Subventions d'exploitation": { + "is_group": 1, + "account_number": "74" + }, + "Autres produits de gestion courante": { + "Redevances pour concessions, brevets, licences, marques, proc\u00e9d\u00e9s, logiciels, droits et valeurs similaires": { + "Redevances pour concessions, brevets, licences, marques, proc\u00e9d\u00e9s, logiciels": { + "account_number": "7511" + }, + "Droits d'auteur et de reproduction": { + "account_number": "7516" + }, + "Autres droits et valeurs similaires": { + "account_number": "7518" + }, + "account_number": "751" + }, + "Revenus des immeubles non affect\u00e9s aux activit\u00e9s professionnelles": { + "account_number": "752" + }, + "Jetons de pr\u00e9sence et r\u00e9mun\u00e9rations d'administrateurs, g\u00e9rants...": { + "account_number": "753" + }, + "Ristournes per\u00e7ues des coop\u00e9ratives (provenant des exc\u00e9dents)": { + "account_number": "754" + }, + "Quotes-parts de r\u00e9sultats sur op\u00e9rations faites en commun": { + "Quote-part de perte transf\u00e9r\u00e9e (comptabilit\u00e9 du g\u00e9rant)": { + "account_number": "7551" + }, + "Quote-part de b\u00e9n\u00e9fice attribu\u00e9 (comptabilit\u00e9 des associ\u00e9s non g\u00e9rants)": { + "account_number": "7555" + }, + "account_number": "755" + }, + "Gains de change sur cr\u00e9ances et dettes commerciales": { + "account_number": "756" + }, + "Produits divers de gestion courante": { + "account_number": "758" + }, + "account_number": "75" + }, + "Produits financiers": { + "Produits de participations": { + "Revenus des titres de participation": { + "account_number": "7611" + }, + "Produits de la fiducie, r\u00e9sultat de la p\u00e9riode": { + "account_number": "7612" + }, + "Revenus sur autres formes de participation": { + "account_number": "7616" + }, + "Revenus des cr\u00e9ances rattach\u00e9es \u00e0 des participations": { + "account_number": "7617" + }, + "account_number": "761" + }, + "Produits des autres immobilisations financi\u00e8res": { + "Revenus des titres immobilis\u00e9s": { + "account_number": "7621" + }, + "Revenus des pr\u00eats": { + "account_number": "7626" + }, + "Revenus des cr\u00e9ances immobilis\u00e9es": { + "account_number": "7627" + }, + "account_number": "762" + }, + "Revenus des autres cr\u00e9ances": { + "Revenus des cr\u00e9ances commerciales": { + "account_number": "7631" + }, + "Revenus des cr\u00e9ances diverses": { + "account_number": "7638" + }, + "account_number": "763" + }, + "Revenus des valeurs mobili\u00e8res de placement": { + "account_number": "764" + }, + "Escomptes obtenus": { + "account_number": "765" + }, + "Gains de change financi\u00e8res": { + "account_type": "Round Off", + "account_number": "766" + }, + "Produits nets sur cessions de valeurs mobili\u00e8res de placement": { + "account_number": "767" + }, + "Autres produits financiers": { + "account_number": "768" + }, + "account_number": "76" + }, + "Produits exceptionnels": { + "Produits exceptionnels sur op\u00e9rations de gestion": { + "D\u00e9dits et p\u00e9nalit\u00e9s per\u00e7us sur achats et sur ventes": { + "account_number": "7711" + }, + "Lib\u00e9ralit\u00e9s re\u00e7ues": { + "account_number": "7713" + }, + "Rentr\u00e9es sur cr\u00e9ances amorties": { + "account_number": "7714" + }, + "Subventions d'\u00e9quilibre": { + "account_number": "7715" + }, + "D\u00e9gr\u00e8vements d'imp\u00f4ts autres qu'imp\u00f4ts sur les b\u00e9n\u00e9fices": { + "account_number": "7717" + }, + "Autres produits exceptionnels sur op\u00e9rations de gestion": { + "account_number": "7718" + }, + "account_number": "771" + }, + "(Compte \u00e0 la disposition des entit\u00e9s pour enregistrer, en cours d'exercice, les Produits sur exercices ant\u00e9rieurs)": { + "account_number": "772" + }, + "Op\u00e9rations de constitution ou liquidation des fiducies": { + "Op\u00e9rations li\u00e9es \u00e0 la constitution de la fiducie - transfert des \u00e9l\u00e9ments": { + "account_number": "7741" + }, + "Op\u00e9rations li\u00e9es \u00e0 la liquidation de la fiducie": { + "account_number": "7742" + }, + "account_number": "774" + }, + "Produits des cessions d'\u00e9l\u00e9ments d'actif": { + "Immobilisations incorporelles": { + "account_number": "7751" + }, + "Immobilisations corporelles": { + "account_number": "7752" + }, + "Immobilisations financi\u00e8res": { + "account_number": "7756" + }, + "Autres \u00e9l\u00e9ments d'actif": { + "account_number": "7758" + }, + "account_number": "775" + }, + "Quote-part des subventions d'investissement vir\u00e9e au r\u00e9sultat de l'exercice": { + "account_number": "777" + }, + "Autres produits exceptionnels": { + "Bonis provenant de clauses d'indexation": { + "account_number": "7781" + }, + "Lots": { + "account_number": "7782" + }, + "Bonis provenant du rachat par l'entreprise d'actions et d'obligations \u00e9mises par elle-m\u00eame": { + "account_number": "7783" + }, + "Produits exceptionnels divers": { + "account_number": "7788" + }, + "account_number": "778" + }, + "account_number": "77" + }, + "Reprises sur amortissements, d\u00e9pr\u00e9ciations et provisions": { + "Reprises sur amortissements, d\u00e9pr\u00e9ciations et provisions (\u00e0 inscrire dans les produits d'exploitation)": { + "Reprises sur amortissements des immobilisations incorporelles et corporelles": { + "Immobilisations incorporelles": { + "account_number": "78111" + }, + "Immobilisations corporelles": { + "account_number": "78112" + }, + "account_number": "7811" + }, + "Reprises sur provisions d'exploitation": { + "account_number": "7815" + }, + "Reprises sur d\u00e9pr\u00e9ciations des immobilisations corporelles et incorporelles": { + "Immobilisations incorporelles": { + "account_number": "78161" + }, + "Immobilisations corporelles": { + "account_number": "78162" + }, + "account_number": "7816" + }, + "Reprises sur d\u00e9pr\u00e9ciations des actifs circulants": { + "Stocks et en-cours": { + "account_number": "78173" + }, + "Cr\u00e9ances": { + "account_number": "78174" + }, + "account_number": "7817" + }, + "account_number": "781" + }, + "Reprises sur d\u00e9pr\u00e9ciations et provisions (\u00e0 inscrire dans les produits financiers)": { + "Reprises sur provisions financi\u00e8res": { + "account_number": "7865" + }, + "Reprises sur d\u00e9pr\u00e9ciations des \u00e9l\u00e9ments financiers": { + "Immobilisations financi\u00e8res": { + "account_number": "78662" + }, + "Valeurs mobili\u00e8res de placement": { + "account_number": "78665" + }, + "account_number": "7866" + }, + "account_number": "786" + }, + "Reprises sur d\u00e9pr\u00e9ciations et provisions (\u00e0 inscrire dans les produits exceptionnels)": { + "Reprises sur provisions r\u00e9glement\u00e9es (immobilisations)": { + "Amortissements d\u00e9rogatoires": { + "account_number": "78725" + }, + "Provision sp\u00e9ciale de r\u00e9\u00e9valuation": { + "account_number": "78726" + }, + "Plus-values r\u00e9investies": { + "account_number": "78727" + }, + "account_number": "7872" + }, + "Reprises sur provisions r\u00e9glement\u00e9es (stocks)": { + "account_number": "7873" + }, + "Reprises sur autres provisions r\u00e9glement\u00e9es": { + "account_number": "7874" + }, + "Reprises sur provisions exceptionnelles": { + "account_number": "7875" + }, + "Reprises sur d\u00e9pr\u00e9ciations exceptionnelles": { + "account_number": "7876" + }, + "account_number": "787" + }, + "account_number": "78" + }, + "Transferts de charges": { + "Transferts de charges d'exploitation": { + "account_number": "791" + }, + "Transferts de charges financi\u00e8res": { + "account_number": "796" + }, + "Transferts de charges exceptionnelles": { + "account_number": "797" + }, + "account_number": "79" + }, + "account_number": "7" + } + } +} From 2131c7aadb45ba7ceee27a8cac130b7c35e35ce0 Mon Sep 17 00:00:00 2001 From: Mihir Kandoi Date: Mon, 19 Jan 2026 19:43:31 +0530 Subject: [PATCH 56/68] fix: no attribute error on subcontracting receipt (cherry picked from commit fbac8b032e4dca1077fb63fab40ced8f1e2682d9) --- erpnext/controllers/subcontracting_controller.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/erpnext/controllers/subcontracting_controller.py b/erpnext/controllers/subcontracting_controller.py index c6daf7ead01..33c1edbcb72 100644 --- a/erpnext/controllers/subcontracting_controller.py +++ b/erpnext/controllers/subcontracting_controller.py @@ -610,7 +610,9 @@ class SubcontractingController(StockController): and self.doctype != "Subcontracting Inward Order" ): row.reserve_warehouse = self.set_reserve_warehouse or item.warehouse - elif frappe.get_cached_value("Item", row.rm_item_code, "is_customer_provided_item"): + elif frappe.get_cached_value("Item", row.rm_item_code, "is_customer_provided_item") and self.get( + "customer_warehouse" + ): row.warehouse = self.customer_warehouse def __set_alternative_item(self, bom_item): From fe59ace285d7c0b6076406fac72e1665d60e8781 Mon Sep 17 00:00:00 2001 From: Mihir Kandoi Date: Mon, 19 Jan 2026 19:49:01 +0530 Subject: [PATCH 57/68] fix: no attribute error on LCV (cherry picked from commit ad11914fca2c8cb984a0e5b3b02acf142e28b541) --- .../stock/doctype/landed_cost_voucher/landed_cost_voucher.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/erpnext/stock/doctype/landed_cost_voucher/landed_cost_voucher.py b/erpnext/stock/doctype/landed_cost_voucher/landed_cost_voucher.py index ca4cdf5d458..9d23eda3755 100644 --- a/erpnext/stock/doctype/landed_cost_voucher/landed_cost_voucher.py +++ b/erpnext/stock/doctype/landed_cost_voucher/landed_cost_voucher.py @@ -437,7 +437,7 @@ def get_vendor_invoices(doctype, txt, searchfield, start, page_len, filters): query = get_vendor_invoice_query(filters) if txt: - query = query.where(doctype.name.like(f"%{txt}%")) + query = query.where(frappe.qb.DocType(doctype).name.like(f"%{txt}%")) if start: query = query.limit(page_len).offset(start) From 7b3f74609a47473f8cec1f3ed2c3017c1a427a3f Mon Sep 17 00:00:00 2001 From: Sudharsanan11 Date: Sun, 18 Jan 2026 23:03:24 +0530 Subject: [PATCH 58/68] fix(manufacturing): consider process loss qty while validating the work order (cherry picked from commit e6366e830c8d21279ea666209f46b1164caa2466) --- erpnext/manufacturing/doctype/work_order/work_order.py | 2 +- erpnext/selling/doctype/sales_order/sales_order.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/erpnext/manufacturing/doctype/work_order/work_order.py b/erpnext/manufacturing/doctype/work_order/work_order.py index e6ff7407e29..37c1d12f05d 100644 --- a/erpnext/manufacturing/doctype/work_order/work_order.py +++ b/erpnext/manufacturing/doctype/work_order/work_order.py @@ -502,7 +502,7 @@ class WorkOrder(Document): def validate_work_order_against_so(self): # already ordered qty ordered_qty_against_so = frappe.db.sql( - """select sum(qty) from `tabWork Order` + """select sum(qty - process_loss_qty) from `tabWork Order` where production_item = %s and sales_order = %s and docstatus < 2 and status != 'Closed' and name != %s""", (self.production_item, self.sales_order, self.name), )[0][0] diff --git a/erpnext/selling/doctype/sales_order/sales_order.py b/erpnext/selling/doctype/sales_order/sales_order.py index 81ab746fc0c..f8b7cd94ba7 100755 --- a/erpnext/selling/doctype/sales_order/sales_order.py +++ b/erpnext/selling/doctype/sales_order/sales_order.py @@ -1989,7 +1989,7 @@ def get_work_order_items(sales_order, for_raw_material_request=0): if not for_raw_material_request: total_work_order_qty = flt( qb.from_(wo) - .select(Sum(wo.qty)) + .select(Sum(wo.qty - wo.process_loss_qty)) .where( (wo.production_item == i.item_code) & (wo.sales_order == so.name) From efa5173964e01ecf72284489cfca1f0518295668 Mon Sep 17 00:00:00 2001 From: Lakshit Jain Date: Tue, 20 Jan 2026 07:50:27 +0530 Subject: [PATCH 59/68] Merge pull request #51561 from ljain112/fic-adv-ple-po fix: delete advance ledger entries while reconciling payment entry (cherry picked from commit aea70c5ec1210fcf2d626feca7354e973d170e21) --- erpnext/accounts/utils.py | 1 + .../purchase_order/test_purchase_order.py | 49 +++++++++++++++++++ 2 files changed, 50 insertions(+) diff --git a/erpnext/accounts/utils.py b/erpnext/accounts/utils.py index 7dfe9041506..4e0079abf02 100644 --- a/erpnext/accounts/utils.py +++ b/erpnext/accounts/utils.py @@ -547,6 +547,7 @@ def reconcile_against_document( doc.make_advance_gl_entries(entry=row) else: _delete_pl_entries(voucher_type, voucher_no) + _delete_adv_pl_entries(voucher_type, voucher_no) gl_map = doc.build_gl_map() # Make sure there is no overallocation from erpnext.accounts.general_ledger import process_debit_credit_difference diff --git a/erpnext/buying/doctype/purchase_order/test_purchase_order.py b/erpnext/buying/doctype/purchase_order/test_purchase_order.py index aa4668923b8..f533af61b9e 100644 --- a/erpnext/buying/doctype/purchase_order/test_purchase_order.py +++ b/erpnext/buying/doctype/purchase_order/test_purchase_order.py @@ -1330,6 +1330,55 @@ class TestPurchaseOrder(IntegrationTestCase): pi = make_pi_from_po(po.name) self.assertEqual(pi.items[0].qty, 50) + def test_multiple_advances_against_purchase_order_are_allocated_across_partial_purchase_invoices(self): + # step - 1: create PO + po = create_purchase_order(qty=10, rate=10) + + # step - 2: create first partial advance payment + pe1 = get_payment_entry("Purchase Order", po.name, bank_account="_Test Bank - _TC") + pe1.reference_no = "1" + pe1.reference_date = nowdate() + pe1.paid_amount = 50 + pe1.references[0].allocated_amount = 50 + pe1.save(ignore_permissions=True).submit() + + # check first advance paid against PO + po.reload() + self.assertEqual(po.advance_paid, 50) + + # step - 3: create first PI for partial qty and allocate first advance + pi_1 = make_pi_from_po(po.name) + pi_1.update_stock = 1 + pi_1.allocate_advances_automatically = 1 + pi_1.items[0].qty = 5 + pi_1.save(ignore_permissions=True).submit() + + # step - 4: create second advance payment for remaining + pe2 = get_payment_entry("Purchase Order", po.name, bank_account="_Test Bank - _TC") + pe2.reference_no = "2" + pe2.reference_date = nowdate() + pe2.paid_amount = 50 + pe2.references[0].allocated_amount = 50 + pe2.save(ignore_permissions=True).submit() + + # check second advance paid against PO + po.reload() + self.assertEqual(po.advance_paid, 100) + + # step - 5: create second PI for remaining qty and allocate second advance + pi_2 = make_pi_from_po(po.name) + pi_2.update_stock = 1 + pi_2.allocate_advances_automatically = 1 + pi_2.save(ignore_permissions=True).submit() + + # check PO and PI status + po.reload() + pi_1.reload() + pi_2.reload() + self.assertEqual(pi_1.status, "Paid") + self.assertEqual(pi_2.status, "Paid") + self.assertEqual(po.status, "Completed") + def create_po_for_sc_testing(): from erpnext.controllers.tests.test_subcontracting_controller import ( From 621243c1d338de3bd28725c45bc2eec715a62571 Mon Sep 17 00:00:00 2001 From: barredterra <14891507+barredterra@users.noreply.github.com> Date: Mon, 19 Jan 2026 17:55:50 +0100 Subject: [PATCH 60/68] fix(accounts_controller): make return message translatable (cherry picked from commit 0209f0fe29cf8af6fb65877e4a8789dd85c53fee) --- erpnext/controllers/accounts_controller.py | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/erpnext/controllers/accounts_controller.py b/erpnext/controllers/accounts_controller.py index 73cc888fc4a..a97fb4000fb 100644 --- a/erpnext/controllers/accounts_controller.py +++ b/erpnext/controllers/accounts_controller.py @@ -187,9 +187,8 @@ class AccountsController(TransactionBase): msg = "" if self.get("update_outstanding_for_self"): - msg = ( - "We can see {0} is made against {1}. If you want {1}'s outstanding to be updated, " - "uncheck '{2}' checkbox.

Or" + msg = _( + "We can see {0} is made against {1}. If you want {1}'s outstanding to be updated, uncheck the '{2}' checkbox." ).format( frappe.bold(document_type), get_link_to_form(self.doctype, self.get("return_against")), @@ -200,8 +199,8 @@ class AccountsController(TransactionBase): abs(flt(self.rounded_total) or flt(self.grand_total)) > flt(against_voucher_outstanding) ): self.update_outstanding_for_self = 1 - msg = ( - "The outstanding amount {} in {} is lesser than {}. Updating the outstanding to this invoice.

And" + msg = _( + "The outstanding amount {0} in {1} is lesser than {2}. Updating the outstanding to this invoice." ).format( against_voucher_outstanding, get_link_to_form(self.doctype, self.get("return_against")), @@ -209,11 +208,11 @@ class AccountsController(TransactionBase): ) if msg: - msg += " you can use {} tool to reconcile against {} later.".format( + msg += "

" + _("You can use {0} to reconcile against {1} later.").format( get_link_to_form("Payment Reconciliation"), get_link_to_form(self.doctype, self.get("return_against")), ) - frappe.msgprint(_(msg)) + frappe.msgprint(msg) def validate(self): if not self.get("is_return") and not self.get("is_debit_note"): From fb669eb6f4fe28d8e7c4acae8a78293896f1c992 Mon Sep 17 00:00:00 2001 From: Mihir Kandoi Date: Tue, 20 Jan 2026 12:37:12 +0530 Subject: [PATCH 61/68] fix: overproduction % not considered when making WO from SO (cherry picked from commit edba9efb5ed42887734ddf0910708621f25307be) --- .../doctype/work_order/work_order.py | 12 +++++++----- .../selling/doctype/sales_order/sales_order.js | 16 ++++++++++++---- .../selling/doctype/sales_order/sales_order.py | 11 +++++++++-- 3 files changed, 28 insertions(+), 11 deletions(-) diff --git a/erpnext/manufacturing/doctype/work_order/work_order.py b/erpnext/manufacturing/doctype/work_order/work_order.py index 37c1d12f05d..faa6b08398d 100644 --- a/erpnext/manufacturing/doctype/work_order/work_order.py +++ b/erpnext/manufacturing/doctype/work_order/work_order.py @@ -503,7 +503,7 @@ class WorkOrder(Document): # already ordered qty ordered_qty_against_so = frappe.db.sql( """select sum(qty - process_loss_qty) from `tabWork Order` - where production_item = %s and sales_order = %s and docstatus < 2 and status != 'Closed' and name != %s""", + where production_item = %s and sales_order = %s and docstatus = 1 and status != 'Closed' and name != %s""", (self.production_item, self.sales_order, self.name), )[0][0] @@ -512,13 +512,13 @@ class WorkOrder(Document): # get qty from Sales Order Item table so_item_qty = frappe.db.sql( """select sum(stock_qty) from `tabSales Order Item` - where parent = %s and item_code = %s""", + where parent = %s and item_code = %s and docstatus = 1""", (self.sales_order, self.production_item), )[0][0] # get qty from Packing Item table dnpi_qty = frappe.db.sql( """select sum(qty) from `tabPacked Item` - where parent = %s and parenttype = 'Sales Order' and item_code = %s""", + where parent = %s and parenttype = 'Sales Order' and item_code = %s and docstatus = 1""", (self.sales_order, self.production_item), )[0][0] # total qty in SO @@ -530,8 +530,10 @@ class WorkOrder(Document): if total_qty > so_qty + (allowance_percentage / 100 * so_qty): frappe.throw( - _("Cannot produce more Item {0} than Sales Order quantity {1}").format( - self.production_item, so_qty + _("Cannot produce more Item {0} than Sales Order quantity {1} {2}").format( + get_link_to_form("Item", self.production_item), + frappe.bold(so_qty), + frappe.bold(frappe.get_value("Item", self.production_item, "stock_uom")), ), OverProductionError, ) diff --git a/erpnext/selling/doctype/sales_order/sales_order.js b/erpnext/selling/doctype/sales_order/sales_order.js index fb4f6f5e696..c228c45b175 100644 --- a/erpnext/selling/doctype/sales_order/sales_order.js +++ b/erpnext/selling/doctype/sales_order/sales_order.js @@ -1220,10 +1220,12 @@ erpnext.selling.SalesOrderController = class SalesOrderController extends erpnex }, freeze: true, callback: function (r) { - if (!r.message) { + if (r.message.length === 0) { frappe.msgprint({ title: __("Work Order not created"), - message: __("No Items with Bill of Materials to Manufacture"), + message: __( + "No Items with Bill of Materials to Manufacture or all items already manufactured" + ), indicator: "orange", }); return; @@ -1233,19 +1235,24 @@ erpnext.selling.SalesOrderController = class SalesOrderController extends erpnex label: __("Items"), fieldtype: "Table", fieldname: "items", + cannot_add_rows: true, description: __("Select BOM and Qty for Production"), fields: [ { - fieldtype: "Read Only", + fieldtype: "Link", fieldname: "item_code", + options: "Item", label: __("Item Code"), in_list_view: 1, + read_only: 1, }, { - fieldtype: "Read Only", + fieldtype: "Data", fieldname: "item_name", label: __("Item Name"), in_list_view: 1, + read_only: 1, + fetch_from: "item_code.item_name", }, { fieldtype: "Link", @@ -1271,6 +1278,7 @@ erpnext.selling.SalesOrderController = class SalesOrderController extends erpnex reqd: 1, label: __("Sales Order Item"), hidden: 1, + read_only: 1, }, ], data: r.message, diff --git a/erpnext/selling/doctype/sales_order/sales_order.py b/erpnext/selling/doctype/sales_order/sales_order.py index f8b7cd94ba7..a43877f923a 100755 --- a/erpnext/selling/doctype/sales_order/sales_order.py +++ b/erpnext/selling/doctype/sales_order/sales_order.py @@ -1981,6 +1981,10 @@ def get_work_order_items(sales_order, for_raw_material_request=0): ) ] + overproduction_percentage_for_sales_order = ( + frappe.get_single_value("Manufacturing Settings", "overproduction_percentage_for_sales_order") + / 100 + ) for table in [so.items, so.packed_items]: for i in table: bom = get_default_bom(i.item_code) @@ -1994,7 +1998,7 @@ def get_work_order_items(sales_order, for_raw_material_request=0): (wo.production_item == i.item_code) & (wo.sales_order == so.name) & (wo.sales_order_item == i.name) - & (wo.docstatus.lt(2)) + & (wo.docstatus == 1) & (wo.status != "Closed") ) .run()[0][0] @@ -2003,7 +2007,10 @@ def get_work_order_items(sales_order, for_raw_material_request=0): else: pending_qty = stock_qty - if pending_qty and i.item_code not in product_bundle_parents: + if not pending_qty: + pending_qty = stock_qty * overproduction_percentage_for_sales_order + + if pending_qty > 0 and i.item_code not in product_bundle_parents: items.append( dict( name=i.name, From 673635e2c350440d7060a90d8bee050221552b09 Mon Sep 17 00:00:00 2001 From: Nikhil Kothari Date: Mon, 12 Jan 2026 00:42:52 +0530 Subject: [PATCH 62/68] fix(accounts): add missing accounting dimensions in advance taxes and charges (cherry picked from commit 22e9cb4cf4a252f7cfcdb1b534de87d5ae908a0f) # Conflicts: # erpnext/patches.txt --- erpnext/hooks.py | 1 + erpnext/patches.txt | 1 + ...e_accounting_dimensions_in_advance_taxes_and_charges.py | 7 +++++++ 3 files changed, 9 insertions(+) create mode 100644 erpnext/patches/v15_0/create_accounting_dimensions_in_advance_taxes_and_charges.py diff --git a/erpnext/hooks.py b/erpnext/hooks.py index 3b0f338cf84..ca7efec8e58 100644 --- a/erpnext/hooks.py +++ b/erpnext/hooks.py @@ -569,6 +569,7 @@ accounting_dimension_doctypes = [ "Payment Request", "Asset Movement Item", "Asset Depreciation Schedule", + "Advance Taxes and Charges", ] get_matching_queries = ( diff --git a/erpnext/patches.txt b/erpnext/patches.txt index c82e257dc6c..6978d0a634e 100644 --- a/erpnext/patches.txt +++ b/erpnext/patches.txt @@ -458,3 +458,4 @@ erpnext.patches.v16_0.update_corrected_cancelled_status erpnext.patches.v16_0.fix_barcode_typo erpnext.patches.v16_0.set_post_change_gl_entries_on_pos_settings execute:frappe.delete_doc_if_exists("Workspace Sidebar", "Opening & Closing") +erpnext.patches.v15_0.create_accounting_dimensions_in_advance_taxes_and_charges diff --git a/erpnext/patches/v15_0/create_accounting_dimensions_in_advance_taxes_and_charges.py b/erpnext/patches/v15_0/create_accounting_dimensions_in_advance_taxes_and_charges.py new file mode 100644 index 00000000000..201b16b1e00 --- /dev/null +++ b/erpnext/patches/v15_0/create_accounting_dimensions_in_advance_taxes_and_charges.py @@ -0,0 +1,7 @@ +from erpnext.accounts.doctype.accounting_dimension.accounting_dimension import ( + create_accounting_dimensions_for_doctype, +) + + +def execute(): + create_accounting_dimensions_for_doctype(doctype="Advance Taxes and Charges") From 5d5d208a49e3150fcda67d59136f21505f8b1602 Mon Sep 17 00:00:00 2001 From: diptanilsaha Date: Tue, 20 Jan 2026 00:44:59 +0530 Subject: [PATCH 63/68] fix(bank_account): validation for is_company_account (cherry picked from commit 7532ab01d6fc671939beafa38a973b4fac7d5079) --- .../doctype/bank_account/bank_account.js | 4 --- .../doctype/bank_account/bank_account.json | 4 ++- .../doctype/bank_account/bank_account.py | 36 ++++++++++--------- 3 files changed, 23 insertions(+), 21 deletions(-) diff --git a/erpnext/accounts/doctype/bank_account/bank_account.js b/erpnext/accounts/doctype/bank_account/bank_account.js index 202f750fb50..5173e0539f4 100644 --- a/erpnext/accounts/doctype/bank_account/bank_account.js +++ b/erpnext/accounts/doctype/bank_account/bank_account.js @@ -42,8 +42,4 @@ frappe.ui.form.on("Bank Account", { }); } }, - - is_company_account: function (frm) { - frm.set_df_property("account", "reqd", frm.doc.is_company_account); - }, }); diff --git a/erpnext/accounts/doctype/bank_account/bank_account.json b/erpnext/accounts/doctype/bank_account/bank_account.json index 9ecd9c53503..b44ccb56835 100644 --- a/erpnext/accounts/doctype/bank_account/bank_account.json +++ b/erpnext/accounts/doctype/bank_account/bank_account.json @@ -52,6 +52,7 @@ "fieldtype": "Link", "in_list_view": 1, "label": "Company Account", + "mandatory_depends_on": "is_company_account", "options": "Account" }, { @@ -98,6 +99,7 @@ "in_list_view": 1, "in_standard_filter": 1, "label": "Company", + "mandatory_depends_on": "is_company_account", "options": "Company" }, { @@ -252,7 +254,7 @@ "link_fieldname": "default_bank_account" } ], - "modified": "2025-08-29 12:32:01.081687", + "modified": "2026-01-20 00:46:16.633364", "modified_by": "Administrator", "module": "Accounts", "name": "Bank Account", diff --git a/erpnext/accounts/doctype/bank_account/bank_account.py b/erpnext/accounts/doctype/bank_account/bank_account.py index d8dc1191bf7..c0dc6467f8f 100644 --- a/erpnext/accounts/doctype/bank_account/bank_account.py +++ b/erpnext/accounts/doctype/bank_account/bank_account.py @@ -51,25 +51,29 @@ class BankAccount(Document): delete_contact_and_address("Bank Account", self.name) def validate(self): - self.validate_company() - self.validate_account() + self.validate_is_company_account() self.update_default_bank_account() - def validate_account(self): - if self.account: - if accounts := frappe.db.get_all( - "Bank Account", filters={"account": self.account, "name": ["!=", self.name]}, as_list=1 - ): - frappe.throw( - _("'{0}' account is already used by {1}. Use another account.").format( - frappe.bold(self.account), - frappe.bold(comma_and([get_link_to_form(self.doctype, x[0]) for x in accounts])), - ) - ) + def validate_is_company_account(self): + if self.is_company_account: + if not self.company: + frappe.throw(_("Company is mandatory for company account")) - def validate_company(self): - if self.is_company_account and not self.company: - frappe.throw(_("Company is mandatory for company account")) + if not self.account: + frappe.throw(_("Company Account is mandatory")) + + self.validate_account() + + def validate_account(self): + if accounts := frappe.db.get_all( + "Bank Account", filters={"account": self.account, "name": ["!=", self.name]}, as_list=1 + ): + frappe.throw( + _("'{0}' account is already used by {1}. Use another account.").format( + frappe.bold(self.account), + frappe.bold(comma_and([get_link_to_form(self.doctype, x[0]) for x in accounts])), + ) + ) def update_default_bank_account(self): if self.is_default and not self.disabled: From 3ac431bd5008b64c27e0ae1517b9c2f23ff0beac Mon Sep 17 00:00:00 2001 From: Rohit Waghchaure Date: Tue, 20 Jan 2026 17:12:31 +0530 Subject: [PATCH 64/68] perf: prevent duplicate reposting for the same item (cherry picked from commit 753593157183c0dcb7945255809c6d2c8be3f007) --- erpnext/stock/stock_ledger.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/erpnext/stock/stock_ledger.py b/erpnext/stock/stock_ledger.py index 7a9a2ad273a..05a9c1adae3 100644 --- a/erpnext/stock/stock_ledger.py +++ b/erpnext/stock/stock_ledger.py @@ -758,7 +758,8 @@ class update_entries_after: self.distinct_item_warehouses[key] = val self.new_items_found = True elif ( - dependant_sle.actual_qty > 0 + self.via_landed_cost_voucher + and dependant_sle.actual_qty > 0 and dependant_sle.voucher_type == "Stock Entry" and is_transfer_stock_entry(dependant_sle.voucher_no) ): From fef6df709d631fb72251207187d8690870f157da Mon Sep 17 00:00:00 2001 From: Mihir Kandoi Date: Tue, 20 Jan 2026 15:08:37 +0530 Subject: [PATCH 65/68] fix: allow creation of DN in SI for items not having DN reference (cherry picked from commit b691de0147cd6b5f19fa3fd9582fb18d97b74371) --- .../accounts/doctype/sales_invoice/sales_invoice.js | 10 ++-------- .../accounts/doctype/sales_invoice/sales_invoice.py | 4 +++- 2 files changed, 5 insertions(+), 9 deletions(-) diff --git a/erpnext/accounts/doctype/sales_invoice/sales_invoice.js b/erpnext/accounts/doctype/sales_invoice/sales_invoice.js index c50eaa69a9f..caafdcedc23 100644 --- a/erpnext/accounts/doctype/sales_invoice/sales_invoice.js +++ b/erpnext/accounts/doctype/sales_invoice/sales_invoice.js @@ -115,15 +115,9 @@ erpnext.accounts.SalesInvoiceController = class SalesInvoiceController extends ( } if (cint(doc.update_stock) != 1) { - // show Make Delivery Note button only if Sales Invoice is not created from Delivery Note - var from_delivery_note = false; - from_delivery_note = this.frm.doc.items.some(function (item) { - return item.delivery_note ? true : false; - }); - - if (!from_delivery_note && !is_delivered_by_supplier) { + if (!is_delivered_by_supplier) { this.frm.add_custom_button( - __("Delivery"), + __("Delivery Note"), this.frm.cscript["Make Delivery Note"], __("Create") ); diff --git a/erpnext/accounts/doctype/sales_invoice/sales_invoice.py b/erpnext/accounts/doctype/sales_invoice/sales_invoice.py index e987a5ad099..befa1ddea24 100644 --- a/erpnext/accounts/doctype/sales_invoice/sales_invoice.py +++ b/erpnext/accounts/doctype/sales_invoice/sales_invoice.py @@ -2422,7 +2422,9 @@ def make_delivery_note(source_name, target_doc=None): "cost_center": "cost_center", }, "postprocess": update_item, - "condition": lambda doc: doc.delivered_by_supplier != 1 and not doc.scio_detail, + "condition": lambda doc: doc.delivered_by_supplier != 1 + and not doc.scio_detail + and not doc.dn_detail, }, "Sales Taxes and Charges": {"doctype": "Sales Taxes and Charges", "reset_value": True}, "Sales Team": { From c9d7c6cd424ccf828d419a362b20f4a9d63be2a1 Mon Sep 17 00:00:00 2001 From: "mergify[bot]" <37929162+mergify[bot]@users.noreply.github.com> Date: Tue, 20 Jan 2026 12:56:27 +0000 Subject: [PATCH 66/68] fix: continuous raw material consumption with bom validation (backport #51914) (#51919) Co-authored-by: Mihir Kandoi --- .../doctype/work_order/work_order.js | 2 +- .../stock/doctype/stock_entry/stock_entry.py | 31 +++++++++++++++++-- .../doctype/stock_entry/test_stock_entry.py | 27 ++++++++++++++++ 3 files changed, 57 insertions(+), 3 deletions(-) diff --git a/erpnext/manufacturing/doctype/work_order/work_order.js b/erpnext/manufacturing/doctype/work_order/work_order.js index 0d99a923a00..e816c4690df 100644 --- a/erpnext/manufacturing/doctype/work_order/work_order.js +++ b/erpnext/manufacturing/doctype/work_order/work_order.js @@ -829,7 +829,7 @@ erpnext.work_order = { } } if (counter > 0) { - var consumption_btn = frm.add_custom_button( + frm.add_custom_button( __("Material Consumption"), function () { const backflush_raw_materials_based_on = diff --git a/erpnext/stock/doctype/stock_entry/stock_entry.py b/erpnext/stock/doctype/stock_entry/stock_entry.py index 5d973cdc3a0..ed3c0d7658f 100644 --- a/erpnext/stock/doctype/stock_entry/stock_entry.py +++ b/erpnext/stock/doctype/stock_entry/stock_entry.py @@ -938,7 +938,9 @@ class StockEntry(StockController, SubcontractingInwardController): if matched_item := self.get_matched_items(item_code): if flt(details.get("qty"), precision) != flt(matched_item.qty, precision): frappe.throw( - _("For the item {0}, the quantity should be {1} according to the BOM {2}.").format( + _( + "For the item {0}, the consumed quantity should be {1} according to the BOM {2}." + ).format( frappe.bold(item_code), flt(details.get("qty")), get_link_to_form("BOM", self.bom_no), @@ -1003,12 +1005,37 @@ class StockEntry(StockController, SubcontractingInwardController): ) def get_matched_items(self, item_code): - for row in self.items: + items = [item for item in self.items if item.s_warehouse] + for row in items or self.get_consumed_items(): if row.item_code == item_code or row.original_item == item_code: return row return {} + def get_consumed_items(self): + """Get all raw materials consumed through consumption entries""" + parent = frappe.qb.DocType("Stock Entry") + child = frappe.qb.DocType("Stock Entry Detail") + + query = ( + frappe.qb.from_(parent) + .join(child) + .on(parent.name == child.parent) + .select( + child.item_code, + Sum(child.qty).as_("qty"), + child.original_item, + ) + .where( + (parent.docstatus == 1) + & (parent.purpose == "Material Consumption for Manufacture") + & (parent.work_order == self.work_order) + ) + .groupby(child.item_code, child.original_item) + ) + + return query.run(as_dict=True) + @frappe.whitelist() def get_stock_and_rate(self): """ diff --git a/erpnext/stock/doctype/stock_entry/test_stock_entry.py b/erpnext/stock/doctype/stock_entry/test_stock_entry.py index 1bcfc567fda..ced7d946f6f 100644 --- a/erpnext/stock/doctype/stock_entry/test_stock_entry.py +++ b/erpnext/stock/doctype/stock_entry/test_stock_entry.py @@ -2362,6 +2362,33 @@ class TestStockEntry(IntegrationTestCase): self.assertEqual(target_sabb.entries[0].batch_no, batch) self.assertEqual([entry.serial_no for entry in target_sabb.entries], serial_nos[:2]) + @IntegrationTestCase.change_settings( + "Manufacturing Settings", + { + "material_consumption": 1, + "backflush_raw_materials_based_on": "BOM", + "validate_components_quantities_per_bom": 1, + }, + ) + def test_validation_as_per_bom_with_continuous_raw_material_consumption(self): + from erpnext.manufacturing.doctype.production_plan.test_production_plan import make_bom + from erpnext.manufacturing.doctype.work_order.work_order import make_stock_entry as _make_stock_entry + from erpnext.manufacturing.doctype.work_order.work_order import make_work_order + + fg_item = make_item("_Mobiles", properties={"is_stock_item": 1}).name + rm_item1 = make_item("_Battery", properties={"is_stock_item": 1}).name + warehouse = "Stores - WP" + bom_no = make_bom(item=fg_item, raw_materials=[rm_item1]).name + make_stock_entry(item_code=rm_item1, target=warehouse, qty=5, rate=10, purpose="Material Receipt") + + work_order = make_work_order(bom_no, fg_item, 5) + work_order.skip_transfer = 1 + work_order.fg_warehouse = warehouse + work_order.submit() + + frappe.get_doc(_make_stock_entry(work_order.name, "Material Consumption for Manufacture", 5)).submit() + frappe.get_doc(_make_stock_entry(work_order.name, "Manufacture", 5)).submit() + def make_serialized_item(self, **args): args = frappe._dict(args) From 72cdddbeda50c1faf3fe66e9cb9724eb8288e9b6 Mon Sep 17 00:00:00 2001 From: rohitwaghchaure Date: Tue, 20 Jan 2026 19:30:42 +0530 Subject: [PATCH 67/68] Revert "perf: prevent duplicate reposting for the same item" (cherry picked from commit 6e4b90055f6058ec6ca65d0a858a498cf869cf16) --- erpnext/stock/stock_ledger.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/erpnext/stock/stock_ledger.py b/erpnext/stock/stock_ledger.py index 05a9c1adae3..7a9a2ad273a 100644 --- a/erpnext/stock/stock_ledger.py +++ b/erpnext/stock/stock_ledger.py @@ -758,8 +758,7 @@ class update_entries_after: self.distinct_item_warehouses[key] = val self.new_items_found = True elif ( - self.via_landed_cost_voucher - and dependant_sle.actual_qty > 0 + dependant_sle.actual_qty > 0 and dependant_sle.voucher_type == "Stock Entry" and is_transfer_stock_entry(dependant_sle.voucher_no) ): From 176096bc5b028da80c6a318698b9981711d8b631 Mon Sep 17 00:00:00 2001 From: Mihir Kandoi Date: Tue, 20 Jan 2026 20:18:59 +0530 Subject: [PATCH 68/68] fix: validation message in stock reco row idx (cherry picked from commit 3960c01798a963d0b99a650f626bfc15bacc082f) --- .../stock_reconciliation.py | 23 +++++++++++-------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py b/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py index 59683e87e3d..64ac2a94928 100644 --- a/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py +++ b/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py @@ -75,6 +75,7 @@ class StockReconciliation(StockController): self.validate_duplicate_serial_and_batch_bundle("items") self.remove_items_with_no_change() self.validate_data() + self.change_row_indexes() self.validate_expense_account() self.validate_customer_provided_item() self.set_zero_value_for_customer_provided_items() @@ -556,8 +557,7 @@ class StockReconciliation(StockController): elif len(items) != len(self.items): self.items = items - for i, item in enumerate(self.items): - item.idx = i + 1 + self.change_idx = True frappe.msgprint(_("Removed items with no change in quantity or value.")) def calculate_difference_amount(self, item, item_dict): @@ -574,14 +574,14 @@ class StockReconciliation(StockController): def validate_data(self): def _get_msg(row_num, msg): - return _("Row # {0}:").format(row_num + 1) + " " + msg + return _("Row #{0}:").format(row_num) + " " + msg self.validation_messages = [] item_warehouse_combinations = [] default_currency = frappe.db.get_default("currency") - for row_num, row in enumerate(self.items): + for row in self.items: # find duplicates key = [row.item_code, row.warehouse] for field in ["serial_no", "batch_no"]: @@ -594,7 +594,7 @@ class StockReconciliation(StockController): if key in item_warehouse_combinations: self.validation_messages.append( - _get_msg(row_num, _("Same item and warehouse combination already entered.")) + _get_msg(row.idx, _("Same item and warehouse combination already entered.")) ) else: item_warehouse_combinations.append(key) @@ -604,7 +604,7 @@ class StockReconciliation(StockController): if row.serial_no and not row.qty: self.validation_messages.append( _get_msg( - row_num, + row.idx, f"Quantity should not be zero for the {bold(row.item_code)} since serial nos are specified", ) ) @@ -612,17 +612,17 @@ class StockReconciliation(StockController): # if both not specified if row.qty in ["", None] and row.valuation_rate in ["", None]: self.validation_messages.append( - _get_msg(row_num, _("Please specify either Quantity or Valuation Rate or both")) + _get_msg(row.idx, _("Please specify either Quantity or Valuation Rate or both")) ) # do not allow negative quantity if flt(row.qty) < 0: - self.validation_messages.append(_get_msg(row_num, _("Negative Quantity is not allowed"))) + self.validation_messages.append(_get_msg(row.idx, _("Negative Quantity is not allowed"))) # do not allow negative valuation if flt(row.valuation_rate) < 0: self.validation_messages.append( - _get_msg(row_num, _("Negative Valuation Rate is not allowed")) + _get_msg(row.idx, _("Negative Valuation Rate is not allowed")) ) if row.qty and row.valuation_rate in ["", None]: @@ -654,6 +654,11 @@ class StockReconciliation(StockController): raise frappe.ValidationError(self.validation_messages) + def change_row_indexes(self): + if getattr(self, "change_idx", False): + for i, item in enumerate(self.items): + item.idx = i + 1 + def validate_item(self, item_code, row): from erpnext.stock.doctype.item.item import ( validate_cancelled_item,