fix: solved conflicts
diff --git a/.github/workflows/ci-tests.yml b/.github/workflows/ci-tests.yml
index 824b74e..84ecfb1 100644
--- a/.github/workflows/ci-tests.yml
+++ b/.github/workflows/ci-tests.yml
@@ -80,14 +80,29 @@
env:
TYPE: ${{ matrix.TYPE }}
- - name: Coverage
- if: matrix.TYPE == 'server'
+ - name: Coverage - Pull Request
+ if: matrix.TYPE == 'server' && github.event_name == 'pull_request'
run: |
cp ~/frappe-bench/sites/.coverage ${GITHUB_WORKSPACE}
cd ${GITHUB_WORKSPACE}
- pip install coveralls==3.0.1
- pip install coverage==5.5
+ pip install coveralls==2.2.0
+ pip install coverage==4.5.4
coveralls --service=github
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_TOKEN }}
+ COVERALLS_SERVICE_NAME: github
+
+ - name: Coverage - Push
+ if: matrix.TYPE == 'server' && github.event_name == 'push'
+ run: |
+ cp ~/frappe-bench/sites/.coverage ${GITHUB_WORKSPACE}
+ cd ${GITHUB_WORKSPACE}
+ pip install coveralls==2.2.0
+ pip install coverage==4.5.4
+ coveralls --service=github-actions
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_TOKEN }}
+ COVERALLS_SERVICE_NAME: github-actions
+
diff --git a/erpnext/__init__.py b/erpnext/__init__.py
index 4da0605..6775398 100644
--- a/erpnext/__init__.py
+++ b/erpnext/__init__.py
@@ -5,7 +5,7 @@
from erpnext.hooks import regional_overrides
from frappe.utils import getdate
-__version__ = '13.1.0'
+__version__ = '13.2.1'
def get_default_company(user=None):
'''Get default company for user'''
diff --git a/erpnext/accounts/doctype/account/account.py b/erpnext/accounts/doctype/account/account.py
index 0606823..1be2fbf 100644
--- a/erpnext/accounts/doctype/account/account.py
+++ b/erpnext/accounts/doctype/account/account.py
@@ -13,7 +13,7 @@
class Account(NestedSet):
nsm_parent_field = 'parent_account'
def on_update(self):
- if frappe.local.flags.ignore_on_update:
+ if frappe.local.flags.ignore_update_nsm:
return
else:
super(Account, self).on_update()
diff --git a/erpnext/accounts/doctype/account/chart_of_accounts/chart_of_accounts.py b/erpnext/accounts/doctype/account/chart_of_accounts/chart_of_accounts.py
index 0e3b24c..927adc7 100644
--- a/erpnext/accounts/doctype/account/chart_of_accounts/chart_of_accounts.py
+++ b/erpnext/accounts/doctype/account/chart_of_accounts/chart_of_accounts.py
@@ -57,10 +57,10 @@
# Rebuild NestedSet HSM tree for Account Doctype
# after all accounts are already inserted.
- frappe.local.flags.ignore_on_update = True
+ frappe.local.flags.ignore_update_nsm = True
_import_accounts(chart, None, None, root_account=True)
rebuild_tree("Account", "parent_account")
- frappe.local.flags.ignore_on_update = False
+ frappe.local.flags.ignore_update_nsm = False
def add_suffix_if_duplicate(account_name, account_number, accounts):
if account_number:
diff --git a/erpnext/accounts/doctype/account/chart_of_accounts/verified/fr_plan_comptable_general.json b/erpnext/accounts/doctype/account/chart_of_accounts/verified/fr_plan_comptable_general.json
index da1d10d..d60c559 100644
--- a/erpnext/accounts/doctype/account/chart_of_accounts/verified/fr_plan_comptable_general.json
+++ b/erpnext/accounts/doctype/account/chart_of_accounts/verified/fr_plan_comptable_general.json
@@ -1,1609 +1,1609 @@
{
- "country_code": "fr",
- "name": "France - Plan Comptable General",
+ "country_code": "fr",
+ "name": "France - Plan Comptable General",
"tree": {
"1-Comptes de Capitaux": {
"10-Capital et R\u00e9serves": {
"101-Capital": {
- "1011-Capital souscrit - non appel\u00e9": {},
- "1012-Capital souscrit - appel\u00e9, non vers\u00e9": {},
+ "1011-Capital souscrit - non appel\u00e9": {},
+ "1012-Capital souscrit - appel\u00e9, non vers\u00e9": {},
"1013-Capital souscrit - appel\u00e9, vers\u00e9": {
- "10131-Capital non amorti": {},
+ "10131-Capital non amorti": {},
"10132-Capital amorti": {}
- },
+ },
"1018-Capital souscrit soumis \u00e0 des r\u00e9glementations particuli\u00e8res": {}
- },
- "102-Fonds fiduciaires": {},
+ },
+ "102-Fonds fiduciaires": {},
"104-Primes li\u00e9es au capital social": {
- "1041-Primes d'\u00e9mission": {},
- "1042-Primes de fusion": {},
- "1043-Primes d'apport": {},
- "1044-Primes de conversion d'obligations en actions": {},
+ "1041-Primes d'\u00e9mission": {},
+ "1042-Primes de fusion": {},
+ "1043-Primes d'apport": {},
+ "1044-Primes de conversion d'obligations en actions": {},
"1045-Bons de souscription d'actions": {}
- },
+ },
"105-Ecarts de r\u00e9\u00e9valuation": {
- "1051-R\u00e9serve sp\u00e9ciale de r\u00e9\u00e9valuation": {},
- "1052-Ecart de r\u00e9\u00e9valuation libre": {},
- "1053-R\u00e9serve de r\u00e9\u00e9valuation": {},
- "1055-Ecarts de r\u00e9\u00e9valuation (autres op\u00e9rations l\u00e9gales)": {},
- "1057-Autres \u00e9carts de r\u00e9\u00e9valuation en France": {},
+ "1051-R\u00e9serve sp\u00e9ciale de r\u00e9\u00e9valuation": {},
+ "1052-Ecart de r\u00e9\u00e9valuation libre": {},
+ "1053-R\u00e9serve de r\u00e9\u00e9valuation": {},
+ "1055-Ecarts de r\u00e9\u00e9valuation (autres op\u00e9rations l\u00e9gales)": {},
+ "1057-Autres \u00e9carts de r\u00e9\u00e9valuation en France": {},
"1058-Autres \u00e9carts de r\u00e9\u00e9valuation \u00e0 l'\u00e9tranger": {}
- },
+ },
"106-R\u00e9serves": {
"1061-R\u00e9serve l\u00e9gale": {
- "10611-R\u00e9serve l\u00e9gale proprement dite": {},
+ "10611-R\u00e9serve l\u00e9gale proprement dite": {},
"10612-Plus-values nettes \u00e0 long terme": {}
- },
- "1062-R\u00e9serves indisponibles": {},
- "1063-R\u00e9serves statutaires ou contractuelles": {},
+ },
+ "1062-R\u00e9serves indisponibles": {},
+ "1063-R\u00e9serves statutaires ou contractuelles": {},
"1064-R\u00e9serves r\u00e9glement\u00e9es": {
- "10641-Plus-values nettes \u00e0 long terme": {},
- "10643-R\u00e9serves cons\u00e9cutives \u00e0 l'octroi de subventions d'investissement": {},
+ "10641-Plus-values nettes \u00e0 long terme": {},
+ "10643-R\u00e9serves cons\u00e9cutives \u00e0 l'octroi de subventions d'investissement": {},
"10648-Autres r\u00e9serves r\u00e9glement\u00e9es": {}
- },
+ },
"1068-Autres r\u00e9serves": {
- "10681-R\u00e9serve de propre assureur": {},
+ "10681-R\u00e9serve de propre assureur": {},
"10688-R\u00e9serves diverses": {}
}
- },
- "107-Ecarts d'\u00e9quivalence": {},
- "108-Compte de l'exploitant": {},
+ },
+ "107-Ecarts d'\u00e9quivalence": {},
+ "108-Compte de l'exploitant": {},
"109-Actionnaires: Capital souscrit - non appel\u00e9": {}
- },
+ },
"11-Report \u00e0 Nouveau": {
- "110-Report \u00e0 nouveau (solde cr\u00e9diteur)": {},
+ "110-Report \u00e0 nouveau (solde cr\u00e9diteur)": {},
"119-Report \u00e0 nouveau (solde d\u00e9biteur)": {}
- },
+ },
"12-R\u00e9sultat de l'Exercice": {
- "120-R\u00e9sultat de l'exercice (b\u00e9n\u00e9fice)": {},
+ "120-R\u00e9sultat de l'exercice (b\u00e9n\u00e9fice)": {},
"129-R\u00e9sultat de l'exercice (perte)": {}
- },
+ },
"13-Subventions d'Investissement": {
"131-Subventions d'\u00e9quipement": {
- "1311-Etat": {},
- "1312-R\u00e9gions": {},
- "1313-D\u00e9partements": {},
- "1314-Communes": {},
- "1315-Collectivit\u00e9s publiques": {},
- "1316-Entreprises publiques": {},
- "1317-Entreprises et organismes priv\u00e9s": {},
+ "1311-Etat": {},
+ "1312-R\u00e9gions": {},
+ "1313-D\u00e9partements": {},
+ "1314-Communes": {},
+ "1315-Collectivit\u00e9s publiques": {},
+ "1316-Entreprises publiques": {},
+ "1317-Entreprises et organismes priv\u00e9s": {},
"1318-Autres": {}
- },
- "138-Autres subventions d'investissement (m\u00eame ventilation que celle du compte 131)": {},
+ },
+ "138-Autres subventions d'investissement (m\u00eame ventilation que celle du compte 131)": {},
"139-Subventions d'investissement inscrites au compte de r\u00e9sultat": {
"1391-Subventions d'\u00e9quipement": {
- "13911-Subventions d'\u00e9quipement": {
- "13911-Etat": {},
- "13912-R\u00e9gions": {},
- "13913-D\u00e9partements": {},
- "13914-Communes": {},
- "13915-Collectivit\u00e9s publiques": {},
- "13916-Entreprises publiques": {},
- "13917-Entreprises et organismes priv\u00e9s": {},
- "13918-Autres": {}
- }
- },
+ "13911-Etat": {},
+ "13912-R\u00e9gions": {},
+ "13913-D\u00e9partements": {},
+ "13914-Communes": {},
+ "13915-Collectivit\u00e9s publiques": {},
+ "13916-Entreprises publiques": {},
+ "13917-Entreprises et organismes priv\u00e9s": {},
+ "13918-Autres": {}
+ },
"1398-Autres subventions d'investissement (m\u00eame ventilation que celle du compte 1391)": {}
}
- },
+ },
"14-Provisions R\u00e9glement\u00e9es": {
"142-Provisions r\u00e9glement\u00e9es relative aux immobilisations": {
- "1423-Provisions pour reconstitution des gisements miniers et p\u00e9troliers": {},
+ "1423-Provisions pour reconstitution des gisements miniers et p\u00e9troliers": {},
"1424-Provisions pour investissement (participation des salari\u00e9s)": {}
- },
+ },
"143-Provisions r\u00e9glement\u00e9es relatives aux stocks": {
- "1431-Hausse des prix": {},
+ "1431-Hausse des prix": {},
"1432-Fluctuation des cours": {}
- },
- "144-Provisions r\u00e9glement\u00e9es relatives aux autres \u00e9l\u00e9ments de l'actif": {},
- "145-Amortissements d\u00e9rogatoires": {},
- "146-Provision sp\u00e9ciale de r\u00e9\u00e9valuation": {},
- "147-Plus-values r\u00e9investies": {},
+ },
+ "144-Provisions r\u00e9glement\u00e9es relatives aux autres \u00e9l\u00e9ments de l'actif": {},
+ "145-Amortissements d\u00e9rogatoires": {},
+ "146-Provision sp\u00e9ciale de r\u00e9\u00e9valuation": {},
+ "147-Plus-values r\u00e9investies": {},
"148-Autres provisions r\u00e9glement\u00e9es": {}
- },
+ },
"15-Provisions": {
"151-Provisions pour risques": {
- "1511-Provisions pour litiges": {},
- "1512-Provisions pour garanties donn\u00e9es aux clients": {},
- "1513-Provisions pour pertes sur march\u00e9s \u00e0 terme": {},
- "1514-Provisions pour amendes et p\u00e9nalit\u00e9s": {},
- "1515-Provisions pour pertes de change": {},
- "1516-Provisions pour pertes sur contrats": {},
+ "1511-Provisions pour litiges": {},
+ "1512-Provisions pour garanties donn\u00e9es aux clients": {},
+ "1513-Provisions pour pertes sur march\u00e9s \u00e0 terme": {},
+ "1514-Provisions pour amendes et p\u00e9nalit\u00e9s": {},
+ "1515-Provisions pour pertes de change": {},
+ "1516-Provisions pour pertes sur contrats": {},
"1518-Autres provisions pour risques": {}
- },
- "153-Provisions pour pensions et obligations similaires": {},
- "154-Provisions pour restructurations": {},
- "155-Provisions pour imp\u00f4ts": {},
- "156-Provisions pour renouvellement des immobilisations (entreprises concessionnaires) ": {},
+ },
+ "153-Provisions pour pensions et obligations similaires": {},
+ "154-Provisions pour restructurations": {},
+ "155-Provisions pour imp\u00f4ts": {},
+ "156-Provisions pour renouvellement des immobilisations (entreprises concessionnaires) ": {},
"157-Provisions pour charges \u00e0 r\u00e9partir sur plusieurs exercices": {
"1572-Provisions pour gros entretien ou grandes r\u00e9visions": {}
- },
+ },
"158-Autres provisions pour charges": {
"1581-Provisions pour remises en \u00e9tat": {}
}
- },
+ },
"16-Emprunts et Dettes Assimil\u00e9es": {
- "161-Emprunts obligataires convertibles": {},
- "162-Obligations repr\u00e9sentatives de passifs nets remis en fiducie": {},
- "163-Autres emprunts obligataires": {},
- "164-Emprunts aupr\u00e8s des \u00e9tablissements de cr\u00e9dit": {},
+ "161-Emprunts obligataires convertibles": {},
+ "162-Obligations repr\u00e9sentatives de passifs nets remis en fiducie": {},
+ "163-Autres emprunts obligataires": {},
+ "164-Emprunts aupr\u00e8s des \u00e9tablissements de cr\u00e9dit": {},
"165-D\u00e9p\u00f4ts et cautionnements re\u00e7us": {
- "1651-D\u00e9p\u00f4ts": {},
+ "1651-D\u00e9p\u00f4ts": {},
"1655-Cautionnements": {}
- },
+ },
"166-Participation des salari\u00e9s aux r\u00e9sultats": {
- "1661-Comptes bloqu\u00e9s": {},
+ "1661-Comptes bloqu\u00e9s": {},
"1662-Fonds de participation": {}
- },
+ },
"167-Emprunts et dettes assortis de conditions particuli\u00e8res": {
- "1671-Emissions de titres participatifs": {},
- "1674-Avances conditionn\u00e9es de l'Etat": {},
+ "1671-Emissions de titres participatifs": {},
+ "1674-Avances conditionn\u00e9es de l'Etat": {},
"1675-Emprunts participatifs": {}
- },
+ },
"168-Autres emprunts et dettes assimil\u00e9es": {
- "1681-Autres emprunts": {},
- "1685-Rentes viag\u00e8res capitalis\u00e9es": {},
- "1687-Autres dettes": {},
+ "1681-Autres emprunts": {},
+ "1685-Rentes viag\u00e8res capitalis\u00e9es": {},
+ "1687-Autres dettes": {},
"1688-Int\u00e9r\u00eats courus": {
- "16881-Int\u00e9r\u00eats courus sur emprunts obligataires convertibles": {},
- "16883-Int\u00e9r\u00eats courus sur autres emprunts obligataires": {},
- "16884-Int\u00e9r\u00eats courus sur emprunts aupr\u00e8s des \u00e9tablissements de cr\u00e9dit": {},
- "16885-Int\u00e9r\u00eats courus sur d\u00e9p\u00f4ts et cautionnements re\u00e7us": {},
- "16886-Int\u00e9r\u00eats courus sur participation des salari\u00e9s aux r\u00e9sultats": {},
- "16887-Int\u00e9r\u00eats courus sur emprunts et dettes assortis de conditions particuli\u00e8res": {},
+ "16881-Int\u00e9r\u00eats courus sur emprunts obligataires convertibles": {},
+ "16883-Int\u00e9r\u00eats courus sur autres emprunts obligataires": {},
+ "16884-Int\u00e9r\u00eats courus sur emprunts aupr\u00e8s des \u00e9tablissements de cr\u00e9dit": {},
+ "16885-Int\u00e9r\u00eats courus sur d\u00e9p\u00f4ts et cautionnements re\u00e7us": {},
+ "16886-Int\u00e9r\u00eats courus sur participation des salari\u00e9s aux r\u00e9sultats": {},
+ "16887-Int\u00e9r\u00eats courus sur emprunts et dettes assortis de conditions particuli\u00e8res": {},
"16888-Int\u00e9r\u00eats courus sur autres emprunts et dettes assimil\u00e9es": {}
- },
+ },
"169-Primes de remboursement des obligations": {}
}
- },
+ },
"17-Dettes Rattach\u00e9es \u00e0 des Participations": {
- "171-Dettes rattach\u00e9es \u00e0 des participations (groupe)": {},
- "174-Dettes rattach\u00e9es \u00e0 des participations (hors groupe)": {},
+ "171-Dettes rattach\u00e9es \u00e0 des participations (groupe)": {},
+ "174-Dettes rattach\u00e9es \u00e0 des participations (hors groupe)": {},
"178-Dettes rattach\u00e9es \u00e0 des soci\u00e9t\u00e9s en participation": {
- "1781-Principal": {},
+ "1781-Principal": {},
"1788-Int\u00e9r\u00eats courus": {}
}
- },
+ },
"18-Comptes de liaison des \u00e9tablisssements et soci\u00e9t\u00e9s en participation": {
- "181-Comptes de liaison des \u00e9tablissements": {},
- "186-Biens et prestations de services \u00e9chang\u00e9s entre \u00e9tablissements (charges)": {},
- "187-Biens et prestations de services \u00e9chang\u00e9s entre \u00e9tablissements (produits)": {},
+ "181-Comptes de liaison des \u00e9tablissements": {},
+ "186-Biens et prestations de services \u00e9chang\u00e9s entre \u00e9tablissements (charges)": {},
+ "187-Biens et prestations de services \u00e9chang\u00e9s entre \u00e9tablissements (produits)": {},
"188-Comptes de liaison des soci\u00e9t\u00e9s en participation": {}
- },
+ },
"root_type": "Equity"
- },
+ },
"2-Comptes d'Immobilisations": {
"20-Immobilisations incorporelles": {
"201-Frais \u00e9tablissement": {
- "2011-Frais de constitution": {},
+ "2011-Frais de constitution": {},
"2012-Frais de premier \u00e9tablissement": {
- "20121-Frais de prospection": {},
+ "20121-Frais de prospection": {},
"20122-Frais de publicit\u00e9": {}
- },
+ },
"2013-Frais d'augmentation de capital et d'op\u00e9rations diverses (fusions, scissions, transformations)": {}
- },
- "203-Frais de recherche et de d\u00e9veloppement": {},
- "205-Concessions et droits similaires, brevets, licences, marques, proc\u00e9d\u00e9s, logiciels, droits et valeurs similaires": {},
- "206-Droit au bail": {},
- "207-Fonds commercial": {},
+ },
+ "203-Frais de recherche et de d\u00e9veloppement": {},
+ "205-Concessions et droits similaires, brevets, licences, marques, proc\u00e9d\u00e9s, logiciels, droits et valeurs similaires": {},
+ "206-Droit au bail": {},
+ "207-Fonds commercial": {},
"208-Autres immobilisations incorporelles": {
"2081-Mali de fusion sur actifs incorporels": {}
}
- },
+ },
"21-Immobilisations corporelles": {
"211-Terrains": {
"2111-Terrains nus": {
"account_type": "Fixed Asset"
- },
+ },
"2112-Terrains am\u00e9nag\u00e9s": {
"account_type": "Fixed Asset"
- },
+ },
"2113-Sous-sols et sur-sols": {
"account_type": "Fixed Asset"
- },
+ },
"2114-Terrains de carri\u00e8res (tr\u00e9fonds)": {
"account_type": "Fixed Asset"
- },
+ },
"2115-Terrains b\u00e2tis": {
"21151-Ensembles immobiliers industriels (A, B)": {
"account_type": "Fixed Asset"
- },
+ },
"21155-Ensembles immobiliers administratifs et commerciaux (A, B)": {
"account_type": "Fixed Asset"
- },
+ },
"21158-Autres ensembles immobiliers": {
"211581-Autres ensembles immobiliers affect\u00e9s aux op\u00e9rations professionnelles (A, B)": {
"account_type": "Fixed Asset"
- },
+ },
"211588-Autres ensembles immobiliers affect\u00e9s aux op\u00e9rations non professionnelles (A, B)": {
"account_type": "Fixed Asset"
- },
+ },
"account_type": "Fixed Asset"
- },
+ },
"account_type": "Fixed Asset"
- },
+ },
"account_type": "Fixed Asset"
- },
+ },
"212-Agencements et am\u00e9nagements de terrains (m\u00eame ventilation que celle du compte 211)": {
"account_type": "Fixed Asset"
- },
+ },
"213-Constructions": {
"2131-B\u00e2timents": {
"21311-Ensembles immobiliers industriels (A, B)": {
"account_type": "Fixed Asset"
- },
+ },
"21315-Ensembles immobiliers administratifs et commerciaux (A, B)": {
"account_type": "Fixed Asset"
- },
+ },
"21318-Autres ensembles immobiliers": {
"213181-Autres ensembles immobiliers affect\u00e9s aux op\u00e9rations professionnelles (A, B)": {
"account_type": "Fixed Asset"
- },
+ },
"213188-Autres ensembles immobiliers affect\u00e9s aux op\u00e9rations non professionnelles (A, B)": {
"account_type": "Fixed Asset"
- },
+ },
"account_type": "Fixed Asset"
- },
+ },
"account_type": "Fixed Asset"
- },
+ },
"2135-Installations g\u00e9n\u00e9rales, agencements, am\u00e9nagements des constructions": {
"21351-Ensembles immobiliers industriels (A, B)": {
"account_type": "Fixed Asset"
- },
+ },
"21355-Ensembles immobiliers administratifs et commerciaux (A, B)": {
"account_type": "Fixed Asset"
- },
+ },
"21358-Autres ensembles immobiliers": {
"213581-Autres ensembles immobiliers affect\u00e9s aux op\u00e9rations professionnelles (A, B)": {
"account_type": "Fixed Asset"
- },
+ },
"213588-Autres ensembles immobiliers affect\u00e9s aux op\u00e9rations non professionnelles (A, B)": {
"account_type": "Fixed Asset"
- },
+ },
"account_type": "Fixed Asset"
- },
+ },
"account_type": "Fixed Asset"
- },
+ },
"2138-Ouvrages d'infrastructure": {
"21381-Voies de terre": {
"account_type": "Fixed Asset"
- },
+ },
"21382-Voies de fer": {
"account_type": "Fixed Asset"
- },
+ },
"21383-Voies d'eau": {
"account_type": "Fixed Asset"
- },
+ },
"21384-Barrages": {
"account_type": "Fixed Asset"
- },
+ },
"21385-Pistes d'a\u00e9rodromes": {
"account_type": "Fixed Asset"
- },
+ },
"account_type": "Fixed Asset"
- },
+ },
"account_type": "Fixed Asset"
- },
+ },
"214-Constructions sur sol d'autrui (m\u00eame ventilation que celle du compte 213)": {
"account_type": "Fixed Asset"
- },
+ },
"215-Installations techniques, mat\u00e9riel et outillage industriels": {
"2151-Installations complexes sp\u00e9cialis\u00e9es": {
"21511-Installations complexes sp\u00e9cialis\u00e9es - sur sol propre": {
"account_type": "Fixed Asset"
- },
+ },
"21514-Installations complexes sp\u00e9cialis\u00e9es - sur sol d'autrui": {
"account_type": "Fixed Asset"
- },
+ },
"account_type": "Fixed Asset"
- },
+ },
"2153-Installations \u00e0 caract\u00e8re sp\u00e9cifique": {
"21531-Installations \u00e0 caract\u00e8re sp\u00e9cifique - sur sol propre": {
"account_type": "Fixed Asset"
- },
+ },
"21534-Installations \u00e0 caract\u00e8re sp\u00e9cifique - sur sol d'autrui": {
"account_type": "Fixed Asset"
- },
+ },
"account_type": "Fixed Asset"
- },
+ },
"2154-Mat\u00e9riel industriel": {
"account_type": "Fixed Asset"
- },
+ },
"2155-Outillage industriel": {
"account_type": "Fixed Asset"
- },
+ },
"2157-Agencements et am\u00e9nagements du mat\u00e9riel et outillage industriel": {
"account_type": "Fixed Asset"
- },
+ },
"account_type": "Fixed Asset"
- },
+ },
"218-Autres immobilisations corporelles": {
"2181-Installations g\u00e9n\u00e9rales, agencements, am\u00e9nagements divers": {
"account_type": "Fixed Asset"
- },
+ },
"2182-Mat\u00e9riel de transport": {
"account_type": "Fixed Asset"
- },
+ },
"2183-Mat\u00e9riel de bureau et mat\u00e9riel informatique": {
"account_type": "Fixed Asset"
- },
+ },
"2184-Mobilier": {
"account_type": "Fixed Asset"
- },
+ },
"2185-Cheptel": {
"account_type": "Fixed Asset"
- },
+ },
"2186-Emballages r\u00e9cup\u00e9rables": {
"account_type": "Fixed Asset"
- },
- "2187-Mali de fusion sur actifs corporels": {},
+ },
+ "2187-Mali de fusion sur actifs corporels": {},
"account_type": "Fixed Asset"
- },
+ },
"account_type": "Fixed Asset"
- },
- "22-Immobilisations mises en concession": {},
+ },
+ "22-Immobilisations mises en concession": {},
"23-Immobilisations en cours": {
"231-Immobilisations corporelles en cours": {
- "2312-Terrains": {},
- "2313-Constructions": {},
- "2315-Installations techniques, mat\u00e9riel et outillage industriels": {},
+ "2312-Terrains": {},
+ "2313-Constructions": {},
+ "2315-Installations techniques, mat\u00e9riel et outillage industriels": {},
"2318-Autres immobilisations corporelles": {}
- },
- "232-Immobilisations incorporelles en cours": {},
- "237-Avances et acomptes vers\u00e9s sur commandes d'immobilisations incorporelles": {},
+ },
+ "232-Immobilisations incorporelles en cours": {},
+ "237-Avances et acomptes vers\u00e9s sur commandes d'immobilisations incorporelles": {},
"238-Avances et acomptes vers\u00e9s sur commandes d'immobilisations corporelles": {
- "2382-Terrains": {},
- "2383-Constructions": {},
- "2385-Installations techniques, mat\u00e9riel et outillage industriels": {},
+ "2382-Terrains": {},
+ "2383-Constructions": {},
+ "2385-Installations techniques, mat\u00e9riel et outillage industriels": {},
"2388-Autres immobilisations corporelles": {}
}
- },
+ },
"25-Parts dans des entreprises li\u00e9es et cr\u00e9ances sur des entreprises li\u00e9es": {
"is_group": 1
- },
+ },
"26-Participations et cr\u00e9ances rattach\u00e9es \u00e0 des participations": {
"261-Titres de participation": {
- "2611-Actions": {},
+ "2611-Actions": {},
"2618-Autres titres": {}
- },
+ },
"266-Autres formes de participation": {
"2661-Droit repr\u00e9sentatifs d'actifs nets remis en fiducie": {}
- },
+ },
"267-Cr\u00e9ances rattach\u00e9es \u00e0 des participations": {
- "2671-Cr\u00e9ances rattach\u00e9es \u00e0 des participations (groupe)": {},
- "2674-Cr\u00e9ances rattach\u00e9es \u00e0 des participations (hors groupe)": {},
- "2675-Versements repr\u00e9sentatifs d'apports non capitalis\u00e9s (appel de fonds)": {},
- "2676-Avances consolidables": {},
- "2677-Autres cr\u00e9ances rattach\u00e9es \u00e0 des participations": {},
+ "2671-Cr\u00e9ances rattach\u00e9es \u00e0 des participations (groupe)": {},
+ "2674-Cr\u00e9ances rattach\u00e9es \u00e0 des participations (hors groupe)": {},
+ "2675-Versements repr\u00e9sentatifs d'apports non capitalis\u00e9s (appel de fonds)": {},
+ "2676-Avances consolidables": {},
+ "2677-Autres cr\u00e9ances rattach\u00e9es \u00e0 des participations": {},
"2678-Int\u00e9r\u00eats courus": {}
- },
+ },
"268-Cr\u00e9ances rattach\u00e9es \u00e0 des soci\u00e9t\u00e9s en participation": {
- "2681-Principal": {},
+ "2681-Principal": {},
"2688-Int\u00e9r\u00eats courus": {}
- },
+ },
"269-Versements restant \u00e0 effectuer sur titres de participation non lib\u00e9r\u00e9s": {}
- },
+ },
"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)": {
- "2711-Actions": {},
+ "2711-Actions": {},
"2718-Autres titres": {}
- },
+ },
"272-Titres immobilis\u00e9s (droit de cr\u00e9ance)": {
- "2721-Obligations": {},
+ "2721-Obligations": {},
"2722-Bons": {}
- },
- "273-Titres immobilis\u00e9s de l'activit\u00e9 de portefeuille": {},
+ },
+ "273-Titres immobilis\u00e9s de l'activit\u00e9 de portefeuille": {},
"274-Pr\u00eats": {
- "2741-Pr\u00eats participatifs": {},
- "2742-Pr\u00eats aux associ\u00e9s": {},
- "2743-Pr\u00eats au personnel": {},
+ "2741-Pr\u00eats participatifs": {},
+ "2742-Pr\u00eats aux associ\u00e9s": {},
+ "2743-Pr\u00eats au personnel": {},
"2748-Autres pr\u00eats": {}
- },
+ },
"275-D\u00e9p\u00f4ts et cautionnements vers\u00e9s": {
- "2751-D\u00e9p\u00f4ts": {},
+ "2751-D\u00e9p\u00f4ts": {},
"2755-Cautionnements": {}
- },
+ },
"276-Autres cr\u00e9ances immobilis\u00e9es": {
- "2761-Cr\u00e9ances diverses": {},
+ "2761-Cr\u00e9ances diverses": {},
"2768-Int\u00e9r\u00eats courus": {
- "27682-Int\u00e9r\u00eats courus sur titres immobilis\u00e9s (droit de cr\u00e9ance)": {},
- "27684-Int\u00e9r\u00eats courus sur pr\u00eats": {},
- "27685-Int\u00e9r\u00eats courus sur d\u00e9p\u00f4ts et cautionnements": {},
+ "27682-Int\u00e9r\u00eats courus sur titres immobilis\u00e9s (droit de cr\u00e9ance)": {},
+ "27684-Int\u00e9r\u00eats courus sur pr\u00eats": {},
+ "27685-Int\u00e9r\u00eats courus sur d\u00e9p\u00f4ts et cautionnements": {},
"27688-Int\u00e9r\u00eats courus sur cr\u00e9ances diverses": {}
}
- },
+ },
"277-(Actions propres ou parts propres)": {
- "2771-Actions propres ou parts propres": {},
+ "2771-Actions propres ou parts propres": {},
"2772-Actions propres ou parts propres en voie d'annulation": {}
- },
- "278-Mali de fusion sur actifs financiers": {},
+ },
+ "278-Mali de fusion sur actifs financiers": {},
"279-Versements restant \u00e0 effectuer sur titres immobilis\u00e9s non lib\u00e9r\u00e9s": {}
- },
+ },
"28-Amortissements des immobilisations": {
"280-Amortissements des immobilisations incorporelles": {
"2801-Frais d'\u00e9tablissement (m\u00eame ventilation que celle du compte 212)": {
"account_type": "Accumulated Depreciation"
- },
+ },
"2803-Frais de recherche et de d\u00e9veloppement": {
"account_type": "Accumulated Depreciation"
- },
+ },
"2805-Concessions et droits similaires, brevets, licences, logiciels, droits et valeurs similaires": {
"account_type": "Accumulated Depreciation"
- },
+ },
"2807-Fonds commercial": {
"account_type": "Accumulated Depreciation"
- },
+ },
"2808-Autres immobilisations incorporelles": {
"28081-Mali de fusion sur actifs incorporels": {
"account_type": "Accumulated Depreciation"
- },
+ },
"account_type": "Accumulated Depreciation"
- },
+ },
"account_type": "Accumulated Depreciation"
- },
+ },
"281-Amortissements des immobilisations corporelles": {
"2811-Terrains de gisement": {
"account_type": "Accumulated Depreciation"
- },
+ },
"2812-Agencements, am\u00e9nagements de terrains (m\u00eame ventilation que celle du compte 212)": {
"account_type": "Accumulated Depreciation"
- },
+ },
"2813-Constructions (m\u00eame ventilation que celle du compte 213)": {
"account_type": "Accumulated Depreciation"
- },
+ },
"2814-Constructions sur sol d'autrui (m\u00eame ventilation que celle du compte du 214)": {
"account_type": "Accumulated Depreciation"
- },
+ },
"2815-Installations techniques, mat\u00e9riel et outillage industriels (m\u00eame ventilation que celle du compte 218)": {
"account_type": "Accumulated Depreciation"
- },
+ },
"2818-Autres immobilisations corporelles (m\u00eame ventilation que celle du compte 218)": {
"28187-Mali de fusion sur actifs corporels": {
"account_type": "Accumulated Depreciation"
- },
+ },
"account_type": "Accumulated Depreciation"
- },
+ },
"account_type": "Accumulated Depreciation"
- },
- "282-Amortissements des immobilisations mises en concession": {},
+ },
+ "282-Amortissements des immobilisations mises en concession": {},
"account_type": "Accumulated Depreciation"
- },
+ },
"29-D\u00e9pr\u00e9ciations des immobilisations": {
"290-D\u00e9pr\u00e9ciations des immobilisations incorporelles": {
- "2905-Marques, proc\u00e9d\u00e9s, droits et valeurs similaires": {},
- "2906-Droit au bail": {},
- "2907-Fonds commercial": {},
+ "2905-Marques, proc\u00e9d\u00e9s, droits et valeurs similaires": {},
+ "2906-Droit au bail": {},
+ "2907-Fonds commercial": {},
"2908-Autres immobilisations incorporelles": {
"29081-Mali de fusion sur actifs incorporels": {}
}
- },
+ },
"291-D\u00e9pr\u00e9ciations des immobilisations corporelles (m\u00eame ventilation que celle du compte 21)": {
"2911-Terrains (autres que terrains de gisement)": {
"29187-Mali de fusion sur actifs corporels": {}
}
- },
- "292-D\u00e9pr\u00e9ciations des immobilisations mises en concession": {},
+ },
+ "292-D\u00e9pr\u00e9ciations des immobilisations mises en concession": {},
"293-D\u00e9pr\u00e9ciations des immobilisations en cours": {
- "2931-Immobilisations corporelles en cours": {},
+ "2931-Immobilisations corporelles en cours": {},
"2932-Immobilisations incorporelles en cours": {}
- },
+ },
"296-D\u00e9pr\u00e9ciations des participations et cr\u00e9ances rattach\u00e9es \u00e0 des participations": {
- "2961-Titres de participation": {},
- "2966-Autres formes de participation": {},
- "2967-Cr\u00e9ances rattach\u00e9es \u00e0 des participations (m\u00eame ventilation que celle du compte 267)": {},
+ "2961-Titres de participation": {},
+ "2966-Autres formes de participation": {},
+ "2967-Cr\u00e9ances rattach\u00e9es \u00e0 des participations (m\u00eame ventilation que celle du compte 267)": {},
"2968-Cr\u00e9ances rattach\u00e9es \u00e0 des soci\u00e9t\u00e9s en participation (m\u00eame ventilation que celle du compte 268)": {}
- },
+ },
"297-D\u00e9pr\u00e9ciations des autres immobilisations financi\u00e8res": {
- "2971-Titres immobilis\u00e9s autres que les titres immobilis\u00e9s de l'activit\u00e9 de portefeuille - droit de propri\u00e9t\u00e9": {},
- "2972-Titres immobilis\u00e9s - droit de cr\u00e9ance (m\u00eame ventilation que celle du compte 272)": {},
- "2973- Titres immobilis\u00e9s de l'activit\u00e9 de portefuille": {},
- "2974-Pr\u00eats (m\u00eame ventilation que celle du compte 274)": {},
- "2975-D\u00e9p\u00f4ts et cautionnements vers\u00e9s (m\u00eame ventilation que celle du compte 275)": {},
+ "2971-Titres immobilis\u00e9s autres que les titres immobilis\u00e9s de l'activit\u00e9 de portefeuille - droit de propri\u00e9t\u00e9": {},
+ "2972-Titres immobilis\u00e9s - droit de cr\u00e9ance (m\u00eame ventilation que celle du compte 272)": {},
+ "2973- Titres immobilis\u00e9s de l'activit\u00e9 de portefuille": {},
+ "2974-Pr\u00eats (m\u00eame ventilation que celle du compte 274)": {},
+ "2975-D\u00e9p\u00f4ts et cautionnements vers\u00e9s (m\u00eame ventilation que celle du compte 275)": {},
"2976-Autres cr\u00e9ances immobilis\u00e9es (m\u00eame ventilation que celle du compte 276)": {
"29787-Mali de fusion sur actifs financiers": {}
}
}
- },
+ },
"root_type": "Asset"
- },
+ },
"3-Comptes de Stocks et En-Cours": {
"31-Mati\u00e8res premi\u00e8res (et fournitures)": {
- "311-Mati\u00e8res (ou groupe) A": {},
- "312-Mati\u00e8res (ou groupe) B": {},
+ "311-Mati\u00e8res (ou groupe) A": {},
+ "312-Mati\u00e8res (ou groupe) B": {},
"317-Fournitures A, B, C, ...": {}
- },
+ },
"32-Autres approvisionnements": {
"321-Mat\u00e8res consommables": {
- "3211-Mati\u00e8res (ou groupe) C": {},
+ "3211-Mati\u00e8res (ou groupe) C": {},
"3212-Mati\u00e8res (ou groupe) D": {}
- },
+ },
"322-Fournitures consommables": {
- "3221-Combustibles": {},
- "3222-Produits d'entretien": {},
- "3223-Fournitures d'atelier et d'usine": {},
- "3224-Fournitures de magasin": {},
+ "3221-Combustibles": {},
+ "3222-Produits d'entretien": {},
+ "3223-Fournitures d'atelier et d'usine": {},
+ "3224-Fournitures de magasin": {},
"3225-Fournitures de bureau": {}
- },
+ },
"326-Emballages": {
- "3261-Emballages perdus": {},
- "3265-Emballages r\u00e9cup\u00e9rables non identifiables": {},
+ "3261-Emballages perdus": {},
+ "3265-Emballages r\u00e9cup\u00e9rables non identifiables": {},
"3267-Emballages \u00e0 usage mixte": {}
}
- },
+ },
"33-En-cours de production de biens": {
"331-Produits en cours": {
- "3311-Produits en cours P1": {},
+ "3311-Produits en cours P1": {},
"3312-Produits en cours P2": {}
- },
+ },
"335-Travaux en cours": {
- "Travaux en cours T1": {},
- "Travaux en cours T2": {}
+ "3351-Travaux en cours T1": {},
+ "3352-Travaux en cours T2": {}
}
- },
+ },
"34-En-cours de production de services": {
"341-Etudes en cours": {
- "3411-Etudes en cours E1": {},
+ "3411-Etudes en cours E1": {},
"3412-Etudes en cours E2": {}
- },
+ },
"345-Prestations de services en cours": {
- "3451-Prestations de services S1": {},
+ "3451-Prestations de services S1": {},
"3452-Prestations de services S2": {}
}
- },
+ },
"35-Stocks de produits": {
"351-Produits interm\u00e9diaires": {
"3511-Produits interm\u00e9diaires (ou groupe) A": {
- "account_type": "Stock",
+ "account_type": "Stock",
"is_group": 1
- },
+ },
"3512-Produits interm\u00e9diaires (ou groupe) B": {
- "account_type": "Stock",
+ "account_type": "Stock",
"is_group": 1
- },
+ },
"account_type": "Stock"
- },
+ },
"355-Produits finis": {
"3551-Produits finis (ou groupe) A": {
- "account_type": "Stock",
+ "account_type": "Stock",
"is_group": 1
- },
+ },
"3552-Produits finis (ou groupe) B": {
- "account_type": "Stock",
+ "account_type": "Stock",
"is_group": 1
- },
+ },
"account_type": "Stock"
- },
+ },
"358-Produits r\u00e9siduels (ou mati\u00e8res de r\u00e9cup\u00e9ration)": {
"3581-D\u00e9chets": {
- "account_type": "Stock",
+ "account_type": "Stock",
"is_group": 1
- },
+ },
"3585-Rebuts": {
- "account_type": "Stock",
+ "account_type": "Stock",
"is_group": 1
- },
+ },
"3586-Mati\u00e8res de r\u00e9cup\u00e9ration": {
- "account_type": "Stock",
+ "account_type": "Stock",
"is_group": 1
- },
+ },
"account_type": "Stock"
- },
+ },
"account_type": "Stock"
- },
- "36-(Compte \u00e0 ouvrir, le cas \u00e9ch\u00e9ant, sous l'intitul\u00e9 \"stocks provenant d'immobilisations\")": {},
+ },
+ "36-(Compte \u00e0 ouvrir, le cas \u00e9ch\u00e9ant, sous l'intitul\u00e9 \"stocks provenant d'immobilisations\")": {},
"37-Stocks de marchandises": {
- "371-Marchandises (ou groupe) A": {},
+ "371-Marchandises (ou groupe) A": {},
"372-Marchandises (ou groupe) B": {}
- },
- "38-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)": {},
+ },
+ "38-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"
+ },
"39-D\u00e9pr\u00e9ciations des stocks et en-cours": {
"391-D\u00e9pr\u00e9ciations des mati\u00e8res premi\u00e8res (et fournitures)": {
- "3911-Mati\u00e8res (ou groupe) A": {},
- "3912-Mati\u00e8res (ou groupe) B": {},
+ "3911-Mati\u00e8res (ou groupe) A": {},
+ "3912-Mati\u00e8res (ou groupe) B": {},
"3917-Fournitures A, B, C, ...": {}
- },
+ },
"392-D\u00e9pr\u00e9ciations des autres approvisionnements": {
- "3921-Mati\u00e8res consommables (m\u00eame ventilation que celle du compte 321)": {},
- "3922-Fournitures consommables (m\u00eame ventilation que celle du compte 322)": {},
+ "3921-Mati\u00e8res consommables (m\u00eame ventilation que celle du compte 321)": {},
+ "3922-Fournitures consommables (m\u00eame ventilation que celle du compte 322)": {},
"3926-Emballages (m\u00eame ventilation que celle du compte 326)": {}
- },
+ },
"393-D\u00e9pr\u00e9ciations des en-cours de production de biens": {
- "3931-Etudes en cours (m\u00eame ventilation que celle du compte 341)": {},
+ "3931-Etudes en cours (m\u00eame ventilation que celle du compte 341)": {},
"3935-Travaux en cours (m\u00eame ventilation que celle du compte 335)": {}
- },
+ },
"394-D\u00e9pr\u00e9ciations des en-cours de production de services": {
- "3941-Etudes en cours (m\u00eame ventilation que celle du compte 341)": {},
+ "3941-Etudes en cours (m\u00eame ventilation que celle du compte 341)": {},
"3945-Prestations de services en cours (m\u00eame ventilation que celle du compte 345)": {}
- },
+ },
"395-D\u00e9pr\u00e9ciations des stocks de produits": {
- "3951-Produits interm\u00e9diaires (m\u00eame ventilation que celle du compte 351)": {},
+ "3951-Produits interm\u00e9diaires (m\u00eame ventilation que celle du compte 351)": {},
"3955-Produits finis (m\u00eame ventilation que celle du compte 355)": {}
- },
+ },
"397-D\u00e9pr\u00e9ciations des stocks de marchandises": {
- "3971-Marchandise (ou groupe) A": {},
+ "3971-Marchandise (ou groupe) A": {},
"3972-Marchandise (ou groupe) B": {}
}
- },
+ },
"root_type": "Asset"
- },
+ },
"4-Comptes de Tiers (ACTIF)": {
"40-Fournisseurs et Comptes Rattach\u00e9s (ACTIF)": {
"409-Fournisseurs d\u00e9biteurs": {
- "4091-Fournisseurs - Avances et acomptes vers\u00e9s sur commandes": {},
- "4096-Fournisseurs - Cr\u00e9ances pour emballages et mat\u00e9riel \u00e0 rendre": {},
+ "4091-Fournisseurs - Avances et acomptes vers\u00e9s sur commandes": {},
+ "4096-Fournisseurs - Cr\u00e9ances pour emballages et mat\u00e9riel \u00e0 rendre": {},
"4097-Fournisseurs - Autres avoirs": {
- "40971-Fournisseurs d'exploitation": {},
+ "40971-Fournisseurs d'exploitation": {},
"40974-Fournisseurs d'immobilisation": {}
- },
+ },
"4098-Rabais, remises, ristournes \u00e0 obtenir et autres avoirs non encore re\u00e7us": {}
}
- },
+ },
"41-Clients et comptes rattach\u00e9s (ACTIF)": {
"410-Clients et Comptes rattach\u00e9s": {
"account_type": "Receivable"
- },
+ },
"411-Clients": {
"4111-Clients - Ventes de biens ou de prestations de services": {
"account_type": "Receivable"
- },
+ },
"4117-Clients - Retenues de garantie": {
"account_type": "Receivable"
- },
+ },
"account_type": "Receivable"
- },
+ },
"413-Clients - Effets \u00e0 recevoir": {
"account_type": "Receivable"
- },
+ },
"416-Clients douteux ou litigieux": {
"account_type": "Receivable"
- },
+ },
"418-Clients - Produits non encore factur\u00e9s": {
"4181-Clients - Factures \u00e0 \u00e9tablir": {
"account_type": "Receivable"
- },
+ },
"4188-Clients - Int\u00e9r\u00eats courus": {
"account_type": "Receivable"
- },
+ },
"account_type": "Receivable"
- },
+ },
"account_type": "Receivable"
- },
+ },
"42-Personnel et comptes rattach\u00e9s (ACTIF)": {
"425-Personnel - Avances et acomptes": {}
- },
+ },
"43-S\u00e9curit\u00e9 sociale et autres organismes sociaux (ACTIF)": {
- "431-S\u00e9curit\u00e9 sociale": {},
- "437-Autres organismes sociaux": {},
+ "431-S\u00e9curit\u00e9 sociale": {},
+ "437-Autres organismes sociaux": {},
"438-Organismes sociaux - Produits \u00e0 recevoir": {
"4387-Produits \u00e0 recevoir": {}
}
- },
+ },
"44-Etat et autres collectivit\u00e9s publiques (ACTIF)": {
"441-Etat - Subventions \u00e0 recevoir": {
- "4411-Subventions d'investissement": {},
- "4417-Subventions d'exploitation": {},
- "4418-Subventions d'\u00e9quilibre": {},
+ "4411-Subventions d'investissement": {},
+ "4417-Subventions d'exploitation": {},
+ "4418-Subventions d'\u00e9quilibre": {},
"4419-Avances sur subventions": {}
- },
+ },
"443-Op\u00e9rations particuli\u00e8res avec l'Etat, les collectivit\u00e9s publiques, les organismes internationaux": {
- "4431-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": {},
+ "4431-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": {},
"4438-Int\u00e9r\u00eats courus sur cr\u00e9ances figurant au compte 4431": {}
- },
+ },
"445-Etat - Taxes sur le chiffre d'affaires (ACTIF)": {
- "4452-TVA due intracommunautaire": {},
+ "4452-TVA due intracommunautaire": {},
"4456-Taxes sur le chiffre d'affaires d\u00e9ductibles": {
- "44562-TVA sur immobilisations": {},
- "44563-TVA transf\u00e9r\u00e9e par d'autres entreprises": {},
+ "44562-TVA sur immobilisations": {},
+ "44563-TVA transf\u00e9r\u00e9e par d'autres entreprises": {},
"44566-TVA sur autres biens et services": {
"tax_rate": 20.0
- },
- "44567-Cr\u00e9dit de TVA \u00e0 reporter": {},
+ },
+ "44567-Cr\u00e9dit de TVA \u00e0 reporter": {},
"44568-Taxes assimil\u00e9es \u00e0 la TVA": {}
- },
+ },
"4458-Taxes sur le chiffre d'affaires \u00e0 r\u00e9gulariser ou en attente (ACTIF)": {
- "44581-Acomptes - R\u00e9gime simplifi\u00e9 d'imposition": {},
- "44582-Acomptes - R\u00e9gime du forfait": {},
- "44583-Remboursement de taxes sur le chiffre d'affaires demand\u00e9": {},
+ "44581-Acomptes - R\u00e9gime simplifi\u00e9 d'imposition": {},
+ "44582-Acomptes - R\u00e9gime du forfait": {},
+ "44583-Remboursement de taxes sur le chiffre d'affaires demand\u00e9": {},
"44586-Taxes sur le chiffre d'affaires sur factures non parvenues": {}
}
- },
+ },
"448-Etat - Charges \u00e0 payer et produits \u00e0 recevoir": {
- "4482-Charges fiscales sur cong\u00e9s \u00e0 payer": {},
- "4486-Charges \u00e0 payer": {},
+ "4482-Charges fiscales sur cong\u00e9s \u00e0 payer": {},
+ "4486-Charges \u00e0 payer": {},
"4487-Produits \u00e0 recevoir": {}
}
- },
+ },
"45-Groupe et associ\u00e9s (ACTIF)": {
"456-Associ\u00e9s - Op\u00e9rations sur le capital (ACTIF)": {
"4562-Apporteurs - Capital appel\u00e9, non vers\u00e9": {
- "45621-Actionnaires - Capital souscrit et appel\u00e9, non vers\u00e9": {},
+ "45621-Actionnaires - Capital souscrit et appel\u00e9, non vers\u00e9": {},
"45625-Associ\u00e9s - Capital appel\u00e9, non vers\u00e9": {}
}
}
- },
+ },
"46-D\u00e9biteurs divers et cr\u00e9diteurs divers (ACTIF)": {
- "462-Cr\u00e9ances sur cessions d'immobilisations": {},
- "465-Cr\u00e9ances sur cessions de valeurs mobili\u00e8res de placement": {},
- "467-Autres comptes d\u00e9biteurs ou cr\u00e9diteurs (ACTIF)": {},
+ "462-Cr\u00e9ances sur cessions d'immobilisations": {},
+ "465-Cr\u00e9ances sur cessions de valeurs mobili\u00e8res de placement": {},
+ "467-Autres comptes d\u00e9biteurs ou cr\u00e9diteurs (ACTIF)": {},
"468-Divers - Charges \u00e0 payer et produits \u00e0 recevoir (ACTIF)": {
"4687-Produits \u00e0 recevoir": {}
}
- },
+ },
"47-Comptes transitoires ou d'attente (ACTIF)": {
"471-Comptes d'attente (ACTIF)": {
"account_type": "Temporary"
- },
+ },
"476-Diff\u00e9rences de conversion (ACTIF)": {
- "4761-Diminution des cr\u00e9ances": {},
- "4762-Augmentation des dettes": {},
+ "4761-Diminution des cr\u00e9ances": {},
+ "4762-Augmentation des dettes": {},
"4768-Diff\u00e9rences compens\u00e9es par couverture de change": {}
- },
+ },
"478-Autres comptes transitoires (ACTIF)": {
- "4781-Mali de fusion sur actif circulant": {},
+ "4781-Mali de fusion sur actif circulant": {},
"4786-Diff\u00e9rences d'\u00e9valuation sur instruments de tr\u00e9sorerie (ACTIF)": {}
}
- },
+ },
"48-Comptes de r\u00e9gularisation (ACTIF)": {
"481-Charges \u00e0 r\u00e9partir sur plusieurs exercices": {
"4816-Frais d'\u00e9mission des emprunts": {}
- },
- "486-Charges constat\u00e9es d'avance": {},
+ },
+ "486-Charges constat\u00e9es d'avance": {},
"488-Comptes de r\u00e9partition p\u00e9riodique des charges et des produits (ACTIF)": {
"4886-Charges": {}
}
- },
+ },
"49-D\u00e9pr\u00e9ciation des comptes de tiers (ACTIF)": {
- "491-D\u00e9pr\u00e9ciations des comptes clients": {},
+ "491-D\u00e9pr\u00e9ciations des comptes clients": {},
"495-D\u00e9pr\u00e9ciations des comptes du groupe et des associ\u00e9s": {
- "4951-Comptes du groupe": {},
- "4955-Comptes courants des associ\u00e9s": {},
+ "4951-Comptes du groupe": {},
+ "4955-Comptes courants des associ\u00e9s": {},
"4958-Op\u00e9rations faites en commun et en GIE": {}
- },
+ },
"496-D\u00e9pr\u00e9ciations des comptes de d\u00e9biteurs divers": {
- "4962-Cr\u00e9ances sur cessions d'immobilisations": {},
- "4965-Cr\u00e9ances sur cessions de valeurs mobili\u00e8res de placement": {},
+ "4962-Cr\u00e9ances sur cessions d'immobilisations": {},
+ "4965-Cr\u00e9ances sur cessions de valeurs mobili\u00e8res de placement": {},
"4967-Autres comptes d\u00e9biteurs": {}
}
- },
+ },
"root_type": "Asset"
- },
+ },
"4-Comptes de Tiers (PASSIF)": {
"40-Fournisseurs et Comptes Rattach\u00e9s (PASSIF)": {
"401-Fournisseurs": {
"4011-Fournisseurs - Achats de biens ou de prestations de services": {
"account_type": "Payable"
- },
+ },
"4017-Fournisseurs - Retenues de garantie": {
"account_type": "Payable"
- },
+ },
"account_type": "Payable"
- },
+ },
"403-Fournisseurs - Effets \u00e0 payer": {
"account_type": "Payable"
- },
+ },
"404-Fournisseurs d'immobilisations": {
"4041-Fournisseurs - Achats d'immobilisations": {
"account_type": "Payable"
- },
+ },
"4047-Fournisseurs d'immobilisations - Retenues de garantie": {
"account_type": "Payable"
- },
+ },
"account_type": "Payable"
- },
+ },
"405-Fournisseurs d'immobilisations - Effets \u00e0 payer": {
"account_type": "Payable"
- },
+ },
"408-Fournisseurs - Factures non parvenues": {
"4081-Fournisseurs": {
"account_type": "Stock Received But Not Billed"
- },
+ },
"4084-Fournisseurs d'immobilisations": {
"account_type": "Stock Received But Not Billed"
- },
+ },
"4088-Fournisseurs - Int\u00e9r\u00eats courus": {
"account_type": "Stock Received But Not Billed"
- },
+ },
"account_type": "Stock Received But Not Billed"
- },
+ },
"account_type": "Payable"
- },
+ },
"41-Clients et comptes rattach\u00e9s (PASSIF)": {
"419-Clients cr\u00e9diteurs": {
- "4191-Clients - Avances et acomptes re\u00e7us sur commandes": {},
- "4196-Clients - Dettes pour emballages et mat\u00e9riels consign\u00e9s": {},
- "4197-Clients - Autres avoirs": {},
+ "4191-Clients - Avances et acomptes re\u00e7us sur commandes": {},
+ "4196-Clients - Dettes pour emballages et mat\u00e9riels consign\u00e9s": {},
+ "4197-Clients - Autres avoirs": {},
"4198-Rabais, remises, ristournes \u00e0 accorder et autres avoirs \u00e0 \u00e9tablir": {}
}
- },
+ },
"42-Personnel et comptes rattach\u00e9s (PASSIF)": {
- "421-Personnel - R\u00e9mun\u00e9rations dues": {},
- "422-Comit\u00e9s d'entreprises, d'\u00e9tablissement...": {},
+ "421-Personnel - R\u00e9mun\u00e9rations dues": {},
+ "422-Comit\u00e9s d'entreprises, d'\u00e9tablissement...": {},
"424-Participation des salari\u00e9s aux r\u00e9sultats": {
- "4246-R\u00e9serve sp\u00e9ciale": {},
+ "4246-R\u00e9serve sp\u00e9ciale": {},
"4248-Comptes courants": {}
- },
- "426-Personnel - D\u00e9p\u00f4ts": {},
- "427-Personnel - Oppositions": {},
+ },
+ "426-Personnel - D\u00e9p\u00f4ts": {},
+ "427-Personnel - Oppositions": {},
"428-Personnel - Charges \u00e0 payer et produits \u00e0 recevoir": {
- "4282-Dettes provisionn\u00e9es pour cong\u00e9s \u00e0 payer": {},
- "4284-Dettes provisionn\u00e9es pour participation des salari\u00e9s aux r\u00e9sultats": {},
- "4286-Autres charges \u00e0 payer": {},
+ "4282-Dettes provisionn\u00e9es pour cong\u00e9s \u00e0 payer": {},
+ "4284-Dettes provisionn\u00e9es pour participation des salari\u00e9s aux r\u00e9sultats": {},
+ "4286-Autres charges \u00e0 payer": {},
"4287-Produits \u00e0 recevoir": {}
}
- },
+ },
"43-S\u00e9curit\u00e9 sociale et autres organismes sociaux (PASSIF)": {
"438-Organismes sociaux - Charges \u00e0 payer": {
- "4382-Charges sociales sur cong\u00e9s \u00e0 payer": {},
+ "4382-Charges sociales sur cong\u00e9s \u00e0 payer": {},
"4386-Autres charges \u00e0 payer": {}
}
- },
+ },
"44-Etat et autres collectivit\u00e9s publiques (PASSIF)": {
"442-Etat - Imp\u00f4ts et taxes recouvrables sur des tiers": {
- "4424-Obligataires": {},
+ "4424-Obligataires": {},
"4425-Associ\u00e9s": {}
- },
- "444-Etat - Imp\u00f4ts sur les b\u00e9n\u00e9fices": {},
+ },
+ "444-Etat - Imp\u00f4ts sur les b\u00e9n\u00e9fices": {},
"445-Etat - Taxes sur le chiffre d'affaires (PASSIF)": {
"4455-Taxes sur le chiffre d'affaires \u00e0 d\u00e9caisser": {
- "44551-TVA \u00e0 d\u00e9caisser": {},
+ "44551-TVA \u00e0 d\u00e9caisser": {},
"44558-Taxes assimil\u00e9es \u00e0 la TVA": {}
- },
+ },
"4457-Taxes sur le chiffre d'affaires collect\u00e9es par l'entreprise": {
"44571-TVA collect\u00e9e": {
- "account_type": "Tax",
+ "account_type": "Tax",
"is_group": 1
- },
+ },
"44578-Taxes assimil\u00e9es \u00e0 la TVA": {}
- },
+ },
"4458-Taxes sur le chiffre d'affaires \u00e0 r\u00e9gulariser ou en attente (PASSIF)": {
- "44584-TVA r\u00e9cup\u00e9r\u00e9e d'avance": {},
+ "44584-TVA r\u00e9cup\u00e9r\u00e9e d'avance": {},
"44587-Taxes sur le chiffre d'affaires sur factures \u00e0 \u00e9tablir": {}
}
- },
- "446-Obligations cautionn\u00e9es": {},
- "447-Autres imp\u00f4ts, taxes et versements assimil\u00e9s": {},
+ },
+ "446-Obligations cautionn\u00e9es": {},
+ "447-Autres imp\u00f4ts, taxes et versements assimil\u00e9s": {},
"449-Quotas d'\u00e9mission \u00e0 acqu\u00e9rir": {}
- },
+ },
"45-Groupe et associ\u00e9s (PASSIF)": {
- "451-Groupe (PASSIF)": {},
+ "451-Groupe (PASSIF)": {},
"455-Associ\u00e9s - Comptes courants (PASSIF)": {
- "4551-Principal (PASSIF)": {},
+ "4551-Principal (PASSIF)": {},
"4558-Int\u00e9r\u00eats courus (PASSIF)": {}
- },
+ },
"456-Associ\u00e9s - Op\u00e9rations sur le capital (PASSIF)": {
"4561-Associ\u00e9s - Comptes d'apport en soci\u00e9t\u00e9": {
- "45611-Apports en nature": {},
+ "45611-Apports en nature": {},
"45615-Apports en num\u00e9raire": {}
- },
- "4563-Associ\u00e9s - Versements re\u00e7us sur augmentation de capital": {},
- "4564-Associ\u00e9s - Versements anticip\u00e9s": {},
- "4566-Actionnaires d\u00e9faillants": {},
+ },
+ "4563-Associ\u00e9s - Versements re\u00e7us sur augmentation de capital": {},
+ "4564-Associ\u00e9s - Versements anticip\u00e9s": {},
+ "4566-Actionnaires d\u00e9faillants": {},
"4567-Associ\u00e9s - Capital \u00e0 rembourser": {}
- },
- "457-Associ\u00e9s - Dividendes \u00e0 payer": {},
+ },
+ "457-Associ\u00e9s - Dividendes \u00e0 payer": {},
"458-Associ\u00e9s - Op\u00e9rations faites en commun et en GIE": {
- "4581-Op\u00e9rations courantes": {},
+ "4581-Op\u00e9rations courantes": {},
"4588-Int\u00e9r\u00eats courus": {}
}
- },
+ },
"46-D\u00e9biteurs divers et cr\u00e9diteurs divers (PASSIF)": {
- "464-Dettes sur acquisitions de valeurs mobili\u00e8res de placement": {},
- "467-Autres comptes d\u00e9biteurs ou cr\u00e9diteurs (PASSIF)": {},
+ "464-Dettes sur acquisitions de valeurs mobili\u00e8res de placement": {},
+ "467-Autres comptes d\u00e9biteurs ou cr\u00e9diteurs (PASSIF)": {},
"468-Divers - Charges \u00e0 payer et produits \u00e0 recevoir (PASSIF)": {
"4686-Charges \u00e0 payer": {}
}
- },
+ },
"47-Comptes transitoires ou d'attente (PASSIF)": {
"471-Comptes d'attente (PASSIF)": {
"account_type": "Temporary"
- },
+ },
"477-Diff\u00e9rences de conversion (PASSIF)": {
- "4771-Augmentation des cr\u00e9ances": {},
- "4772-Diminution des dettes": {},
+ "4771-Augmentation des cr\u00e9ances": {},
+ "4772-Diminution des dettes": {},
"4778-Diff\u00e9rences compens\u00e9es par couverture de change": {}
- },
+ },
"478-Autres comptes transitoires (PASSIF)": {
"4787-Diff\u00e9rences d'\u00e9valuation sur instruments de tr\u00e9sorerie (PASSIF)": {}
}
- },
+ },
"48-Comptes de r\u00e9gularisation (PASSIF)": {
- "487-Produits constat\u00e9s d'avance": {},
+ "487-Produits constat\u00e9s d'avance": {},
"488-Comptes de r\u00e9partition p\u00e9riodique des charges et des produits (PASSIF)": {
"4887-Produits": {}
}
- },
+ },
"root_type": "Liability"
- },
+ },
"5-Comptes Financiers": {
"50-Valeurs mobili\u00e8res de placement": {
- "501-Parts dans des entreprises li\u00e9es": {},
+ "501-Parts dans des entreprises li\u00e9es": {},
"502-Actions propres": {
- "5021-Actions destin\u00e9es \u00e0 \u00eatre attribu\u00e9es aux employ\u00e9s et affect\u00e9es \u00e0 des plans d\u00e9termin\u00e9s": {},
+ "5021-Actions destin\u00e9es \u00e0 \u00eatre attribu\u00e9es aux employ\u00e9s et affect\u00e9es \u00e0 des plans d\u00e9termin\u00e9s": {},
"5022-Actions disponibles pour \u00eatre attribu\u00e9es aux employ\u00e9s ou pour la r\u00e9gularisation des cours de bourse": {}
- },
+ },
"503-Actions": {
- "5031-Titres cot\u00e9s": {},
+ "5031-Titres cot\u00e9s": {},
"5035-Titres non cot\u00e9s": {}
- },
- "504-Autres titres conf\u00e9rant un droit de propri\u00e9t\u00e9": {},
- "505-Obligations et bons \u00e9mis par la soci\u00e9t\u00e9 et rachet\u00e9s par elle": {},
+ },
+ "504-Autres titres conf\u00e9rant un droit de propri\u00e9t\u00e9": {},
+ "505-Obligations et bons \u00e9mis par la soci\u00e9t\u00e9 et rachet\u00e9s par elle": {},
"506-Obligations": {
- "5061-Titres cot\u00e9s": {},
+ "5061-Titres cot\u00e9s": {},
"5065-Titres non cot\u00e9s": {}
- },
- "507-Bons du Tr\u00e9sor et bons de caisse \u00e0 court terme": {},
+ },
+ "507-Bons du Tr\u00e9sor et bons de caisse \u00e0 court terme": {},
"508-Autres valeurs mobili\u00e8res de placement et autres cr\u00e9ances assimil\u00e9es": {
- "5081-Autres valeurs mobili\u00e8res": {},
- "5082-Bons de souscription": {},
+ "5081-Autres valeurs mobili\u00e8res": {},
+ "5082-Bons de souscription": {},
"5088-Int\u00e9r\u00eats courus sur obligations, bons et valeurs assimil\u00e9es": {}
- },
+ },
"509-Versements restant \u00e0 effectuer sur valeurs mobili\u00e8res de placement non lib\u00e9r\u00e9es": {}
- },
+ },
"51-Banques, \u00e9tablissements financiers et assimil\u00e9s": {
"511-Valeurs \u00e0 l'encaissement": {
- "5111-Coupons \u00e9chus \u00e0 l'encaissement": {},
- "5112-Ch\u00e8ques \u00e0 encaisser": {},
- "5113-Effets \u00e0 l'encaissement": {},
+ "5111-Coupons \u00e9chus \u00e0 l'encaissement": {},
+ "5112-Ch\u00e8ques \u00e0 encaisser": {},
+ "5113-Effets \u00e0 l'encaissement": {},
"5114-Effets \u00e0 l'escompte": {}
- },
+ },
"512-Banques": {
"5121-Comptes en monnaie nationale": {
"account_type": "Bank"
- },
+ },
"5124-Comptes en devises": {
"account_type": "Bank"
- },
+ },
"account_type": "Bank"
- },
- "514-Ch\u00e8ques postaux": {},
- "515-\"Caisses\" du Tr\u00e9sor et des \u00e9tablissements publics": {},
- "516-Soci\u00e9t\u00e9s de bourse": {},
- "517-Autres organismes financiers": {},
+ },
+ "514-Ch\u00e8ques postaux": {},
+ "515-\"Caisses\" du Tr\u00e9sor et des \u00e9tablissements publics": {},
+ "516-Soci\u00e9t\u00e9s de bourse": {},
+ "517-Autres organismes financiers": {},
"518-Int\u00e9r\u00eats courus": {
- "5181-Int\u00e9r\u00eats courus \u00e0 payer": {},
+ "5181-Int\u00e9r\u00eats courus \u00e0 payer": {},
"5188-Int\u00e9r\u00eats courus \u00e0 recevoir": {}
- },
+ },
"519-Concours bancaires courants": {
- "5191-Cr\u00e9dit de mobilisation des cr\u00e9ances commerciales (CMCC)": {},
- "5193-Mobilisation de cr\u00e9ances n\u00e9es \u00e0 l'\u00e9tranger": {},
+ "5191-Cr\u00e9dit de mobilisation des cr\u00e9ances commerciales (CMCC)": {},
+ "5193-Mobilisation de cr\u00e9ances n\u00e9es \u00e0 l'\u00e9tranger": {},
"5198-Int\u00e9r\u00eats courus sur concours bancaires courants": {}
}
- },
+ },
"52-Instruments de tr\u00e9sorerie": {
"is_group": 1
- },
+ },
"53-Caisse": {
"531-Caisse si\u00e8ge social": {
"5311-Caisse en monnaie nationale": {
"account_type": "Cash"
- },
+ },
"5314-Caisse en devises": {
"account_type": "Cash"
- },
+ },
"account_type": "Cash"
- },
+ },
"532-Caisse succursale (ou usine) A": {
"account_type": "Cash"
- },
+ },
"533-Caisse succursale (ou usine) B": {
"account_type": "Cash"
- },
+ },
"account_type": "Cash"
- },
+ },
"54-R\u00e9gies d'avance et accr\u00e9ditifs": {
"is_group": 1
- },
+ },
"58-Virements internes": {
"is_group": 1
- },
+ },
"59-D\u00e9pr\u00e9ciations des comptes financiers": {
"590-D\u00e9pr\u00e9ciations des valeurs mobili\u00e8res de placement": {
- "5903-Actions": {},
- "5904-Autres titres conf\u00e9rant un droit de propri\u00e9t\u00e9": {},
- "5906-Obligations": {},
+ "5903-Actions": {},
+ "5904-Autres titres conf\u00e9rant un droit de propri\u00e9t\u00e9": {},
+ "5906-Obligations": {},
"5908-Autres valeurs mobili\u00e8res de placement et cr\u00e9ances assimil\u00e9es": {}
}
- },
+ },
"root_type": "Asset"
- },
+ },
"6-Comptes de Charges": {
"60-Achats (sauf 603)": {
"601-Achats stock\u00e9s - Mati\u00e8res premi\u00e8res (et fournitures)": {
"6011-Mati\u00e8res (ou groupe) A": {
"account_type": "Cost of Goods Sold"
- },
+ },
"6012-Mati\u00e8res (ou groupe) B": {
"account_type": "Cost of Goods Sold"
- },
+ },
"6017-Fournitures A, B, C...": {
"account_type": "Cost of Goods Sold"
- },
+ },
"account_type": "Cost of Goods Sold"
- },
+ },
"602-Achats stock\u00e9s - Autres approvisionnements": {
"6021-Mati\u00e8res consommables": {
"60211-Mati\u00e8res (ou groupe) C": {
"account_type": "Cost of Goods Sold"
- },
+ },
"60212-Mati\u00e8res (ou groupe) D": {
"account_type": "Cost of Goods Sold"
- },
+ },
"account_type": "Cost of Goods Sold"
- },
+ },
"6022-Fournitures consommables": {
"60221-Combustibles": {
"account_type": "Cost of Goods Sold"
- },
+ },
"60222-Produits d'entretien": {
"account_type": "Cost of Goods Sold"
- },
+ },
"60223-Fournitures d'atelier et d'usine": {
"account_type": "Cost of Goods Sold"
- },
+ },
"60224-Fournitures de magasin": {
"account_type": "Cost of Goods Sold"
- },
+ },
"60225-Fournitures de bureau": {
"account_type": "Cost of Goods Sold"
- },
+ },
"account_type": "Cost of Goods Sold"
- },
+ },
"6026-Emballages": {
"60261-Emballages perdus": {
"account_type": "Cost of Goods Sold"
- },
+ },
"60265-Emballages r\u00e9cup\u00e9rables non identifiables": {
"account_type": "Cost of Goods Sold"
- },
+ },
"60267-Emballages \u00e0 usage mixte": {
"account_type": "Cost of Goods Sold"
- },
+ },
"account_type": "Cost of Goods Sold"
- },
+ },
"account_type": "Cost of Goods Sold"
- },
+ },
"603-Variations des stocks (approvisionnements et marchandises)": {
"6031-Variation des stocks de mati\u00e8res premi\u00e8res (et fournitures)": {
"account_type": "Stock Adjustment"
- },
+ },
"6032-Variation des stocks des autres approvisionnements": {
"account_type": "Stock Adjustment"
- },
+ },
"6037-Variation des stocks de marchandises": {
"account_type": "Stock Adjustment"
- },
+ },
"account_type": "Stock Adjustment"
- },
+ },
"604-Achats d'\u00e9tudes et prestations de service": {
"account_type": "Cost of Goods Sold"
- },
+ },
"605-Achats de mat\u00e9riel, \u00e9quipements et travaux": {
"account_type": "Cost of Goods Sold"
- },
+ },
"606-Achats non stock\u00e9s de mati\u00e8res et founitures": {
"6061-Fournitures non stockables (eau, \u00e9nergie...)": {
"account_type": "Cost of Goods Sold"
- },
+ },
"6063-Fournitures d'entretien et de petit \u00e9quipement": {
"account_type": "Cost of Goods Sold"
- },
+ },
"6064-Fournitures administratives": {
"account_type": "Cost of Goods Sold"
- },
+ },
"6068-Autres mati\u00e8res et fournitures": {
"account_type": "Cost of Goods Sold"
- },
+ },
"account_type": "Cost of Goods Sold"
- },
+ },
"607-Achats de marchandises": {
"6071-Marchandises (ou groupe) A": {
"account_type": "Cost of Goods Sold"
- },
+ },
"6072-Marchandises (ou groupe) B": {
"account_type": "Cost of Goods Sold"
- },
+ },
"account_type": "Cost of Goods Sold"
- },
+ },
"608-(Compte r\u00e9serv\u00e9, le cas \u00e9ch\u00e9ant, \u00e0 la recapitulation des Frais accessoires incorpor\u00e9s aux achats)": {
"account_type": "Expenses Included In Valuation"
- },
+ },
"609-Rabais, remises et ristournes obtenus sur achats": {
- "6091-Rabais, remises et ristournes obtenus sur achats - de mati\u00e8res premi\u00e8res (et fournitures)": {},
- "6092-Rabais, remises et ristournes obtenus sur achats - d'autres approvisionnements stock\u00e9s": {},
- "6094-Rabais, remises et ristournes obtenus sur achats - d'\u00e9tudes et prestations de services": {},
- "6095-Rabais, remises et ristournes obtenus sur achats - de mat\u00e9riel, \u00e9quipements et travaux": {},
- "6096-Rabais, remises et ristournes obtenus sur achats - d'approvisionnements non stock\u00e9s": {},
- "6097-Rabais, remises et ristournes obtenus sur achats - de marchandises": {},
+ "6091-Rabais, remises et ristournes obtenus sur achats - de mati\u00e8res premi\u00e8res (et fournitures)": {},
+ "6092-Rabais, remises et ristournes obtenus sur achats - d'autres approvisionnements stock\u00e9s": {},
+ "6094-Rabais, remises et ristournes obtenus sur achats - d'\u00e9tudes et prestations de services": {},
+ "6095-Rabais, remises et ristournes obtenus sur achats - de mat\u00e9riel, \u00e9quipements et travaux": {},
+ "6096-Rabais, remises et ristournes obtenus sur achats - d'approvisionnements non stock\u00e9s": {},
+ "6097-Rabais, remises et ristournes obtenus sur achats - de marchandises": {},
"6098-Rabais, remises et ristournes non affect\u00e9s": {}
}
- },
+ },
"61-Services ext\u00e9rieurs": {
- "611-Sous-traitance g\u00e9n\u00e9rale": {},
+ "611-Sous-traitance g\u00e9n\u00e9rale": {},
"612-Redevances de cr\u00e9dit-bail": {
- "6122-Cr\u00e9dit-bail mobilier": {},
+ "6122-Cr\u00e9dit-bail mobilier": {},
"6125-Cr\u00e9dit-bail immobilier": {}
- },
+ },
"613-Locations": {
- "6132-Locations immobili\u00e8res": {},
- "6135-Locations mobili\u00e8res": {},
+ "6132-Locations immobili\u00e8res": {},
+ "6135-Locations mobili\u00e8res": {},
"6136-Malis sur emballages": {}
- },
- "614-Charges locatives et de copropri\u00e9t\u00e9": {},
+ },
+ "614-Charges locatives et de copropri\u00e9t\u00e9": {},
"615-Entretiens et r\u00e9parations": {
- "6152-Entretiens et r\u00e9parations - sur biens immobiliers": {},
- "6155-Entretiens et r\u00e9parations - sur biens mobiliers": {},
+ "6152-Entretiens et r\u00e9parations - sur biens immobiliers": {},
+ "6155-Entretiens et r\u00e9parations - sur biens mobiliers": {},
"6156-Maintenance": {}
- },
+ },
"616-Primes d'assurance": {
- "6161-Multirisques": {},
- "6162-Assurance obligatoire dommage construction": {},
+ "6161-Multirisques": {},
+ "6162-Assurance obligatoire dommage construction": {},
"6163-Assurance-transport": {
- "61636-Assurance-transport - sur achats": {},
- "61637-Assurance-transport - sur ventes": {},
+ "61636-Assurance-transport - sur achats": {},
+ "61637-Assurance-transport - sur ventes": {},
"61638-Assurance-transport - sur autres biens": {}
- },
- "6164-Risques d'exploitation": {},
+ },
+ "6164-Risques d'exploitation": {},
"6165-Insolvabilit\u00e9 clients": {}
- },
- "617-Etudes et recherches": {},
+ },
+ "617-Etudes et recherches": {},
"618-Divers": {
- "6181-Documentation g\u00e9n\u00e9rale": {},
- "6183-Documentation technique": {},
+ "6181-Documentation g\u00e9n\u00e9rale": {},
+ "6183-Documentation technique": {},
"6185-Frais de colloques, s\u00e9minaires, conf\u00e9rences": {}
- },
+ },
"619-Rabais, remises et ristournes obtenus sur services ext\u00e9rieurs": {}
- },
+ },
"62-Autres services ext\u00e9rieurs": {
"621-Personnel ext\u00e9rieur \u00e0 l'entreprise": {
- "6211-Personnel int\u00e9rimaire": {},
+ "6211-Personnel int\u00e9rimaire": {},
"6214-Personnel d\u00e9tach\u00e9 ou pr\u00eat\u00e9 \u00e0 l'entreprise": {}
- },
+ },
"622-R\u00e9mun\u00e9rations d'interm\u00e9diaires et honoraires": {
- "6221-Commissions et courtages sur achats": {},
- "6222-Commissions et courtages sur ventes": {},
- "6224-R\u00e9mun\u00e9rations des transitaires": {},
- "6225-R\u00e9mun\u00e9rations d'affacturage": {},
- "6226-Honoraires": {},
- "6227-Frais d'actes et de contentieux": {},
+ "6221-Commissions et courtages sur achats": {},
+ "6222-Commissions et courtages sur ventes": {},
+ "6224-R\u00e9mun\u00e9rations des transitaires": {},
+ "6225-R\u00e9mun\u00e9rations d'affacturage": {},
+ "6226-Honoraires": {},
+ "6227-Frais d'actes et de contentieux": {},
"6228-Divers": {}
- },
+ },
"623-Publicit\u00e9, publications, relations publiques": {
- "6231-Annonces et insertions": {},
- "6232-Echantillons": {},
- "6233-Foires et expositions": {},
- "6234-Cadeaux \u00e0 la client\u00e8le": {},
- "6235-Primes": {},
- "6236-Catalogues et imprim\u00e9s": {},
- "6237-Publications": {},
+ "6231-Annonces et insertions": {},
+ "6232-Echantillons": {},
+ "6233-Foires et expositions": {},
+ "6234-Cadeaux \u00e0 la client\u00e8le": {},
+ "6235-Primes": {},
+ "6236-Catalogues et imprim\u00e9s": {},
+ "6237-Publications": {},
"6238-Divers (pourboires, dons courants...)": {}
- },
+ },
"624-Transports de biens et transports collectifs du personnel": {
- "6241-Transports sur achats": {},
+ "6241-Transports sur achats": {},
"6242-Transports sur ventes": {
"account_type": "Chargeable"
- },
- "6243-Transports entre \u00e9tablissements ou chantiers": {},
- "6244-Transports administratifs": {},
- "6247-Transports collectifs du personnel": {},
+ },
+ "6243-Transports entre \u00e9tablissements ou chantiers": {},
+ "6244-Transports administratifs": {},
+ "6247-Transports collectifs du personnel": {},
"6248-Divers": {}
- },
+ },
"625-D\u00e9placements, missions et r\u00e9ceptions": {
- "6251-Voyages et d\u00e9placements": {},
- "6255-Frais de d\u00e9m\u00e9nagement": {},
- "6256-Missions": {},
+ "6251-Voyages et d\u00e9placements": {},
+ "6255-Frais de d\u00e9m\u00e9nagement": {},
+ "6256-Missions": {},
"6257-R\u00e9ceptions": {}
- },
- "626-Frais postaux et de t\u00e9l\u00e9communications": {},
+ },
+ "626-Frais postaux et de t\u00e9l\u00e9communications": {},
"627-Services bancaires et assimil\u00e9s": {
- "6271-Frais sur titres (achat, vente, garde)": {},
- "6272-Commissions et frais sur \u00e9mission d'emprunts": {},
- "6275-Frais sur effets": {},
- "6276-Location de coffres": {},
+ "6271-Frais sur titres (achat, vente, garde)": {},
+ "6272-Commissions et frais sur \u00e9mission d'emprunts": {},
+ "6275-Frais sur effets": {},
+ "6276-Location de coffres": {},
"6278-Autres frais et commissions sur prestations de services": {}
- },
+ },
"628-Divers": {
- "6281-Concours divers (cotisations...)": {},
+ "6281-Concours divers (cotisations...)": {},
"6284-Frais de recrutement de personnel": {}
- },
+ },
"629-Rabais, remises et ristournes obtenus sur autres services ext\u00e9rieurs": {}
- },
+ },
"63-Imp\u00f4ts, taxes et versements assimil\u00e9s": {
"631-Imp\u00f4ts, taxes et versements assimil\u00e9s sur r\u00e9mun\u00e9rations (administrations des imp\u00f4ts)": {
- "6311-Taxes sur les salaires": {},
- "6312-Taxe d'apprentissage": {},
- "6313-Participation des employeurs \u00e0 la formation professionnelle continue": {},
- "6314-Cotisation pour d\u00e9faut d'investissement obligatoire dans la construction": {},
+ "6311-Taxes sur les salaires": {},
+ "6312-Taxe d'apprentissage": {},
+ "6313-Participation des employeurs \u00e0 la formation professionnelle continue": {},
+ "6314-Cotisation pour d\u00e9faut d'investissement obligatoire dans la construction": {},
"6318-Autres": {}
- },
+ },
"633-Imp\u00f4ts, taxes et versements assimil\u00e9s sur r\u00e9mun\u00e9rations (autres organismes)": {
- "6331-Versement de transport": {},
- "6332-Allocations logement": {},
- "6333-Participation des employeurs \u00e0 la formation professionnelle continue": {},
- "6334-Participation des employeurs \u00e0 l'effort de construction": {},
- "6335-Versements lib\u00e9ratoires ouvrant droit \u00e0 l'\u00e9xon\u00e9ration de la taxe d'apprentissage": {},
+ "6331-Versement de transport": {},
+ "6332-Allocations logement": {},
+ "6333-Participation des employeurs \u00e0 la formation professionnelle continue": {},
+ "6334-Participation des employeurs \u00e0 l'effort de construction": {},
+ "6335-Versements lib\u00e9ratoires ouvrant droit \u00e0 l'\u00e9xon\u00e9ration de la taxe d'apprentissage": {},
"6338-Autres": {}
- },
+ },
"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)": {
- "63511-Contribution \u00e9conomique territoriale": {},
- "63512-Taxes fonci\u00e8res": {},
- "63513-Autres imp\u00f4ts locaux": {},
+ "63511-Contribution \u00e9conomique territoriale": {},
+ "63512-Taxes fonci\u00e8res": {},
+ "63513-Autres imp\u00f4ts locaux": {},
"63514-Taxe sur les v\u00e9hicules des soci\u00e9t\u00e9s": {}
- },
- "6352-Taxes sur le chiffre d'affaires non r\u00e9cup\u00e9rables": {},
- "6353-Imp\u00f4ts indirects": {},
+ },
+ "6352-Taxes sur le chiffre d'affaires non r\u00e9cup\u00e9rables": {},
+ "6353-Imp\u00f4ts indirects": {},
"6354-Droits d'enregistrement et de timbre": {
"63541-Droits de mutation": {}
- },
+ },
"6358-Autres droits": {}
- },
+ },
"637-Autres imp\u00f4ts, taxes et versements assimil\u00e9s (autres organismes)": {
- "6371-Contribution sociale de solidarit\u00e9 \u00e0 la charge des soci\u00e9t\u00e9s": {},
- "6372-Taxes per\u00e7ues par les organismes publics internationaux": {},
- "6374-Imp\u00f4ts et taxes exigibles \u00e0 l'\u00e9tranger": {},
+ "6371-Contribution sociale de solidarit\u00e9 \u00e0 la charge des soci\u00e9t\u00e9s": {},
+ "6372-Taxes per\u00e7ues par les organismes publics internationaux": {},
+ "6374-Imp\u00f4ts et taxes exigibles \u00e0 l'\u00e9tranger": {},
"6378-Taxes diverses": {}
}
- },
+ },
"64-Charges de personnel": {
"641-R\u00e9mun\u00e9rations du personnel": {
- "6411-Salaires, appointements": {},
- "6412-Cong\u00e9s pay\u00e9s": {},
- "6413-Primes et gratifications": {},
- "6414-Indemnit\u00e9s et avantages divers": {},
+ "6411-Salaires, appointements": {},
+ "6412-Cong\u00e9s pay\u00e9s": {},
+ "6413-Primes et gratifications": {},
+ "6414-Indemnit\u00e9s et avantages divers": {},
"6415-Suppl\u00e9ment familial": {}
- },
- "644-R\u00e9mun\u00e9ration du travail de l'exploitant": {},
+ },
+ "644-R\u00e9mun\u00e9ration du travail de l'exploitant": {},
"645-Charges de s\u00e9curit\u00e9 sociale et de pr\u00e9voyance": {
- "6451-Cotisations \u00e0 l'URSSAF": {},
- "6452-Cotisations aux mutuelles": {},
- "6453-Cotisations aux caisses de retraites": {},
+ "6451-Cotisations \u00e0 l'URSSAF": {},
+ "6452-Cotisations aux mutuelles": {},
+ "6453-Cotisations aux caisses de retraites": {},
"6454-Cotisations aux ASSEDIC": {}
- },
- "646-Cotisations sociales personnelles de l'exploitant": {},
+ },
+ "646-Cotisations sociales personnelles de l'exploitant": {},
"647-Autres charges sociales": {
"is_group": 1
- },
+ },
"648-Autres charges de personnel": {}
- },
+ },
"65-Autres charges de gestion courante": {
"651-Redevances pour concessions, brevets, licences, marques, proc\u00e9d\u00e9s, logiciels, droits et valeurs similaires": {
- "6511-Redevances pour concessions, brevets, licences, marques, proc\u00e9d\u00e9s, logiciels": {},
- "6516-Droits d'auteur et de reproduction": {},
+ "6511-Redevances pour concessions, brevets, licences, marques, proc\u00e9d\u00e9s, logiciels": {},
+ "6516-Droits d'auteur et de reproduction": {},
"6518-Autres droits et valeurs similaires": {}
- },
- "653-Jetons de pr\u00e9sence": {},
+ },
+ "653-Jetons de pr\u00e9sence": {},
"654-Pertes sur cr\u00e9ances irr\u00e9couvrables": {
- "6541-Cr\u00e9ances de l'exercice": {},
+ "6541-Cr\u00e9ances de l'exercice": {},
"6544-Cr\u00e9ances des exercices ant\u00e9rieurs": {}
- },
+ },
"655-Quotes-parts de r\u00e9sultat sur op\u00e9rations faites en commun": {
- "6551-Quote-part de b\u00e9n\u00e9fice transf\u00e9r\u00e9e (comptabilit\u00e9 du g\u00e9rant)": {},
+ "6551-Quote-part de b\u00e9n\u00e9fice transf\u00e9r\u00e9e (comptabilit\u00e9 du g\u00e9rant)": {},
"6555-Quote-part de perte support\u00e9e (comptabilit\u00e9 des associ\u00e9s non g\u00e9rants)": {}
- },
- "656-Pertes de change sur cr\u00e9ances et dettes commerciales": {},
+ },
+ "656-Pertes de change sur cr\u00e9ances et dettes commerciales": {},
"658-Charges diverses de gestion courante": {}
- },
+ },
"66-Charges financi\u00e8res": {
"661-Charges d'int\u00e9r\u00eats": {
"6611-Int\u00e9r\u00eats des emprunts et dettes": {
- "66116-Int\u00e9r\u00eats des emprunts et dettes - des emprunts et dettes assimil\u00e9es": {},
+ "66116-Int\u00e9r\u00eats des emprunts et dettes - des emprunts et dettes assimil\u00e9es": {},
"66117-Int\u00e9r\u00eats des emprunts et dettes - des dettes rattach\u00e9es \u00e0 des participations": {}
- },
- "6612-Charges de la fiducie, r\u00e9sultat de la p\u00e9riode": {},
- "6615-Int\u00e9r\u00eats des comptes courants et des d\u00e9p\u00f4ts cr\u00e9diteurs": {},
- "6616-Int\u00e9r\u00eats bancaires et sur op\u00e9rations de financement (escompte...)": {},
- "6617-Int\u00e9r\u00eats des obligations cautionn\u00e9es": {},
+ },
+ "6612-Charges de la fiducie, r\u00e9sultat de la p\u00e9riode": {},
+ "6615-Int\u00e9r\u00eats des comptes courants et des d\u00e9p\u00f4ts cr\u00e9diteurs": {},
+ "6616-Int\u00e9r\u00eats bancaires et sur op\u00e9rations de financement (escompte...)": {},
+ "6617-Int\u00e9r\u00eats des obligations cautionn\u00e9es": {},
"6618-Int\u00e9r\u00eats des autres dettes": {
- "66181-Int\u00e9r\u00eats des autres dettes - des dettes commerciales": {},
+ "66181-Int\u00e9r\u00eats des autres dettes - des dettes commerciales": {},
"66188-Int\u00e9r\u00eats des autres dettes - des dettes diverses": {}
}
- },
- "664-Pertes sur cr\u00e9ances li\u00e9es \u00e0 des participations": {},
- "665-Escomptes accord\u00e9s": {},
+ },
+ "664-Pertes sur cr\u00e9ances li\u00e9es \u00e0 des participations": {},
+ "665-Escomptes accord\u00e9s": {},
"666-Pertes de change financi\u00e8res": {
"account_type": "Round Off"
- },
- "667-Charges nettes sur cessions de valeurs mobili\u00e8res de placement": {},
+ },
+ "667-Charges nettes sur cessions de valeurs mobili\u00e8res de placement": {},
"668-Autres charges financi\u00e8res": {}
- },
+ },
"67-Charges exceptionnelles": {
"671-Charges exceptionnelles sur op\u00e9rations de gestion": {
- "6711-P\u00e9nalit\u00e9s sur march\u00e9s (et d\u00e9dits pay\u00e9s sur achats et ventes)": {},
- "6712-P\u00e9nalit\u00e9s, amendes fiscales et p\u00e9nales": {},
- "6713-Dons, lib\u00e9ralit\u00e9s": {},
- "6714-Cr\u00e9ances devenues irr\u00e9couvrables dans l'exercice": {},
- "6715-Subventions accord\u00e9es": {},
- "6717-Rappel d'imp\u00f4ts (autres qu'imp\u00f4ts sur les b\u00e9n\u00e9fices)": {},
+ "6711-P\u00e9nalit\u00e9s sur march\u00e9s (et d\u00e9dits pay\u00e9s sur achats et ventes)": {},
+ "6712-P\u00e9nalit\u00e9s, amendes fiscales et p\u00e9nales": {},
+ "6713-Dons, lib\u00e9ralit\u00e9s": {},
+ "6714-Cr\u00e9ances devenues irr\u00e9couvrables dans l'exercice": {},
+ "6715-Subventions accord\u00e9es": {},
+ "6717-Rappel d'imp\u00f4ts (autres qu'imp\u00f4ts sur les b\u00e9n\u00e9fices)": {},
"6718-Autres charges exceptionnelles sur op\u00e9rations de gestion": {}
- },
- "672-(Compte \u00e0 la disposition des entit\u00e9s pour enregistrer, en cours d'exercice, les charges sur exercices ant\u00e9rieurs)": {},
+ },
+ "672-(Compte \u00e0 la disposition des entit\u00e9s pour enregistrer, en cours d'exercice, les charges sur exercices ant\u00e9rieurs)": {},
"674-Op\u00e9rations de constitution ou liquidation des fiducies": {
- "6741-Op\u00e9rations li\u00e9es \u00e0 la constitution de la fiducie - transfert des \u00e9l\u00e9ments": {},
+ "6741-Op\u00e9rations li\u00e9es \u00e0 la constitution de la fiducie - transfert des \u00e9l\u00e9ments": {},
"6742-Op\u00e9rations li\u00e9es \u00e0 la liquidation de la fiducie": {}
- },
+ },
"675-Valeurs comptables des \u00e9l\u00e9ments d'actif c\u00e9d\u00e9s": {
- "6751-Immobilisations incorporelles": {},
- "6752-Immobilisations corporelles": {},
- "6756-Immobilisations financi\u00e8res": {},
+ "6751-Immobilisations incorporelles": {},
+ "6752-Immobilisations corporelles": {},
+ "6756-Immobilisations financi\u00e8res": {},
"6758-Autres \u00e9l\u00e9ments d'actif": {}
- },
+ },
"678-Autres charges exceptionnelles": {
- "6781-Mali provenant de clauses d'indexation": {},
- "6782-Lots": {},
- "6783-Malis provenant du rachat par l'entreprise d'actions et obligations \u00e9mises par elles-m\u00eame": {},
+ "6781-Mali provenant de clauses d'indexation": {},
+ "6782-Lots": {},
+ "6783-Malis provenant du rachat par l'entreprise d'actions et obligations \u00e9mises par elles-m\u00eame": {},
"6788-Charges exceptionnelles diverses": {}
}
- },
+ },
"68-Dotations aux amortissements, d\u00e9pr\u00e9ciations et provisions": {
"681-Dotations aux amortissements, d\u00e9pr\u00e9ciations et provisions - Charges d'exploitation": {
"6811-Dotations aux amortissements sur immobilisations incorporelles et corporelles": {
"68111-Immobilisations incorporelles": {
"account_type": "Depreciation"
- },
+ },
"68112-Immobilisations corporelles": {
"account_type": "Depreciation"
- },
+ },
"account_type": "Depreciation"
- },
+ },
"6812-Dotations aux amortissements des charges d'exploitation \u00e0 r\u00e9partir": {
"account_type": "Depreciation"
- },
+ },
"6815-Dotations aux provisions d'exploitation": {
"account_type": "Depreciation"
- },
+ },
"6816-Dotations aux d\u00e9pr\u00e9ciations des immobilisations incorporelles et corporelles": {
"68161-Immobilisations incorporelles": {
"account_type": "Depreciation"
- },
+ },
"68162-Immobilisations corporelles": {
"account_type": "Depreciation"
- },
+ },
"account_type": "Depreciation"
- },
+ },
"6817-Dotations pour d\u00e9pr\u00e9ciations des actifs circulants": {
"68173-Stocks et en-cours": {
"account_type": "Depreciation"
- },
+ },
"68174-Cr\u00e9ances": {
"account_type": "Depreciation"
- },
+ },
"account_type": "Depreciation"
- },
+ },
"account_type": "Depreciation"
- },
+ },
"686-Dotations aux amortissements, d\u00e9pr\u00e9ciations et provisions - Charges financi\u00e8res": {
"6861-Dotations aux amortissements des primes de remboursement des obligations": {
"account_type": "Depreciation"
- },
+ },
"6865-Dotations aux provisions financi\u00e8res": {
"account_type": "Depreciation"
- },
+ },
"6866-Dotations aux d\u00e9pr\u00e9ciations des \u00e9l\u00e9ments financiers": {
"68662-Immobilisations financi\u00e8res": {
"account_type": "Depreciation"
- },
+ },
"68665-Valeurs mobili\u00e8res de placement": {
"account_type": "Depreciation"
- },
+ },
"account_type": "Depreciation"
- },
+ },
"6868-Autres dotations": {
"account_type": "Depreciation"
- },
+ },
"account_type": "Depreciation"
- },
+ },
"687-Dotations aux amortissements, d\u00e9pr\u00e9ciations et provisions - Charges exceptionnelles": {
"6871-Dotations aux amortissements exceptionnels des immobilisations": {
"account_type": "Depreciation"
- },
+ },
"6872-Dotations aux provisions r\u00e9glement\u00e9es (immobilisations)": {
"68725-Amortissements d\u00e9rogatoires": {
"account_type": "Depreciation"
- },
+ },
"account_type": "Depreciation"
- },
+ },
"6873-Dotations aux provisions r\u00e9glement\u00e9es (stocks)": {
"account_type": "Depreciation"
- },
+ },
"6874-Dotations aux autres provisions r\u00e9glement\u00e9es": {
"account_type": "Depreciation"
- },
+ },
"6875-Dotations aux provisions exceptionnelles": {
"account_type": "Depreciation"
- },
+ },
"6876-Dotations aux d\u00e9pr\u00e9ciations exceptionnelles": {
"account_type": "Depreciation"
- },
+ },
"account_type": "Depreciation"
- },
+ },
"account_type": "Depreciation"
- },
+ },
"69-Participation des salari\u00e9s, imp\u00f4ts sur les b\u00e9n\u00e9fices et assimil\u00e9s": {
- "691-Participation des salari\u00e9s aux r\u00e9sultats": {},
+ "691-Participation des salari\u00e9s aux r\u00e9sultats": {},
"695-Imp\u00f4ts sur les b\u00e9n\u00e9fices": {
- "6951-Imp\u00f4ts dus en France": {},
- "6952-Contribution additionnelle \u00e0 l'imp\u00f4t sur les b\u00e9n\u00e9fices": {},
+ "6951-Imp\u00f4ts dus en France": {},
+ "6952-Contribution additionnelle \u00e0 l'imp\u00f4t sur les b\u00e9n\u00e9fices": {},
"6954-Imp\u00f4ts dus \u00e0 l'\u00e9tranger": {}
- },
- "696-Suppl\u00e9ments d'imp\u00f4ts sur les soci\u00e9t\u00e9s, li\u00e9s aux distributions": {},
+ },
+ "696-Suppl\u00e9ments d'imp\u00f4ts sur les soci\u00e9t\u00e9s, li\u00e9s aux distributions": {},
"698-Int\u00e9gration fiscale": {
- "6981-Int\u00e9gration fiscale - Charges": {},
+ "6981-Int\u00e9gration fiscale - Charges": {},
"6989-Int\u00e9gration fiscale - Produits": {}
- },
+ },
"699-Produits - Report en arri\u00e8re des d\u00e9ficits": {}
- },
+ },
"root_type": "Expense"
- },
+ },
"7-Comptes de Produits": {
"70-Ventes de produits fabriqu\u00e9s, prestations de services, marchandises": {
"701-Ventes de produits finis": {
- "7011-Produits finis (ou groupe) A": {},
+ "7011-Produits finis (ou groupe) A": {},
"7012-Produits (ou groupe) B": {}
- },
- "702-Ventes de produits interm\u00e9diaires": {},
- "703-Ventes de produits r\u00e9siduels": {},
+ },
+ "702-Ventes de produits interm\u00e9diaires": {},
+ "703-Ventes de produits r\u00e9siduels": {},
"704-Travaux": {
- "7041-Travaux de cat\u00e9gorie (ou activit\u00e9) A": {},
+ "7041-Travaux de cat\u00e9gorie (ou activit\u00e9) A": {},
"7042-Travaux de cat\u00e9gorie (ou activit\u00e9) B": {}
- },
- "705-Etudes": {},
- "706-Prestations de services": {},
+ },
+ "705-Etudes": {},
+ "706-Prestations de services": {},
"707-Ventes de marchandises": {
- "7071-Marchandises (ou groupe) A": {},
+ "7071-Marchandises (ou groupe) A": {},
"7072-Marchandises (ou groupe) B": {}
- },
+ },
"708-Produits des activit\u00e9s annexes": {
- "7081-Produits des services exploit\u00e9s dans l'int\u00e9r\u00eat du personnel": {},
- "7082-Commissions et courtages": {},
- "7083-Locations diverses": {},
- "7084-Mise \u00e0 disposition de personnel factur\u00e9e": {},
- "7085-Ports et frais accessoires factur\u00e9s": {},
- "7086-Bonis sur reprises d'emballages consign\u00e9s": {},
- "7087-Bonifications obtenues des clients et primes sur ventes": {},
+ "7081-Produits des services exploit\u00e9s dans l'int\u00e9r\u00eat du personnel": {},
+ "7082-Commissions et courtages": {},
+ "7083-Locations diverses": {},
+ "7084-Mise \u00e0 disposition de personnel factur\u00e9e": {},
+ "7085-Ports et frais accessoires factur\u00e9s": {},
+ "7086-Bonis sur reprises d'emballages consign\u00e9s": {},
+ "7087-Bonifications obtenues des clients et primes sur ventes": {},
"7088-Autres produits d'activit\u00e9s annexes (cessions d'approvisionnements...)": {}
- },
+ },
"709-Rabais, remises et ristournes accord\u00e9s par l'entreprise": {
- "7091-Rabais, remises et ristournes accord\u00e9s par l'entreprise - sur ventes de produits finis": {},
- "7092-Rabais, remises et ristournes accord\u00e9s par l'entreprise - sur ventes de produits interm\u00e9diaires": {},
- "7094-Rabais, remises et ristournes accord\u00e9s par l'entreprise - sur travaux": {},
- "7095-Rabais, remises et ristournes accord\u00e9s par l'entreprise - sur \u00e9tudes": {},
- "7096-Rabais, remises et ristournes accord\u00e9s par l'entreprise - sur prestations de services": {},
- "7097-Rabais, remises et ristournes accord\u00e9s par l'entreprise - sur ventes de marchandises": {},
+ "7091-Rabais, remises et ristournes accord\u00e9s par l'entreprise - sur ventes de produits finis": {},
+ "7092-Rabais, remises et ristournes accord\u00e9s par l'entreprise - sur ventes de produits interm\u00e9diaires": {},
+ "7094-Rabais, remises et ristournes accord\u00e9s par l'entreprise - sur travaux": {},
+ "7095-Rabais, remises et ristournes accord\u00e9s par l'entreprise - sur \u00e9tudes": {},
+ "7096-Rabais, remises et ristournes accord\u00e9s par l'entreprise - sur prestations de services": {},
+ "7097-Rabais, remises et ristournes accord\u00e9s par l'entreprise - sur ventes de marchandises": {},
"7098-Rabais, remises et ristournes accord\u00e9s par l'entreprise - sur produits des activit\u00e9s annexes": {}
}
- },
+ },
"71-Production stock\u00e9e (ou d\u00e9stockage)": {
"713-Variation des stocks (en-cours de production, produits)": {
"7133-Variation des en-cours de production de biens": {
- "71331-Produits en cours": {},
+ "71331-Produits en cours": {},
"71335-Travaux en cours": {}
- },
+ },
"7134-Variation des en-cours de production de services": {
- "71341-Etudes en cours": {},
+ "71341-Etudes en cours": {},
"71345-Prestations de services en cours": {}
- },
+ },
"7135-Variation des stocks de produits": {
- "71351-Produits interm\u00e9diaires": {},
- "71355-Produits finis": {},
+ "71351-Produits interm\u00e9diaires": {},
+ "71355-Produits finis": {},
"71358-Produits r\u00e9siduels": {}
}
}
- },
+ },
"72-Production immobilis\u00e9e": {
- "721-Immobilisations incorporelles": {},
+ "721-Immobilisations incorporelles": {},
"722-Immobilisations corporelles": {}
- },
+ },
"74-Subventions d'exploitation": {
"is_group": 1
- },
+ },
"75-Autres produits de gestion courante": {
"751-Redevances pour concessions, brevets, licences, marques, proc\u00e9d\u00e9s, logiciels, droits et valeurs similaires": {
- "7511-Redevances pour concessions, brevets, licences, marques, proc\u00e9d\u00e9s, logiciels": {},
- "7516-Droits d'auteur et de reproduction": {},
+ "7511-Redevances pour concessions, brevets, licences, marques, proc\u00e9d\u00e9s, logiciels": {},
+ "7516-Droits d'auteur et de reproduction": {},
"7518-Autres droits et valeurs similaires": {}
- },
- "752-Revenus des immeubles non affect\u00e9s aux activit\u00e9s professionnelles": {},
- "753-Jetons de pr\u00e9sence et r\u00e9mun\u00e9rations d'administrateurs, g\u00e9rants...": {},
- "754-Ristournes per\u00e7ues des coop\u00e9ratives (provenant des exc\u00e9dents)": {},
+ },
+ "752-Revenus des immeubles non affect\u00e9s aux activit\u00e9s professionnelles": {},
+ "753-Jetons de pr\u00e9sence et r\u00e9mun\u00e9rations d'administrateurs, g\u00e9rants...": {},
+ "754-Ristournes per\u00e7ues des coop\u00e9ratives (provenant des exc\u00e9dents)": {},
"755-Quotes-parts de r\u00e9sultats sur op\u00e9rations faites en commun": {
- "7551-Quote-part de perte transf\u00e9r\u00e9e (comptabilit\u00e9 du g\u00e9rant)": {},
+ "7551-Quote-part de perte transf\u00e9r\u00e9e (comptabilit\u00e9 du g\u00e9rant)": {},
"7555-Quote-part de b\u00e9n\u00e9fice attribu\u00e9 (comptabilit\u00e9 des associ\u00e9s non g\u00e9rants)": {}
- },
- "756-Gains de change sur cr\u00e9ances et dettes commerciales": {},
+ },
+ "756-Gains de change sur cr\u00e9ances et dettes commerciales": {},
"758-Produits divers de gestion courante": {}
- },
+ },
"76-Produits financiers": {
"761-Produits de participations": {
- "7611-Revenus des titres de participation": {},
- "7612-Produits de la fiducie, r\u00e9sultat de la p\u00e9riode": {},
- "7616-Revenus sur autres formes de participation": {},
+ "7611-Revenus des titres de participation": {},
+ "7612-Produits de la fiducie, r\u00e9sultat de la p\u00e9riode": {},
+ "7616-Revenus sur autres formes de participation": {},
"7617-Revenus des cr\u00e9ances rattach\u00e9es \u00e0 des participations": {}
- },
+ },
"762-Produits des autres immobilisations financi\u00e8res": {
- "7621-Revenus des titres immobilis\u00e9s": {},
- "7626-Revenus des pr\u00eats": {},
+ "7621-Revenus des titres immobilis\u00e9s": {},
+ "7626-Revenus des pr\u00eats": {},
"7627-Revenus des cr\u00e9ances immobilis\u00e9es": {}
- },
+ },
"763-Revenus des autres cr\u00e9ances": {
- "7631-Revenus des cr\u00e9ances commerciales": {},
+ "7631-Revenus des cr\u00e9ances commerciales": {},
"7638-Revenus des cr\u00e9ances diverses": {}
- },
- "764-Revenus des valeurs mobili\u00e8res de placement": {},
- "765-Escomptes obtenus": {},
+ },
+ "764-Revenus des valeurs mobili\u00e8res de placement": {},
+ "765-Escomptes obtenus": {},
"766-Gains de change financi\u00e8res": {
"account_type": "Round Off"
- },
- "767-Produits nets sur cessions de valeurs mobili\u00e8res de placement": {},
+ },
+ "767-Produits nets sur cessions de valeurs mobili\u00e8res de placement": {},
"768-Autres produits financiers": {}
- },
+ },
"77-Produits exceptionnels": {
"771-Produits exceptionnels sur op\u00e9rations de gestion": {
- "7711-D\u00e9dits et p\u00e9nalit\u00e9s per\u00e7us sur achats et sur ventes": {},
- "7713-Lib\u00e9ralit\u00e9s re\u00e7ues": {},
- "7714-Rentr\u00e9es sur cr\u00e9ances amorties": {},
- "7715-Subventions d'\u00e9quilibre": {},
- "7717-D\u00e9gr\u00e8vements d'imp\u00f4ts autres qu'imp\u00f4ts sur les b\u00e9n\u00e9fices": {},
+ "7711-D\u00e9dits et p\u00e9nalit\u00e9s per\u00e7us sur achats et sur ventes": {},
+ "7713-Lib\u00e9ralit\u00e9s re\u00e7ues": {},
+ "7714-Rentr\u00e9es sur cr\u00e9ances amorties": {},
+ "7715-Subventions d'\u00e9quilibre": {},
+ "7717-D\u00e9gr\u00e8vements d'imp\u00f4ts autres qu'imp\u00f4ts sur les b\u00e9n\u00e9fices": {},
"7718-Autres produits exceptionnels sur op\u00e9rations de gestion": {}
- },
- "772-(Compte \u00e0 la disposition des entit\u00e9s pour enregistrer, en cours d'exercice, les Produits sur exercices ant\u00e9rieurs)": {},
+ },
+ "772-(Compte \u00e0 la disposition des entit\u00e9s pour enregistrer, en cours d'exercice, les Produits sur exercices ant\u00e9rieurs)": {},
"774-Op\u00e9rations de constitution ou liquidation des fiducies": {
- "7741-Op\u00e9rations li\u00e9es \u00e0 la constitution de la fiducie - transfert des \u00e9l\u00e9ments": {},
+ "7741-Op\u00e9rations li\u00e9es \u00e0 la constitution de la fiducie - transfert des \u00e9l\u00e9ments": {},
"7742-Op\u00e9rations li\u00e9es \u00e0 la liquidation de la fiducie": {}
- },
+ },
"775-Produits des cessions d'\u00e9l\u00e9ments d'actif": {
- "7751-Immobilisations incorporelles": {},
- "7752-Immobilisations corporelles": {},
- "7756-Immobilisations financi\u00e8res": {},
+ "7751-Immobilisations incorporelles": {},
+ "7752-Immobilisations corporelles": {},
+ "7756-Immobilisations financi\u00e8res": {},
"7758-Autres \u00e9l\u00e9ments d'actif": {}
- },
- "777-Quote-part des subventions d'investissement vir\u00e9e au r\u00e9sultat de l'exercice": {},
+ },
+ "777-Quote-part des subventions d'investissement vir\u00e9e au r\u00e9sultat de l'exercice": {},
"778-Autres produits exceptionnels": {
- "7781-Bonis provenant de clauses d'indexation": {},
- "7782-Lots": {},
- "7783-Bonis provenant du rachat par l'entreprise d'actions et d'obligations \u00e9mises par elle-m\u00eame": {},
+ "7781-Bonis provenant de clauses d'indexation": {},
+ "7782-Lots": {},
+ "7783-Bonis provenant du rachat par l'entreprise d'actions et d'obligations \u00e9mises par elle-m\u00eame": {},
"7788-Produits exceptionnels divers": {}
}
- },
+ },
"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": {
- "78111-Immobilisations incorporelles": {},
+ "78111-Immobilisations incorporelles": {},
"78112-Immobilisations corporelles": {}
- },
- "7815-Reprises sur provisions d'exploitation": {},
+ },
+ "7815-Reprises sur provisions d'exploitation": {},
"7816-Reprises sur d\u00e9pr\u00e9ciations des immobilisations corporelles et incorporelles": {
- "78161-Immobilisations incorporelles": {},
+ "78161-Immobilisations incorporelles": {},
"78162-Immobilisations corporelles": {}
- },
+ },
"7817-Reprises sur d\u00e9pr\u00e9ciations des actifs circulants": {
- "78173-Stocks et en-cours": {},
+ "78173-Stocks et en-cours": {},
"78174-Cr\u00e9ances": {}
}
- },
+ },
"786-Reprises sur d\u00e9pr\u00e9ciations et provisions (\u00e0 inscrire dans les produits financiers)": {
- "7865-Reprises sur provisions financi\u00e8res": {},
+ "7865-Reprises sur provisions financi\u00e8res": {},
"7866-Reprises sur d\u00e9pr\u00e9ciations des \u00e9l\u00e9ments financiers": {
- "78662-Immobilisations financi\u00e8res": {},
+ "78662-Immobilisations financi\u00e8res": {},
"78665-Valeurs mobili\u00e8res de placement": {}
}
- },
+ },
"787-Reprises sur d\u00e9pr\u00e9ciations et provisions (\u00e0 inscrire dans les produits exceptionnels)": {
"7872-Reprises sur provisions r\u00e9glement\u00e9es (immobilisations)": {
- "78725-Amortissements d\u00e9rogatoires": {},
- "78726-Provision sp\u00e9ciale de r\u00e9\u00e9valuation": {},
+ "78725-Amortissements d\u00e9rogatoires": {},
+ "78726-Provision sp\u00e9ciale de r\u00e9\u00e9valuation": {},
"78727-Plus-values r\u00e9investies": {}
- },
- "7873-Reprises sur provisions r\u00e9glement\u00e9es (stocks)": {},
- "7874-Reprises sur autres provisions r\u00e9glement\u00e9es": {},
- "7875-Reprises sur provisions exceptionnelles": {},
+ },
+ "7873-Reprises sur provisions r\u00e9glement\u00e9es (stocks)": {},
+ "7874-Reprises sur autres provisions r\u00e9glement\u00e9es": {},
+ "7875-Reprises sur provisions exceptionnelles": {},
"7876-Reprises sur d\u00e9pr\u00e9ciations exceptionnelles": {}
}
- },
+ },
"79-Transferts de charges": {
- "791-Transferts de charges d'exploitation": {},
- "796-Transferts de charges financi\u00e8res": {},
+ "791-Transferts de charges d'exploitation": {},
+ "796-Transferts de charges financi\u00e8res": {},
"797-Transferts de charges exceptionnelles": {}
- },
+ },
"root_type": "Income"
}
}
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 0000000..b667379
--- /dev/null
+++ b/erpnext/accounts/doctype/account/chart_of_accounts/verified/fr_plan_comptable_general_avec_code.json
@@ -0,0 +1,3144 @@
+{
+ "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"
+ },
+ "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"
+ }
+ }
+}
\ No newline at end of file
diff --git a/erpnext/accounts/doctype/accounts_settings/accounts_settings.py b/erpnext/accounts/doctype/accounts_settings/accounts_settings.py
index 5593466..4d33880 100644
--- a/erpnext/accounts/doctype/accounts_settings/accounts_settings.py
+++ b/erpnext/accounts/doctype/accounts_settings/accounts_settings.py
@@ -30,5 +30,5 @@
def enable_payment_schedule_in_print(self):
show_in_print = cint(self.show_payment_schedule_in_print)
for doctype in ("Sales Order", "Sales Invoice", "Purchase Order", "Purchase Invoice"):
- make_property_setter(doctype, "due_date", "print_hide", show_in_print, "Check")
- make_property_setter(doctype, "payment_schedule", "print_hide", 0 if show_in_print else 1, "Check")
+ make_property_setter(doctype, "due_date", "print_hide", show_in_print, "Check", validate_fields_for_doctype=False)
+ make_property_setter(doctype, "payment_schedule", "print_hide", 0 if show_in_print else 1, "Check", validate_fields_for_doctype=False)
diff --git a/erpnext/accounts/doctype/payment_entry/payment_entry.js b/erpnext/accounts/doctype/payment_entry/payment_entry.js
index 830a7f2..b80e8ad 100644
--- a/erpnext/accounts/doctype/payment_entry/payment_entry.js
+++ b/erpnext/accounts/doctype/payment_entry/payment_entry.js
@@ -561,7 +561,7 @@
flt(frm.doc.received_amount) * flt(frm.doc.target_exchange_rate));
if(frm.doc.payment_type == "Pay")
- frm.events.allocate_party_amount_against_ref_docs(frm, frm.doc.received_amount);
+ frm.events.allocate_party_amount_against_ref_docs(frm, frm.doc.received_amount, 1);
else
frm.events.set_unallocated_amount(frm);
diff --git a/erpnext/accounts/doctype/payment_reconciliation/payment_reconciliation.js b/erpnext/accounts/doctype/payment_reconciliation/payment_reconciliation.js
index 08103184..d1523cd 100644
--- a/erpnext/accounts/doctype/payment_reconciliation/payment_reconciliation.js
+++ b/erpnext/accounts/doctype/payment_reconciliation/payment_reconciliation.js
@@ -234,7 +234,7 @@
});
if (invoices) {
- this.frm.fields_dict.payment.grid.update_docfield_property(
+ this.frm.fields_dict.payments.grid.update_docfield_property(
'invoice_number', 'options', "\n" + invoices.join("\n")
);
diff --git a/erpnext/accounts/doctype/payment_schedule/payment_schedule.json b/erpnext/accounts/doctype/payment_schedule/payment_schedule.json
index e362566..6ed7a31 100644
--- a/erpnext/accounts/doctype/payment_schedule/payment_schedule.json
+++ b/erpnext/accounts/doctype/payment_schedule/payment_schedule.json
@@ -20,10 +20,11 @@
"discount",
"section_break_9",
"payment_amount",
+ "outstanding",
+ "paid_amount",
"discounted_amount",
"column_break_3",
- "outstanding",
- "paid_amount"
+ "base_payment_amount"
],
"fields": [
{
@@ -78,7 +79,8 @@
"depends_on": "paid_amount",
"fieldname": "paid_amount",
"fieldtype": "Currency",
- "label": "Paid Amount"
+ "label": "Paid Amount",
+ "options": "currency"
},
{
"fieldname": "column_break_3",
@@ -97,6 +99,7 @@
"fieldname": "outstanding",
"fieldtype": "Currency",
"label": "Outstanding",
+ "options": "currency",
"read_only": 1
},
{
@@ -145,12 +148,18 @@
{
"fieldname": "section_break_4",
"fieldtype": "Section Break"
+ },
+ {
+ "fieldname": "base_payment_amount",
+ "fieldtype": "Currency",
+ "label": "Payment Amount (Company Currency)",
+ "options": "Company:company:default_currency"
}
],
"index_web_pages_for_search": 1,
"istable": 1,
"links": [],
- "modified": "2021-02-15 21:03:12.540546",
+ "modified": "2021-04-28 05:41:35.084233",
"modified_by": "Administrator",
"module": "Accounts",
"name": "Payment Schedule",
diff --git a/erpnext/accounts/doctype/period_closing_voucher/period_closing_voucher.py b/erpnext/accounts/doctype/period_closing_voucher/period_closing_voucher.py
index a74fa06..fdb4f6f 100644
--- a/erpnext/accounts/doctype/period_closing_voucher/period_closing_voucher.py
+++ b/erpnext/accounts/doctype/period_closing_voucher/period_closing_voucher.py
@@ -102,14 +102,14 @@
make_gl_entries(gl_entries)
def get_pl_balances(self, dimension_fields):
- """Get balance for pl accounts"""
+ """Get balance for Profit and Loss accounts, only including valid transactions (not cancelled)"""
return frappe.db.sql("""
select
t1.account, t2.account_currency, {dimension_fields},
sum(t1.debit_in_account_currency) - sum(t1.credit_in_account_currency) as balance_in_account_currency,
sum(t1.debit) - sum(t1.credit) as balance_in_company_currency
from `tabGL Entry` t1, `tabAccount` t2
- where t1.account = t2.name and t2.report_type = 'Profit and Loss'
+ where t1.is_cancelled = 0 and t1.account = t2.name and t2.report_type = 'Profit and Loss'
and t2.docstatus < 2 and t2.company = %s
and t1.posting_date between %s and %s
group by t1.account, {dimension_fields}
diff --git a/erpnext/accounts/doctype/pos_closing_entry/pos_closing_entry.js b/erpnext/accounts/doctype/pos_closing_entry/pos_closing_entry.js
index 9ea616f..aa0c53e 100644
--- a/erpnext/accounts/doctype/pos_closing_entry/pos_closing_entry.js
+++ b/erpnext/accounts/doctype/pos_closing_entry/pos_closing_entry.js
@@ -22,7 +22,43 @@
});
if (frm.doc.docstatus === 0 && !frm.doc.amended_from) frm.set_value("period_end_date", frappe.datetime.now_datetime());
- if (frm.doc.docstatus === 1) set_html_data(frm);
+
+ frappe.realtime.on('closing_process_complete', async function(data) {
+ await frm.reload_doc();
+ if (frm.doc.status == 'Failed' && frm.doc.error_message && data.user == frappe.session.user) {
+ frappe.msgprint({
+ title: __('POS Closing Failed'),
+ message: frm.doc.error_message,
+ indicator: 'orange',
+ clear: true
+ });
+ }
+ });
+
+ set_html_data(frm);
+ },
+
+ refresh: function(frm) {
+ if (frm.doc.docstatus == 1 && frm.doc.status == 'Failed') {
+ const issue = '<a id="jump_to_error" style="text-decoration: underline;">issue</a>';
+ frm.dashboard.set_headline(
+ __('POS Closing failed while running in a background process. You can resolve the {0} and retry the process again.', [issue]));
+
+ $('#jump_to_error').on('click', (e) => {
+ e.preventDefault();
+ frappe.utils.scroll_to(
+ cur_frm.get_field("error_message").$wrapper,
+ true,
+ 30
+ );
+ });
+
+ frm.add_custom_button(__('Retry'), function () {
+ frm.call('retry', {}, () => {
+ frm.reload_doc();
+ });
+ });
+ }
},
pos_opening_entry(frm) {
@@ -61,44 +97,24 @@
refresh_fields(frm);
set_html_data(frm);
}
- })
+ });
+ },
+
+ before_save: function(frm) {
+ for (let row of frm.doc.pos_transactions) {
+ frappe.db.get_doc("POS Invoice", row.pos_invoice).then(doc => {
+ cur_frm.doc.grand_total -= flt(doc.grand_total);
+ cur_frm.doc.net_total -= flt(doc.net_total);
+ cur_frm.doc.total_quantity -= flt(doc.total_qty);
+ refresh_payments(doc, cur_frm, 1);
+ refresh_taxes(doc, cur_frm, 1);
+ refresh_fields(cur_frm);
+ set_html_data(cur_frm);
+ });
+ }
}
});
-cur_frm.cscript.before_pos_transactions_remove = function(doc, cdt, cdn) {
- const removed_row = locals[cdt][cdn];
-
- if (!removed_row.pos_invoice) return;
-
- frappe.db.get_doc("POS Invoice", removed_row.pos_invoice).then(doc => {
- cur_frm.doc.grand_total -= flt(doc.grand_total);
- cur_frm.doc.net_total -= flt(doc.net_total);
- cur_frm.doc.total_quantity -= flt(doc.total_qty);
- refresh_payments(doc, cur_frm, 1);
- refresh_taxes(doc, cur_frm, 1);
- refresh_fields(cur_frm);
- set_html_data(cur_frm);
- });
-}
-
-frappe.ui.form.on('POS Invoice Reference', {
- pos_invoice(frm, cdt, cdn) {
- const added_row = locals[cdt][cdn];
-
- if (!added_row.pos_invoice) return;
-
- frappe.db.get_doc("POS Invoice", added_row.pos_invoice).then(doc => {
- frm.doc.grand_total += flt(doc.grand_total);
- frm.doc.net_total += flt(doc.net_total);
- frm.doc.total_quantity += flt(doc.total_qty);
- refresh_payments(doc, frm);
- refresh_taxes(doc, frm);
- refresh_fields(frm);
- set_html_data(frm);
- });
- }
-})
-
frappe.ui.form.on('POS Closing Entry Detail', {
closing_amount: (frm, cdt, cdn) => {
const row = locals[cdt][cdn];
@@ -177,11 +193,13 @@
}
function set_html_data(frm) {
- frappe.call({
- method: "get_payment_reconciliation_details",
- doc: frm.doc,
- callback: (r) => {
- frm.get_field("payment_reconciliation_details").$wrapper.html(r.message);
- }
- })
+ if (frm.doc.docstatus === 1 && frm.doc.status == 'Submitted') {
+ frappe.call({
+ method: "get_payment_reconciliation_details",
+ doc: frm.doc,
+ callback: (r) => {
+ frm.get_field("payment_reconciliation_details").$wrapper.html(r.message);
+ }
+ });
+ }
}
diff --git a/erpnext/accounts/doctype/pos_closing_entry/pos_closing_entry.json b/erpnext/accounts/doctype/pos_closing_entry/pos_closing_entry.json
index a9b91e0..4d6e4a2 100644
--- a/erpnext/accounts/doctype/pos_closing_entry/pos_closing_entry.json
+++ b/erpnext/accounts/doctype/pos_closing_entry/pos_closing_entry.json
@@ -30,6 +30,8 @@
"total_quantity",
"column_break_16",
"taxes",
+ "failure_description_section",
+ "error_message",
"section_break_14",
"amended_from"
],
@@ -195,7 +197,7 @@
"fieldtype": "Select",
"hidden": 1,
"label": "Status",
- "options": "Draft\nSubmitted\nQueued\nCancelled",
+ "options": "Draft\nSubmitted\nQueued\nFailed\nCancelled",
"print_hide": 1,
"read_only": 1
},
@@ -203,6 +205,21 @@
"fieldname": "period_details_section",
"fieldtype": "Section Break",
"label": "Period Details"
+ },
+ {
+ "collapsible": 1,
+ "collapsible_depends_on": "error_message",
+ "depends_on": "error_message",
+ "fieldname": "failure_description_section",
+ "fieldtype": "Section Break",
+ "label": "Failure Description"
+ },
+ {
+ "depends_on": "error_message",
+ "fieldname": "error_message",
+ "fieldtype": "Small Text",
+ "label": "Error",
+ "read_only": 1
}
],
"is_submittable": 1,
@@ -212,7 +229,7 @@
"link_fieldname": "pos_closing_entry"
}
],
- "modified": "2021-02-01 13:47:20.722104",
+ "modified": "2021-05-05 16:59:49.723261",
"modified_by": "Administrator",
"module": "Accounts",
"name": "POS Closing Entry",
diff --git a/erpnext/accounts/doctype/pos_closing_entry/pos_closing_entry.py b/erpnext/accounts/doctype/pos_closing_entry/pos_closing_entry.py
index 1065168..8252872 100644
--- a/erpnext/accounts/doctype/pos_closing_entry/pos_closing_entry.py
+++ b/erpnext/accounts/doctype/pos_closing_entry/pos_closing_entry.py
@@ -60,6 +60,10 @@
def on_cancel(self):
unconsolidate_pos_invoices(closing_entry=self)
+ @frappe.whitelist()
+ def retry(self):
+ consolidate_pos_invoices(closing_entry=self)
+
def update_opening_entry(self, for_cancel=False):
opening_entry = frappe.get_doc("POS Opening Entry", self.pos_opening_entry)
opening_entry.pos_closing_entry = self.name if not for_cancel else None
diff --git a/erpnext/accounts/doctype/pos_closing_entry/pos_closing_entry_list.js b/erpnext/accounts/doctype/pos_closing_entry/pos_closing_entry_list.js
index 20fd610..cffeb4d 100644
--- a/erpnext/accounts/doctype/pos_closing_entry/pos_closing_entry_list.js
+++ b/erpnext/accounts/doctype/pos_closing_entry/pos_closing_entry_list.js
@@ -8,6 +8,7 @@
"Draft": "red",
"Submitted": "blue",
"Queued": "orange",
+ "Failed": "red",
"Cancelled": "red"
};
diff --git a/erpnext/accounts/doctype/pos_invoice_merge_log/pos_invoice_merge_log.py b/erpnext/accounts/doctype/pos_invoice_merge_log/pos_invoice_merge_log.py
index 6d2cffc..bc78743 100644
--- a/erpnext/accounts/doctype/pos_invoice_merge_log/pos_invoice_merge_log.py
+++ b/erpnext/accounts/doctype/pos_invoice_merge_log/pos_invoice_merge_log.py
@@ -13,8 +13,7 @@
from frappe.utils.scheduler import is_scheduler_inactive
from frappe.core.page.background_jobs.background_jobs import get_info
import json
-
-from six import iteritems
+import six
class POSInvoiceMergeLog(Document):
def validate(self):
@@ -235,11 +234,11 @@
return pos_invoice_customer_map
-def consolidate_pos_invoices(pos_invoices=[], closing_entry={}):
- invoices = pos_invoices or closing_entry.get('pos_transactions') or get_all_unconsolidated_invoices()
+def consolidate_pos_invoices(pos_invoices=None, closing_entry=None):
+ invoices = pos_invoices or (closing_entry and closing_entry.get('pos_transactions')) or get_all_unconsolidated_invoices()
invoice_by_customer = get_invoice_customer_map(invoices)
- if len(invoices) >= 5 and closing_entry:
+ if len(invoices) >= 10 and closing_entry:
closing_entry.set_status(update=True, status='Queued')
enqueue_job(create_merge_logs, invoice_by_customer=invoice_by_customer, closing_entry=closing_entry)
else:
@@ -252,51 +251,83 @@
pluck='name'
)
- if len(merge_logs) >= 5:
+ if len(merge_logs) >= 10:
closing_entry.set_status(update=True, status='Queued')
enqueue_job(cancel_merge_logs, merge_logs=merge_logs, closing_entry=closing_entry)
else:
cancel_merge_logs(merge_logs, closing_entry)
-def create_merge_logs(invoice_by_customer, closing_entry={}):
- for customer, invoices in iteritems(invoice_by_customer):
- merge_log = frappe.new_doc('POS Invoice Merge Log')
- merge_log.posting_date = getdate(closing_entry.get('posting_date'))
- merge_log.customer = customer
- merge_log.pos_closing_entry = closing_entry.get('name', None)
+def create_merge_logs(invoice_by_customer, closing_entry=None):
+ try:
+ for customer, invoices in six.iteritems(invoice_by_customer):
+ merge_log = frappe.new_doc('POS Invoice Merge Log')
+ merge_log.posting_date = getdate(closing_entry.get('posting_date')) if closing_entry else nowdate()
+ merge_log.customer = customer
+ merge_log.pos_closing_entry = closing_entry.get('name') if closing_entry else None
- merge_log.set('pos_invoices', invoices)
- merge_log.save(ignore_permissions=True)
- merge_log.submit()
+ merge_log.set('pos_invoices', invoices)
+ merge_log.save(ignore_permissions=True)
+ merge_log.submit()
- if closing_entry:
- closing_entry.set_status(update=True, status='Submitted')
- closing_entry.update_opening_entry()
+ if closing_entry:
+ closing_entry.set_status(update=True, status='Submitted')
+ closing_entry.db_set('error_message', '')
+ closing_entry.update_opening_entry()
-def cancel_merge_logs(merge_logs, closing_entry={}):
- for log in merge_logs:
- merge_log = frappe.get_doc('POS Invoice Merge Log', log)
- merge_log.flags.ignore_permissions = True
- merge_log.cancel()
+ except Exception:
+ frappe.db.rollback()
+ message_log = frappe.message_log.pop()
+ error_message = safe_load_json(message_log)
- if closing_entry:
- closing_entry.set_status(update=True, status='Cancelled')
- closing_entry.update_opening_entry(for_cancel=True)
+ if closing_entry:
+ closing_entry.set_status(update=True, status='Failed')
+ closing_entry.db_set('error_message', error_message)
+ raise
-def enqueue_job(job, merge_logs=None, invoice_by_customer=None, closing_entry=None):
+ finally:
+ frappe.db.commit()
+ frappe.publish_realtime('closing_process_complete', {'user': frappe.session.user})
+
+def cancel_merge_logs(merge_logs, closing_entry=None):
+ try:
+ for log in merge_logs:
+ merge_log = frappe.get_doc('POS Invoice Merge Log', log)
+ merge_log.flags.ignore_permissions = True
+ merge_log.cancel()
+
+ if closing_entry:
+ closing_entry.set_status(update=True, status='Cancelled')
+ closing_entry.db_set('error_message', '')
+ closing_entry.update_opening_entry(for_cancel=True)
+
+ except Exception:
+ frappe.db.rollback()
+ message_log = frappe.message_log.pop()
+ error_message = safe_load_json(message_log)
+
+ if closing_entry:
+ closing_entry.set_status(update=True, status='Submitted')
+ closing_entry.db_set('error_message', error_message)
+ raise
+
+ finally:
+ frappe.db.commit()
+ frappe.publish_realtime('closing_process_complete', {'user': frappe.session.user})
+
+def enqueue_job(job, **kwargs):
check_scheduler_status()
+ closing_entry = kwargs.get('closing_entry') or {}
+
job_name = closing_entry.get("name")
if not job_already_enqueued(job_name):
enqueue(
job,
+ **kwargs,
queue="long",
timeout=10000,
event="processing_merge_logs",
job_name=job_name,
- closing_entry=closing_entry,
- invoice_by_customer=invoice_by_customer,
- merge_logs=merge_logs,
now=frappe.conf.developer_mode or frappe.flags.in_test
)
@@ -314,4 +345,14 @@
def job_already_enqueued(job_name):
enqueued_jobs = [d.get("job_name") for d in get_info()]
if job_name in enqueued_jobs:
- return True
\ No newline at end of file
+ return True
+
+def safe_load_json(message):
+ JSONDecodeError = ValueError if six.PY2 else json.JSONDecodeError
+
+ try:
+ json_message = json.loads(message).get('message')
+ except JSONDecodeError:
+ json_message = message
+
+ return json_message
\ No newline at end of file
diff --git a/erpnext/accounts/doctype/process_statement_of_accounts/process_statement_of_accounts.html b/erpnext/accounts/doctype/process_statement_of_accounts/process_statement_of_accounts.html
index b3aca53..f44d595 100644
--- a/erpnext/accounts/doctype/process_statement_of_accounts/process_statement_of_accounts.html
+++ b/erpnext/accounts/doctype/process_statement_of_accounts/process_statement_of_accounts.html
@@ -102,7 +102,6 @@
</tbody>
</table>
{% endif %}
-<!-- <p class="text-right text-muted">Printed On {{ frappe.format(frappe.utils.get_datetime(), 'Datetime') }}</p> -->
{% if terms_and_conditions %}
<div>
{{ terms_and_conditions }}
diff --git a/erpnext/accounts/doctype/process_statement_of_accounts/process_statement_of_accounts.py b/erpnext/accounts/doctype/process_statement_of_accounts/process_statement_of_accounts.py
index c388669..01157d6 100644
--- a/erpnext/accounts/doctype/process_statement_of_accounts/process_statement_of_accounts.py
+++ b/erpnext/accounts/doctype/process_statement_of_accounts/process_statement_of_accounts.py
@@ -40,7 +40,7 @@
def get_report_pdf(doc, consolidated=True):
statement_dict = {}
- aging = ''
+ ageing = ''
base_template_path = "frappe/www/printview.html"
template_path = "erpnext/accounts/doctype/process_statement_of_accounts/process_statement_of_accounts.html"
@@ -56,11 +56,13 @@
'range4': 120,
'customer': entry.customer
})
- col1, aging = get_ageing(ageing_filters)
- aging[0]['ageing_based_on'] = doc.ageing_based_on
+ col1, ageing = get_ageing(ageing_filters)
+
+ if ageing:
+ ageing[0]['ageing_based_on'] = doc.ageing_based_on
tax_id = frappe.get_doc('Customer', entry.customer).tax_id
- presentation_currency = get_party_account_currency('Customer', entry.customer, doc.company) \
+ presentation_currency = get_party_account_currency('Customer', entry.customer, doc.company) \
or doc.currency or get_company_currency(doc.company)
if doc.letter_head:
from frappe.www.printview import get_letter_head
@@ -90,6 +92,7 @@
if len(res) == 3:
continue
+
html = frappe.render_template(template_path, \
{"filters": filters, "data": res, "aging": aging[0] if doc.include_ageing else None,
"letter_head": letter_head if doc.letter_head else None,
@@ -98,6 +101,7 @@
html = frappe.render_template(base_template_path, {"body": html, \
"css": get_print_style(), "title": "Statement For " + entry.customer})
statement_dict[entry.customer] = html
+
if not bool(statement_dict):
return False
elif consolidated:
diff --git a/erpnext/accounts/doctype/purchase_invoice/test_purchase_invoice.py b/erpnext/accounts/doctype/purchase_invoice/test_purchase_invoice.py
index 50492f5..66be11f 100644
--- a/erpnext/accounts/doctype/purchase_invoice/test_purchase_invoice.py
+++ b/erpnext/accounts/doctype/purchase_invoice/test_purchase_invoice.py
@@ -397,7 +397,7 @@
pi.update({
"payment_schedule": get_payment_terms("_Test Payment Term Template",
- pi.posting_date, pi.grand_total)
+ pi.posting_date, pi.grand_total, pi.base_grand_total)
})
pi.save()
diff --git a/erpnext/accounts/doctype/subscription/subscription.json b/erpnext/accounts/doctype/subscription/subscription.json
index e80df2a..c4e4be7 100644
--- a/erpnext/accounts/doctype/subscription/subscription.json
+++ b/erpnext/accounts/doctype/subscription/subscription.json
@@ -36,6 +36,7 @@
"additional_discount_percentage",
"additional_discount_amount",
"sb_3",
+ "submit_invoice",
"invoices",
"accounting_dimensions_section",
"cost_center",
@@ -45,9 +46,7 @@
{
"allow_on_submit": 1,
"fieldname": "cb_1",
- "fieldtype": "Column Break",
- "show_days": 1,
- "show_seconds": 1
+ "fieldtype": "Column Break"
},
{
"fieldname": "status",
@@ -55,97 +54,73 @@
"label": "Status",
"no_copy": 1,
"options": "\nTrialling\nActive\nPast Due Date\nCancelled\nUnpaid\nCompleted",
- "read_only": 1,
- "show_days": 1,
- "show_seconds": 1
+ "read_only": 1
},
{
"fieldname": "subscription_period",
"fieldtype": "Section Break",
- "label": "Subscription Period",
- "show_days": 1,
- "show_seconds": 1
+ "label": "Subscription Period"
},
{
"fieldname": "cancelation_date",
"fieldtype": "Date",
"label": "Cancelation Date",
- "read_only": 1,
- "show_days": 1,
- "show_seconds": 1
+ "read_only": 1
},
{
"allow_on_submit": 1,
"fieldname": "trial_period_start",
"fieldtype": "Date",
"label": "Trial Period Start Date",
- "set_only_once": 1,
- "show_days": 1,
- "show_seconds": 1
+ "set_only_once": 1
},
{
"depends_on": "eval:doc.trial_period_start",
"fieldname": "trial_period_end",
"fieldtype": "Date",
"label": "Trial Period End Date",
- "set_only_once": 1,
- "show_days": 1,
- "show_seconds": 1
+ "set_only_once": 1
},
{
"fieldname": "column_break_11",
- "fieldtype": "Column Break",
- "show_days": 1,
- "show_seconds": 1
+ "fieldtype": "Column Break"
},
{
"fieldname": "current_invoice_start",
"fieldtype": "Date",
"label": "Current Invoice Start Date",
- "read_only": 1,
- "show_days": 1,
- "show_seconds": 1
+ "read_only": 1
},
{
"fieldname": "current_invoice_end",
"fieldtype": "Date",
"label": "Current Invoice End Date",
- "read_only": 1,
- "show_days": 1,
- "show_seconds": 1
+ "read_only": 1
},
{
"default": "0",
"description": "Number of days that the subscriber has to pay invoices generated by this subscription",
"fieldname": "days_until_due",
"fieldtype": "Int",
- "label": "Days Until Due",
- "show_days": 1,
- "show_seconds": 1
+ "label": "Days Until Due"
},
{
"default": "0",
"fieldname": "cancel_at_period_end",
"fieldtype": "Check",
- "label": "Cancel At End Of Period",
- "show_days": 1,
- "show_seconds": 1
+ "label": "Cancel At End Of Period"
},
{
"default": "0",
"fieldname": "generate_invoice_at_period_start",
"fieldtype": "Check",
- "label": "Generate Invoice At Beginning Of Period",
- "show_days": 1,
- "show_seconds": 1
+ "label": "Generate Invoice At Beginning Of Period"
},
{
"allow_on_submit": 1,
"fieldname": "sb_4",
"fieldtype": "Section Break",
- "label": "Plans",
- "show_days": 1,
- "show_seconds": 1
+ "label": "Plans"
},
{
"allow_on_submit": 1,
@@ -153,84 +128,62 @@
"fieldtype": "Table",
"label": "Plans",
"options": "Subscription Plan Detail",
- "reqd": 1,
- "show_days": 1,
- "show_seconds": 1
+ "reqd": 1
},
{
"depends_on": "eval:['Customer', 'Supplier'].includes(doc.party_type)",
"fieldname": "sb_1",
"fieldtype": "Section Break",
- "label": "Taxes",
- "show_days": 1,
- "show_seconds": 1
+ "label": "Taxes"
},
{
"fieldname": "sb_2",
"fieldtype": "Section Break",
- "label": "Discounts",
- "show_days": 1,
- "show_seconds": 1
+ "label": "Discounts"
},
{
"fieldname": "apply_additional_discount",
"fieldtype": "Select",
"label": "Apply Additional Discount On",
- "options": "\nGrand Total\nNet Total",
- "show_days": 1,
- "show_seconds": 1
+ "options": "\nGrand Total\nNet Total"
},
{
"fieldname": "cb_2",
- "fieldtype": "Column Break",
- "show_days": 1,
- "show_seconds": 1
+ "fieldtype": "Column Break"
},
{
"fieldname": "additional_discount_percentage",
"fieldtype": "Percent",
- "label": "Additional DIscount Percentage",
- "show_days": 1,
- "show_seconds": 1
+ "label": "Additional DIscount Percentage"
},
{
"collapsible": 1,
"fieldname": "additional_discount_amount",
"fieldtype": "Currency",
- "label": "Additional DIscount Amount",
- "show_days": 1,
- "show_seconds": 1
+ "label": "Additional DIscount Amount"
},
{
"depends_on": "eval:doc.invoices",
"fieldname": "sb_3",
"fieldtype": "Section Break",
- "label": "Invoices",
- "show_days": 1,
- "show_seconds": 1
+ "label": "Invoices"
},
{
"collapsible": 1,
"fieldname": "invoices",
"fieldtype": "Table",
"label": "Invoices",
- "options": "Subscription Invoice",
- "show_days": 1,
- "show_seconds": 1
+ "options": "Subscription Invoice"
},
{
"collapsible": 1,
"fieldname": "accounting_dimensions_section",
"fieldtype": "Section Break",
- "label": "Accounting Dimensions",
- "show_days": 1,
- "show_seconds": 1
+ "label": "Accounting Dimensions"
},
{
"fieldname": "dimension_col_break",
- "fieldtype": "Column Break",
- "show_days": 1,
- "show_seconds": 1
+ "fieldtype": "Column Break"
},
{
"fieldname": "party_type",
@@ -238,9 +191,7 @@
"label": "Party Type",
"options": "DocType",
"reqd": 1,
- "set_only_once": 1,
- "show_days": 1,
- "show_seconds": 1
+ "set_only_once": 1
},
{
"fieldname": "party",
@@ -249,27 +200,21 @@
"label": "Party",
"options": "party_type",
"reqd": 1,
- "set_only_once": 1,
- "show_days": 1,
- "show_seconds": 1
+ "set_only_once": 1
},
{
"depends_on": "eval:doc.party_type === 'Customer'",
"fieldname": "sales_tax_template",
"fieldtype": "Link",
"label": "Sales Taxes and Charges Template",
- "options": "Sales Taxes and Charges Template",
- "show_days": 1,
- "show_seconds": 1
+ "options": "Sales Taxes and Charges Template"
},
{
"depends_on": "eval:doc.party_type === 'Supplier'",
"fieldname": "purchase_tax_template",
"fieldtype": "Link",
"label": "Purchase Taxes and Charges Template",
- "options": "Purchase Taxes and Charges Template",
- "show_days": 1,
- "show_seconds": 1
+ "options": "Purchase Taxes and Charges Template"
},
{
"default": "0",
@@ -277,55 +222,49 @@
"fieldname": "follow_calendar_months",
"fieldtype": "Check",
"label": "Follow Calendar Months",
- "set_only_once": 1,
- "show_days": 1,
- "show_seconds": 1
+ "set_only_once": 1
},
{
"default": "0",
"description": "New invoices will be generated as per schedule even if current invoices are unpaid or past due date",
"fieldname": "generate_new_invoices_past_due_date",
"fieldtype": "Check",
- "label": "Generate New Invoices Past Due Date",
- "show_days": 1,
- "show_seconds": 1
+ "label": "Generate New Invoices Past Due Date"
},
{
"fieldname": "end_date",
"fieldtype": "Date",
"label": "Subscription End Date",
- "set_only_once": 1,
- "show_days": 1,
- "show_seconds": 1
+ "set_only_once": 1
},
{
"fieldname": "start_date",
"fieldtype": "Date",
"label": "Subscription Start Date",
- "set_only_once": 1,
- "show_days": 1,
- "show_seconds": 1
+ "set_only_once": 1
},
{
"fieldname": "cost_center",
"fieldtype": "Link",
"label": "Cost Center",
- "options": "Cost Center",
- "show_days": 1,
- "show_seconds": 1
+ "options": "Cost Center"
},
{
"fieldname": "company",
"fieldtype": "Link",
"label": "Company",
- "options": "Company",
- "show_days": 1,
- "show_seconds": 1
+ "options": "Company"
+ },
+ {
+ "default": "1",
+ "fieldname": "submit_invoice",
+ "fieldtype": "Check",
+ "label": "Submit Invoice Automatically"
}
],
"index_web_pages_for_search": 1,
"links": [],
- "modified": "2021-02-09 15:44:20.024789",
+ "modified": "2021-04-19 15:24:27.550797",
"modified_by": "Administrator",
"module": "Accounts",
"name": "Subscription",
diff --git a/erpnext/accounts/doctype/subscription/subscription.py b/erpnext/accounts/doctype/subscription/subscription.py
index 826044a..7c4ff73 100644
--- a/erpnext/accounts/doctype/subscription/subscription.py
+++ b/erpnext/accounts/doctype/subscription/subscription.py
@@ -276,7 +276,7 @@
frappe.throw(_('Subscription End Date is mandatory to follow calendar months'))
if billing_info[0]['billing_interval'] != 'Month':
- frappe.throw('Billing Interval in Subscription Plan must be Month to follow calendar months')
+ frappe.throw(_('Billing Interval in Subscription Plan must be Month to follow calendar months'))
def after_insert(self):
# todo: deal with users who collect prepayments. Maybe a new Subscription Invoice doctype?
@@ -383,7 +383,9 @@
invoice.flags.ignore_mandatory = True
invoice.save()
- invoice.submit()
+
+ if self.submit_invoice:
+ invoice.submit()
return invoice
diff --git a/erpnext/accounts/general_ledger.py b/erpnext/accounts/general_ledger.py
index 85bff10..f1717c5 100644
--- a/erpnext/accounts/general_ledger.py
+++ b/erpnext/accounts/general_ledger.py
@@ -171,7 +171,7 @@
else:
allowance = .5
- if abs(debit_credit_diff) >= allowance:
+ if abs(debit_credit_diff) > allowance:
frappe.throw(_("Debit and Credit not equal for {0} #{1}. Difference is {2}.")
.format(gl_map[0].voucher_type, gl_map[0].voucher_no, debit_credit_diff))
diff --git a/erpnext/accounts/workspace/accounting/accounting.json b/erpnext/accounts/workspace/accounting/accounting.json
index 9ffa481..df68318 100644
--- a/erpnext/accounts/workspace/accounting/accounting.json
+++ b/erpnext/accounts/workspace/accounting/accounting.json
@@ -15,6 +15,7 @@
"hide_custom": 0,
"icon": "accounting",
"idx": 0,
+ "is_default": 0,
"is_standard": 1,
"label": "Accounting",
"links": [
@@ -625,9 +626,9 @@
"dependencies": "",
"hidden": 0,
"is_query_report": 0,
- "label": "Bank Reconciliation",
- "link_to": "bank-reconciliation",
- "link_type": "Page",
+ "label": "Bank Reconciliation Tool",
+ "link_to": "Bank Reconciliation Tool",
+ "link_type": "DocType",
"onboard": 0,
"type": "Link"
},
@@ -642,26 +643,6 @@
"type": "Link"
},
{
- "dependencies": "",
- "hidden": 0,
- "is_query_report": 0,
- "label": "Bank Statement Transaction Entry",
- "link_to": "Bank Statement Transaction Entry",
- "link_type": "DocType",
- "onboard": 0,
- "type": "Link"
- },
- {
- "dependencies": "",
- "hidden": 0,
- "is_query_report": 0,
- "label": "Bank Statement Settings",
- "link_to": "Bank Statement Settings",
- "link_type": "DocType",
- "onboard": 0,
- "type": "Link"
- },
- {
"hidden": 0,
"is_query_report": 0,
"label": "Subscription Management",
@@ -1071,7 +1052,7 @@
"type": "Link"
}
],
- "modified": "2021-03-04 00:38:35.349024",
+ "modified": "2021-05-12 11:48:01.905144",
"modified_by": "Administrator",
"module": "Accounts",
"name": "Accounting",
diff --git a/erpnext/change_log/v13/v13_2_0.md b/erpnext/change_log/v13/v13_2_0.md
new file mode 100644
index 0000000..eb9499d
--- /dev/null
+++ b/erpnext/change_log/v13/v13_2_0.md
@@ -0,0 +1,56 @@
+# Version 13.2.0 Release Notes
+
+### Features & Enhancements
+
+- Employee Hours Utilization Report ([#25209](https://github.com/frappe/erpnext/pull/25209))
+- Delayed Tasks Summary Report ([#25024](https://github.com/frappe/erpnext/pull/25024))
+- Project Profitability Report ([#24944](https://github.com/frappe/erpnext/pull/24944))
+- Timer in LMS Quiz ([#24246](https://github.com/frappe/erpnext/pull/24246))
+- Role to allow over billing, delivery, receipt ([#24854](https://github.com/frappe/erpnext/pull/24854))
+- Auto calculate distance for e-way bill generations ([#25480](https://github.com/frappe/erpnext/pull/25480))
+- Add total available stock field in PO ([#24878](https://github.com/frappe/erpnext/pull/24878))
+- Refactored Setup Taxes and Charges ([#24805](https://github.com/frappe/erpnext/pull/24805))
+- Inpatient Occupancy Table Editable for Healthcare Admin ([#24989](https://github.com/frappe/erpnext/pull/24989))
+- Added Disable Rounded Total in sales transactions ([#25362](https://github.com/frappe/erpnext/pull/25362))
+
+
+### Fixes
+
+- Incorrect GL Entry validation ([#25474](https://github.com/frappe/erpnext/pull/25474))
+- Cannot create item variants ([#25433](https://github.com/frappe/erpnext/pull/25433))
+- Leave policy in leave allocation ([#25334](https://github.com/frappe/erpnext/pull/25334))
+- Let Administrator delete company transactions ([#25300](https://github.com/frappe/erpnext/pull/25300))
+- Display reconcile tool when closing balance 0 ([#25417](https://github.com/frappe/erpnext/pull/25417))
+- Bulk Salary Structure Assignment ([#25389](https://github.com/frappe/erpnext/pull/25389))
+- Payment amount showing in foreign currency ([#25518](https://github.com/frappe/erpnext/pull/25518))
+- Commit changes to shipment status in database ([#25374](https://github.com/frappe/erpnext/pull/25374))
+- Add amend perm for loan and system manager for loan doctypes ([#25393](https://github.com/frappe/erpnext/pull/25393))
+- Cashier query in POS Opening/Closing Entry ([#25398](https://github.com/frappe/erpnext/pull/25398))
+- Apply single transaction threshold on net_total instead of supplier credit amount ([#25243](https://github.com/frappe/erpnext/pull/25243))
+- Update allocated amount after paid amount is changed in PE ([#25528](https://github.com/frappe/erpnext/pull/25528))
+- Remove non-standard module cards from Home Workspace ([#25391](https://github.com/frappe/erpnext/pull/25391))
+- Cannot scan spacebar character in pos ([#25479](https://github.com/frappe/erpnext/pull/25479))
+- Permission error after submitting exchange rate revaluation ([#25432](https://github.com/frappe/erpnext/pull/25432))
+- Equality check instead of assignment in cart ([#25372](https://github.com/frappe/erpnext/pull/25372))
+- Disable auto naming of customer during import ([#25152](https://github.com/frappe/erpnext/pull/25152))
+- Additional Salary component amount not getting set ([#25355](https://github.com/frappe/erpnext/pull/25355))
+- Round off values near to zero ([#25304](https://github.com/frappe/erpnext/pull/25304))
+- Allow to cancel loan with cancelled repayment entry ([#25508](https://github.com/frappe/erpnext/pull/25508))
+- Currency symbol in bank transaction list view ([#25336](https://github.com/frappe/erpnext/pull/25336))
+- Incorrect batch picked in subcontracted purchase receipt ([#25186](https://github.com/frappe/erpnext/pull/25186))
+- Issue in project custom status ([#25452](https://github.com/frappe/erpnext/pull/25452))
+- Shipment pickup_to, pickup_from functionality. ([#25359](https://github.com/frappe/erpnext/pull/25359))
+- Stock ledger entry created against draft stock entry ([#25539](https://github.com/frappe/erpnext/pull/25539))
+- Ageing errors in PSOA ([#25529](https://github.com/frappe/erpnext/pull/25529))
+- Permission error while adding weekly holidays ([#25450](https://github.com/frappe/erpnext/pull/25450))
+- Filter for employees in salary slip ([#25360](https://github.com/frappe/erpnext/pull/25360))
+- Backward compatibility for GSTR-1 report ([#25444](https://github.com/frappe/erpnext/pull/25444))
+- Incorrect incoming rate for the sales return ([#25145](https://github.com/frappe/erpnext/pull/25145))
+- POS print receipt ([#25328](https://github.com/frappe/erpnext/pull/25328))
+- Laboratory Module patch ([#25431](https://github.com/frappe/erpnext/pull/25431))
+- Performance: fetching exchange rate on every line item slows down PO ([#25345](https://github.com/frappe/erpnext/pull/25345))
+- Presentation currency in statement of accounts ([#25367](https://github.com/frappe/erpnext/pull/25367))
+- Serial No not updated correctly via Inter Company Stock Transfer ([#25006](https://github.com/frappe/erpnext/pull/25006))
+- Ignore Customer Group Perm on All Products page ([#25396](https://github.com/frappe/erpnext/pull/25396))
+- Change subcontracted item display ([#25425](https://github.com/frappe/erpnext/pull/25425))
+- Add company validation for e-invoicing ([#25348](https://github.com/frappe/erpnext/pull/25348))
diff --git a/erpnext/controllers/accounts_controller.py b/erpnext/controllers/accounts_controller.py
index 97bcb00..c409850 100644
--- a/erpnext/controllers/accounts_controller.py
+++ b/erpnext/controllers/accounts_controller.py
@@ -923,29 +923,34 @@
date = self.get("due_date")
due_date = date or posting_date
- if party_account_currency == self.company_currency:
- grand_total = self.get("base_rounded_total") or self.base_grand_total
- else:
- grand_total = self.get("rounded_total") or self.grand_total
+ base_grand_total = self.get("base_rounded_total") or self.base_grand_total
+ grand_total = self.get("rounded_total") or self.grand_total
if self.doctype in ("Sales Invoice", "Purchase Invoice"):
+ base_grand_total = base_grand_total - flt(self.base_write_off_amount)
grand_total = grand_total - flt(self.write_off_amount)
if self.get("total_advance"):
- grand_total -= self.get("total_advance")
+ if party_account_currency == self.company_currency:
+ base_grand_total -= self.get("total_advance")
+ grand_total = flt(base_grand_total / self.get("conversion_rate"), self.precision("grand_total"))
+ else:
+ grand_total -= self.get("total_advance")
+ base_grand_total = flt(grand_total * self.get("conversion_rate"), self.precision("base_grand_total"))
if not self.get("payment_schedule"):
if self.get("payment_terms_template"):
- data = get_payment_terms(self.payment_terms_template, posting_date, grand_total)
+ data = get_payment_terms(self.payment_terms_template, posting_date, grand_total, base_grand_total)
for item in data:
self.append("payment_schedule", item)
else:
- data = dict(due_date=due_date, invoice_portion=100, payment_amount=grand_total)
+ data = dict(due_date=due_date, invoice_portion=100, payment_amount=grand_total, base_payment_amount=base_grand_total)
self.append("payment_schedule", data)
else:
for d in self.get("payment_schedule"):
if d.invoice_portion:
d.payment_amount = flt(grand_total * flt(d.invoice_portion / 100), d.precision('payment_amount'))
+ d.base_payment_amount = flt(base_grand_total * flt(d.invoice_portion / 100), d.precision('payment_amount'))
d.outstanding = d.payment_amount
def set_due_date(self):
@@ -982,22 +987,28 @@
if self.get("payment_schedule"):
total = 0
+ base_total = 0
for d in self.get("payment_schedule"):
total += flt(d.payment_amount)
+ base_total += flt(d.base_payment_amount)
- if party_account_currency == self.company_currency:
- total = flt(total, self.precision("base_grand_total"))
- grand_total = flt(self.get("base_rounded_total") or self.base_grand_total, self.precision('base_grand_total'))
- else:
- total = flt(total, self.precision("grand_total"))
- grand_total = flt(self.get("rounded_total") or self.grand_total, self.precision('grand_total'))
-
- if self.get("total_advance"):
- grand_total -= self.get("total_advance")
+ base_grand_total = self.get("base_rounded_total") or self.base_grand_total
+ grand_total = self.get("rounded_total") or self.grand_total
if self.doctype in ("Sales Invoice", "Purchase Invoice"):
+ base_grand_total = base_grand_total - flt(self.base_write_off_amount)
grand_total = grand_total - flt(self.write_off_amount)
- if total != flt(grand_total, self.precision("grand_total")):
+
+ if self.get("total_advance"):
+ if party_account_currency == self.company_currency:
+ base_grand_total -= self.get("total_advance")
+ grand_total = flt(base_grand_total / self.get("conversion_rate"), self.precision("grand_total"))
+ else:
+ grand_total -= self.get("total_advance")
+ base_grand_total = flt(grand_total * self.get("conversion_rate"), self.precision("base_grand_total"))
+ print(grand_total, base_grand_total)
+ if total != flt(grand_total, self.precision("grand_total")) or \
+ base_total != flt(base_grand_total, self.precision("base_grand_total")):
frappe.throw(_("Total Payment Amount in Payment Schedule must be equal to Grand / Rounded Total"))
def is_rounded_total_disabled(self):
@@ -1237,7 +1248,7 @@
@frappe.whitelist()
-def get_payment_terms(terms_template, posting_date=None, grand_total=None, bill_date=None):
+def get_payment_terms(terms_template, posting_date=None, grand_total=None, base_grand_total=None, bill_date=None):
if not terms_template:
return
@@ -1245,14 +1256,14 @@
schedule = []
for d in terms_doc.get("terms"):
- term_details = get_payment_term_details(d, posting_date, grand_total, bill_date)
+ term_details = get_payment_term_details(d, posting_date, grand_total, base_grand_total, bill_date)
schedule.append(term_details)
return schedule
@frappe.whitelist()
-def get_payment_term_details(term, posting_date=None, grand_total=None, bill_date=None):
+def get_payment_term_details(term, posting_date=None, grand_total=None, base_grand_total=None, bill_date=None):
term_details = frappe._dict()
if isinstance(term, text_type):
term = frappe.get_doc("Payment Term", term)
@@ -1261,9 +1272,9 @@
term_details.description = term.description
term_details.invoice_portion = term.invoice_portion
term_details.payment_amount = flt(term.invoice_portion) * flt(grand_total) / 100
+ term_details.base_payment_amount = flt(term.invoice_portion) * flt(base_grand_total) / 100
term_details.discount_type = term.discount_type
term_details.discount = term.discount
- # term_details.discounted_amount = flt(grand_total) * (term.discount / 100) if term.discount_type == 'Percentage' else discount
term_details.outstanding = term_details.payment_amount
term_details.mode_of_payment = term.mode_of_payment
diff --git a/erpnext/controllers/status_updater.py b/erpnext/controllers/status_updater.py
index 5276da9..4bb6138 100644
--- a/erpnext/controllers/status_updater.py
+++ b/erpnext/controllers/status_updater.py
@@ -98,6 +98,7 @@
["Draft", None],
["Submitted", "eval:self.docstatus == 1"],
["Queued", "eval:self.status == 'Queued'"],
+ ["Failed", "eval:self.status == 'Failed'"],
["Cancelled", "eval:self.docstatus == 2"],
]
}
diff --git a/erpnext/education/doctype/education_settings/education_settings.py b/erpnext/education/doctype/education_settings/education_settings.py
index a85d3e7..658380e 100644
--- a/erpnext/education/doctype/education_settings/education_settings.py
+++ b/erpnext/education/doctype/education_settings/education_settings.py
@@ -31,9 +31,9 @@
def validate(self):
from frappe.custom.doctype.property_setter.property_setter import make_property_setter
if self.get('instructor_created_by')=='Naming Series':
- make_property_setter('Instructor', "naming_series", "hidden", 0, "Check")
+ make_property_setter('Instructor', "naming_series", "hidden", 0, "Check", validate_fields_for_doctype=False)
else:
- make_property_setter('Instructor', "naming_series", "hidden", 1, "Check")
+ make_property_setter('Instructor', "naming_series", "hidden", 1, "Check", validate_fields_for_doctype=False)
def update_website_context(context):
context["lms_enabled"] = frappe.get_doc("Education Settings").enable_lms
\ No newline at end of file
diff --git a/erpnext/hr/doctype/department/department.py b/erpnext/hr/doctype/department/department.py
index 2cef509..539a360 100644
--- a/erpnext/hr/doctype/department/department.py
+++ b/erpnext/hr/doctype/department/department.py
@@ -31,7 +31,8 @@
return new
def on_update(self):
- NestedSet.on_update(self)
+ if not frappe.local.flags.ignore_update_nsm:
+ super(Department, self).on_update()
def on_trash(self):
super(Department, self).on_trash()
diff --git a/erpnext/hr/doctype/employee_referral/employee_referral.json b/erpnext/hr/doctype/employee_referral/employee_referral.json
index bfd404b..3ae73a9 100644
--- a/erpnext/hr/doctype/employee_referral/employee_referral.json
+++ b/erpnext/hr/doctype/employee_referral/employee_referral.json
@@ -9,16 +9,18 @@
"first_name",
"last_name",
"full_name",
- "email",
- "contact_no",
- "resume",
- "resume_link",
"column_break_6",
"date",
"status",
"for_designation",
+ "referral_details_section",
+ "email",
+ "contact_no",
+ "resume_link",
+ "column_break_12",
"current_employer",
"current_job_title",
+ "resume",
"referrer_details_section",
"referrer",
"referrer_name",
@@ -189,12 +191,21 @@
"label": "Referral Bonus Payment Status",
"options": "\nUnpaid\nPaid",
"read_only": 1
+ },
+ {
+ "fieldname": "referral_details_section",
+ "fieldtype": "Section Break",
+ "label": "Referral Details"
+ },
+ {
+ "fieldname": "column_break_12",
+ "fieldtype": "Column Break"
}
],
"index_web_pages_for_search": 1,
"is_submittable": 1,
"links": [],
- "modified": "2021-04-26 21:21:38.094086",
+ "modified": "2021-05-04 17:03:26.134560",
"modified_by": "Administrator",
"module": "HR",
"name": "Employee Referral",
diff --git a/erpnext/hr/doctype/employee_separation/employee_separation.json b/erpnext/hr/doctype/employee_separation/employee_separation.json
index f44d830..7af20988 100644
--- a/erpnext/hr/doctype/employee_separation/employee_separation.json
+++ b/erpnext/hr/doctype/employee_separation/employee_separation.json
@@ -1,626 +1,177 @@
{
- "allow_copy": 0,
- "allow_guest_to_view": 0,
- "allow_import": 0,
- "allow_rename": 0,
- "autoname": "HR-EMP-SEP-.YYYY.-.#####",
- "beta": 0,
- "creation": "2018-05-10 02:29:16.740490",
- "custom": 0,
- "docstatus": 0,
- "doctype": "DocType",
- "document_type": "",
- "editable_grid": 1,
- "engine": "InnoDB",
+ "actions": [],
+ "autoname": "HR-EMP-SEP-.YYYY.-.#####",
+ "creation": "2018-05-10 02:29:16.740490",
+ "doctype": "DocType",
+ "editable_grid": 1,
+ "engine": "InnoDB",
+ "field_order": [
+ "employee",
+ "employee_name",
+ "department",
+ "designation",
+ "employee_grade",
+ "column_break_7",
+ "company",
+ "boarding_status",
+ "resignation_letter_date",
+ "project",
+ "table_for_activity",
+ "employee_separation_template",
+ "activities",
+ "notify_users_by_email",
+ "section_break_14",
+ "exit_interview",
+ "amended_from"
+ ],
"fields": [
{
- "allow_bulk_edit": 0,
- "allow_in_quick_entry": 0,
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "columns": 0,
- "fieldname": "employee",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "ignore_xss_filter": 0,
- "in_filter": 0,
- "in_global_search": 0,
- "in_list_view": 0,
- "in_standard_filter": 0,
- "label": "Employee",
- "length": 0,
- "no_copy": 0,
- "options": "Employee",
- "permlevel": 0,
- "precision": "",
- "print_hide": 0,
- "print_hide_if_no_value": 0,
- "read_only": 0,
- "remember_last_selected_value": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
- "translatable": 0,
- "unique": 0
- },
- {
- "allow_bulk_edit": 0,
- "allow_in_quick_entry": 0,
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "columns": 0,
- "fetch_from": "employee.employee_name",
- "fieldname": "employee_name",
- "fieldtype": "Data",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "ignore_xss_filter": 0,
- "in_filter": 0,
- "in_global_search": 0,
- "in_list_view": 1,
- "in_standard_filter": 0,
- "label": "Employee Name",
- "length": 0,
- "no_copy": 0,
- "options": "",
- "permlevel": 0,
- "precision": "",
- "print_hide": 0,
- "print_hide_if_no_value": 0,
- "read_only": 0,
- "remember_last_selected_value": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
- "translatable": 0,
- "unique": 0
- },
- {
- "allow_bulk_edit": 0,
- "allow_in_quick_entry": 0,
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "columns": 0,
- "fetch_from": "employee.resignation_letter_date",
- "fieldname": "resignation_letter_date",
- "fieldtype": "Date",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "ignore_xss_filter": 0,
- "in_filter": 0,
- "in_global_search": 0,
- "in_list_view": 1,
- "in_standard_filter": 0,
- "label": "Resignation Letter Date",
- "length": 0,
- "no_copy": 0,
- "permlevel": 0,
- "precision": "",
- "print_hide": 0,
- "print_hide_if_no_value": 0,
- "read_only": 0,
- "remember_last_selected_value": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
- "translatable": 0,
- "unique": 0
- },
- {
- "allow_bulk_edit": 0,
- "allow_in_quick_entry": 0,
- "allow_on_submit": 1,
- "bold": 0,
- "collapsible": 0,
- "columns": 0,
- "fieldname": "boarding_status",
- "fieldtype": "Select",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "ignore_xss_filter": 0,
- "in_filter": 0,
- "in_global_search": 0,
- "in_list_view": 0,
- "in_standard_filter": 0,
- "label": "Status",
- "length": 0,
- "no_copy": 0,
- "options": "\nPending\nIn Process\nCompleted",
- "permlevel": 0,
- "precision": "",
- "print_hide": 0,
- "print_hide_if_no_value": 0,
- "read_only": 0,
- "remember_last_selected_value": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
- "translatable": 0,
- "unique": 0
+ "fieldname": "employee",
+ "fieldtype": "Link",
+ "label": "Employee",
+ "options": "Employee",
+ "reqd": 1
},
{
- "allow_bulk_edit": 0,
- "allow_bulk_edit": 0,
- "allow_bulk_edit": 0,
- "allow_in_quick_entry": 0,
- "allow_in_quick_entry": 0,
- "allow_in_quick_entry": 0,
- "allow_on_submit": 1,
- "bold": 0,
- "collapsible": 0,
- "columns": 0,
- "fieldname": "notify_users_by_email",
- "fieldtype": "Check",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "ignore_xss_filter": 0,
- "in_filter": 0,
- "in_global_search": 0,
- "in_list_view": 0,
- "in_standard_filter": 0,
- "label": "Notify users by email",
- "length": 0,
- "no_copy": 0,
- "permlevel": 0,
- "precision": "",
- "print_hide": 0,
- "print_hide_if_no_value": 0,
- "read_only": 0,
- "remember_last_selected_value": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
- "translatable": 0,
- "unique": 0
- },
- {
- "allow_bulk_edit": 0,
- "allow_in_quick_entry": 0,
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "columns": 0,
- "fieldname": "column_break_7",
- "fieldtype": "Column Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "ignore_xss_filter": 0,
- "in_filter": 0,
- "in_global_search": 0,
- "in_list_view": 0,
- "in_standard_filter": 0,
- "length": 0,
- "no_copy": 0,
- "permlevel": 0,
- "precision": "",
- "print_hide": 0,
- "print_hide_if_no_value": 0,
- "read_only": 0,
- "remember_last_selected_value": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
- "translatable": 0,
- "unique": 0
- },
- {
- "allow_bulk_edit": 0,
- "allow_in_quick_entry": 0,
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "columns": 0,
- "fieldname": "employee_separation_template",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "ignore_xss_filter": 0,
- "in_filter": 0,
- "in_global_search": 0,
- "in_list_view": 0,
- "in_standard_filter": 0,
- "label": "Employee Separation Template",
- "length": 0,
- "no_copy": 0,
- "options": "Employee Separation Template",
- "permlevel": 0,
- "precision": "",
- "print_hide": 0,
- "print_hide_if_no_value": 0,
- "read_only": 0,
- "remember_last_selected_value": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
- "translatable": 0,
- "unique": 0
- },
- {
- "allow_bulk_edit": 0,
- "allow_in_quick_entry": 0,
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "columns": 0,
- "fetch_from": "employee.company",
- "fieldname": "company",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "ignore_xss_filter": 0,
- "in_filter": 0,
- "in_global_search": 0,
- "in_list_view": 0,
- "in_standard_filter": 0,
- "label": "Company",
- "length": 0,
- "no_copy": 0,
- "options": "Company",
- "permlevel": 0,
- "precision": "",
- "print_hide": 0,
- "print_hide_if_no_value": 0,
- "read_only": 0,
- "remember_last_selected_value": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
- "translatable": 0,
- "unique": 0
+ "fetch_from": "employee.employee_name",
+ "fieldname": "employee_name",
+ "fieldtype": "Data",
+ "in_list_view": 1,
+ "label": "Employee Name",
+ "read_only": 1
},
{
- "allow_bulk_edit": 0,
- "allow_in_quick_entry": 0,
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "columns": 0,
- "fieldname": "project",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "ignore_xss_filter": 0,
- "in_filter": 0,
- "in_global_search": 0,
- "in_list_view": 0,
- "in_standard_filter": 0,
- "label": "Project",
- "length": 0,
- "no_copy": 0,
- "options": "Project",
- "permlevel": 0,
- "precision": "",
- "print_hide": 0,
- "print_hide_if_no_value": 0,
- "read_only": 1,
- "remember_last_selected_value": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
- "translatable": 0,
- "unique": 0
- },
+ "fetch_from": "employee.resignation_letter_date",
+ "fieldname": "resignation_letter_date",
+ "fieldtype": "Date",
+ "in_list_view": 1,
+ "label": "Resignation Letter Date",
+ "read_only": 1
+ },
{
- "allow_bulk_edit": 0,
- "allow_in_quick_entry": 0,
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "columns": 0,
- "fetch_from": "employee.department",
- "fieldname": "department",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "ignore_xss_filter": 0,
- "in_filter": 0,
- "in_global_search": 0,
- "in_list_view": 1,
- "in_standard_filter": 0,
- "label": "Department",
- "length": 0,
- "no_copy": 0,
- "options": "Department",
- "permlevel": 0,
- "precision": "",
- "print_hide": 0,
- "print_hide_if_no_value": 0,
- "read_only": 0,
- "remember_last_selected_value": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
- "translatable": 0,
- "unique": 0
- },
+ "allow_on_submit": 1,
+ "fieldname": "boarding_status",
+ "fieldtype": "Select",
+ "label": "Status",
+ "options": "\nPending\nIn Process\nCompleted",
+ "reqd": 1
+ },
{
- "allow_bulk_edit": 0,
- "allow_in_quick_entry": 0,
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "columns": 0,
- "fetch_from": "employee.designation",
- "fieldname": "designation",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "ignore_xss_filter": 0,
- "in_filter": 0,
- "in_global_search": 0,
- "in_list_view": 1,
- "in_standard_filter": 0,
- "label": "Designation",
- "length": 0,
- "no_copy": 0,
- "options": "Designation",
- "permlevel": 0,
- "precision": "",
- "print_hide": 0,
- "print_hide_if_no_value": 0,
- "read_only": 0,
- "remember_last_selected_value": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
- "translatable": 0,
- "unique": 0
- },
+ "allow_on_submit": 1,
+ "default": "0",
+ "fieldname": "notify_users_by_email",
+ "fieldtype": "Check",
+ "label": "Notify users by email"
+ },
{
- "allow_bulk_edit": 0,
- "allow_in_quick_entry": 0,
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "columns": 0,
- "fetch_from": "employee.grade",
- "fieldname": "employee_grade",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "ignore_xss_filter": 0,
- "in_filter": 0,
- "in_global_search": 0,
- "in_list_view": 0,
- "in_standard_filter": 0,
- "label": "Employee Grade",
- "length": 0,
- "no_copy": 0,
- "options": "Employee Grade",
- "permlevel": 0,
- "precision": "",
- "print_hide": 0,
- "print_hide_if_no_value": 0,
- "read_only": 0,
- "remember_last_selected_value": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
- "translatable": 0,
- "unique": 0
- },
+ "fieldname": "column_break_7",
+ "fieldtype": "Column Break"
+ },
{
- "allow_bulk_edit": 0,
- "allow_in_quick_entry": 0,
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "columns": 0,
- "fieldname": "table_for_activity",
- "fieldtype": "Section Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "ignore_xss_filter": 0,
- "in_filter": 0,
- "in_global_search": 0,
- "in_list_view": 0,
- "in_standard_filter": 0,
- "label": "",
- "length": 0,
- "no_copy": 0,
- "permlevel": 0,
- "precision": "",
- "print_hide": 0,
- "print_hide_if_no_value": 0,
- "read_only": 0,
- "remember_last_selected_value": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
- "translatable": 0,
- "unique": 0
- },
+ "fieldname": "employee_separation_template",
+ "fieldtype": "Link",
+ "label": "Employee Separation Template",
+ "options": "Employee Separation Template"
+ },
{
- "allow_bulk_edit": 0,
- "allow_in_quick_entry": 0,
- "allow_on_submit": 1,
- "bold": 0,
- "collapsible": 0,
- "columns": 0,
- "fieldname": "activities",
- "fieldtype": "Table",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "ignore_xss_filter": 0,
- "in_filter": 0,
- "in_global_search": 0,
- "in_list_view": 0,
- "in_standard_filter": 0,
- "label": "Activities",
- "length": 0,
- "no_copy": 0,
- "options": "Employee Boarding Activity",
- "permlevel": 0,
- "precision": "",
- "print_hide": 0,
- "print_hide_if_no_value": 0,
- "read_only": 0,
- "remember_last_selected_value": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
- "translatable": 0,
- "unique": 0
- },
+ "fetch_from": "employee.company",
+ "fieldname": "company",
+ "fieldtype": "Link",
+ "label": "Company",
+ "options": "Company",
+ "reqd": 1
+ },
{
- "allow_bulk_edit": 0,
- "allow_in_quick_entry": 0,
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "columns": 0,
- "fieldname": "section_break_14",
- "fieldtype": "Section Break",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "ignore_xss_filter": 0,
- "in_filter": 0,
- "in_global_search": 0,
- "in_list_view": 0,
- "in_standard_filter": 0,
- "length": 0,
- "no_copy": 0,
- "permlevel": 0,
- "precision": "",
- "print_hide": 0,
- "print_hide_if_no_value": 0,
- "read_only": 0,
- "remember_last_selected_value": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
- "translatable": 0,
- "unique": 0
- },
+ "fieldname": "project",
+ "fieldtype": "Link",
+ "label": "Project",
+ "options": "Project",
+ "read_only": 1
+ },
{
- "allow_bulk_edit": 0,
- "allow_in_quick_entry": 0,
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "columns": 0,
- "fieldname": "exit_interview",
- "fieldtype": "Text Editor",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "ignore_xss_filter": 0,
- "in_filter": 0,
- "in_global_search": 0,
- "in_list_view": 0,
- "in_standard_filter": 0,
- "label": "Exit Interview Summary",
- "length": 0,
- "no_copy": 0,
- "permlevel": 0,
- "precision": "",
- "print_hide": 0,
- "print_hide_if_no_value": 0,
- "read_only": 0,
- "remember_last_selected_value": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
- "translatable": 0,
- "unique": 0
- },
+ "fetch_from": "employee.department",
+ "fieldname": "department",
+ "fieldtype": "Link",
+ "in_list_view": 1,
+ "label": "Department",
+ "options": "Department",
+ "read_only": 1
+ },
{
- "allow_bulk_edit": 0,
- "allow_in_quick_entry": 0,
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "columns": 0,
- "fieldname": "amended_from",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "ignore_xss_filter": 0,
- "in_filter": 0,
- "in_global_search": 0,
- "in_list_view": 0,
- "in_standard_filter": 0,
- "label": "Amended From",
- "length": 0,
- "no_copy": 1,
- "options": "Employee Separation",
- "permlevel": 0,
- "print_hide": 1,
- "print_hide_if_no_value": 0,
- "read_only": 1,
- "remember_last_selected_value": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
- "translatable": 0,
- "unique": 0
+ "fetch_from": "employee.designation",
+ "fieldname": "designation",
+ "fieldtype": "Link",
+ "in_list_view": 1,
+ "label": "Designation",
+ "options": "Designation",
+ "read_only": 1
+ },
+ {
+ "fetch_from": "employee.grade",
+ "fieldname": "employee_grade",
+ "fieldtype": "Link",
+ "label": "Employee Grade",
+ "options": "Employee Grade",
+ "read_only": 1
+ },
+ {
+ "fieldname": "table_for_activity",
+ "fieldtype": "Section Break",
+ "label": "Separation Activities"
+ },
+ {
+ "allow_on_submit": 1,
+ "fieldname": "activities",
+ "fieldtype": "Table",
+ "label": "Activities",
+ "options": "Employee Boarding Activity"
+ },
+ {
+ "fieldname": "section_break_14",
+ "fieldtype": "Section Break"
+ },
+ {
+ "fieldname": "exit_interview",
+ "fieldtype": "Text Editor",
+ "label": "Exit Interview Summary"
+ },
+ {
+ "fieldname": "amended_from",
+ "fieldtype": "Link",
+ "label": "Amended From",
+ "no_copy": 1,
+ "options": "Employee Separation",
+ "print_hide": 1,
+ "read_only": 1
}
- ],
- "has_web_view": 0,
- "hide_heading": 0,
- "hide_toolbar": 0,
- "idx": 0,
- "image_view": 0,
- "in_create": 0,
- "is_submittable": 1,
- "issingle": 0,
- "istable": 0,
- "max_attachments": 0,
- "modified": "2019-08-03 16:15:39.025898",
- "modified_by": "Administrator",
- "module": "HR",
- "name": "Employee Separation",
- "name_case": "",
- "owner": "Administrator",
+ ],
+ "is_submittable": 1,
+ "links": [],
+ "modified": "2021-04-28 15:58:36.020196",
+ "modified_by": "Administrator",
+ "module": "HR",
+ "name": "Employee Separation",
+ "owner": "Administrator",
"permissions": [
{
- "amend": 1,
- "cancel": 1,
- "create": 1,
- "delete": 1,
- "email": 1,
- "export": 1,
- "if_owner": 0,
- "import": 0,
- "permlevel": 0,
- "print": 1,
- "read": 1,
- "report": 1,
- "role": "System Manager",
- "set_user_permissions": 0,
- "share": 1,
- "submit": 1,
+ "amend": 1,
+ "cancel": 1,
+ "create": 1,
+ "delete": 1,
+ "email": 1,
+ "export": 1,
+ "print": 1,
+ "read": 1,
+ "report": 1,
+ "role": "System Manager",
+ "share": 1,
+ "submit": 1,
"write": 1
}
- ],
- "quick_entry": 1,
- "read_only": 0,
- "read_only_onload": 0,
- "show_name_in_global_search": 0,
- "sort_field": "modified",
- "sort_order": "DESC",
- "title_field": "employee_name",
- "track_changes": 1,
- "track_seen": 0,
- "track_views": 0
+ ],
+ "quick_entry": 1,
+ "sort_field": "modified",
+ "sort_order": "DESC",
+ "title_field": "employee_name",
+ "track_changes": 1
}
\ No newline at end of file
diff --git a/erpnext/hr/doctype/employee_separation/test_employee_separation.py b/erpnext/hr/doctype/employee_separation/test_employee_separation.py
index 2fa114d..713fcf5 100644
--- a/erpnext/hr/doctype/employee_separation/test_employee_separation.py
+++ b/erpnext/hr/doctype/employee_separation/test_employee_separation.py
@@ -18,7 +18,7 @@
'activity_name': 'Deactivate Employee',
'role': 'HR User'
})
- separation.status = 'Pending'
+ separation.boarding_status = 'Pending'
separation.insert()
separation.submit()
self.assertEqual(separation.docstatus, 1)
diff --git a/erpnext/hr/doctype/holiday_list/holiday_list.py b/erpnext/hr/doctype/holiday_list/holiday_list.py
index 8af8cea..f65e6e1 100644
--- a/erpnext/hr/doctype/holiday_list/holiday_list.py
+++ b/erpnext/hr/doctype/holiday_list/holiday_list.py
@@ -23,7 +23,7 @@
last_idx = max([cint(d.idx) for d in self.get("holidays")] or [0,])
for i, d in enumerate(date_list):
ch = self.append('holidays', {})
- ch.description = self.weekly_off
+ ch.description = _(self.weekly_off)
ch.holiday_date = d
ch.weekly_off = 1
ch.idx = last_idx + i + 1
diff --git a/erpnext/hr/report/employee_leave_balance_summary/employee_leave_balance_summary.py b/erpnext/hr/report/employee_leave_balance_summary/employee_leave_balance_summary.py
index 92715d3..e86fa2b 100644
--- a/erpnext/hr/report/employee_leave_balance_summary/employee_leave_balance_summary.py
+++ b/erpnext/hr/report/employee_leave_balance_summary/employee_leave_balance_summary.py
@@ -47,7 +47,7 @@
user = frappe.session.user
conditions = get_conditions(filters)
- active_employees = frappe.get_all("Employee",
+ active_employees = frappe.get_list("Employee",
filters=conditions,
fields=["name", "employee_name", "department", "user_id", "leave_approver"])
@@ -72,4 +72,4 @@
data.append(row)
- return data
\ No newline at end of file
+ return data
diff --git a/erpnext/hr/report/monthly_attendance_sheet/monthly_attendance_sheet.py b/erpnext/hr/report/monthly_attendance_sheet/monthly_attendance_sheet.py
index c5929c6..bcb0ee4 100644
--- a/erpnext/hr/report/monthly_attendance_sheet/monthly_attendance_sheet.py
+++ b/erpnext/hr/report/monthly_attendance_sheet/monthly_attendance_sheet.py
@@ -57,10 +57,10 @@
data = []
+ leave_types = frappe.db.get_list("Leave Type")
leave_list = None
if filters.summarized_view:
- leave_types = frappe.db.sql("""select name from `tabLeave Type`""", as_list=True)
- leave_list = [d[0] + ":Float:120" for d in leave_types]
+ leave_list = [d.name + ":Float:120" for d in leave_types]
columns.extend(leave_list)
columns.extend([_("Total Late Entries") + ":Float:120", _("Total Early Exits") + ":Float:120"])
@@ -72,11 +72,11 @@
if (att_map_set & emp_map_set):
parameter_row = ["<b>"+ parameter + "</b>"] + ['' for day in range(filters["total_days_in_month"] + 2)]
data.append(parameter_row)
- record, emp_att_data = add_data(emp_map[parameter], att_map, filters, holiday_map, conditions, default_holiday_list, leave_list=leave_list)
+ record, emp_att_data = add_data(emp_map[parameter], att_map, filters, holiday_map, conditions, default_holiday_list, leave_types=leave_types)
emp_att_map.update(emp_att_data)
data += record
else:
- record, emp_att_map = add_data(emp_map, att_map, filters, holiday_map, conditions, default_holiday_list, leave_list=leave_list)
+ record, emp_att_map = add_data(emp_map, att_map, filters, holiday_map, conditions, default_holiday_list, leave_types=leave_types)
data += record
chart_data = get_chart_data(emp_att_map, days)
@@ -126,7 +126,7 @@
return chart
-def add_data(employee_map, att_map, filters, holiday_map, conditions, default_holiday_list, leave_list=None):
+def add_data(employee_map, att_map, filters, holiday_map, conditions, default_holiday_list, leave_types=None):
record = []
emp_att_map = {}
@@ -204,9 +204,9 @@
else:
leaves[d.leave_type] = d.count
- for d in leave_list:
- if d in leaves:
- row.append(leaves[d])
+ for d in leave_types:
+ if d.name in leaves:
+ row.append(leaves[d.name])
else:
row.append("0.0")
diff --git a/erpnext/hr/utils.py b/erpnext/hr/utils.py
index 190eb4f..2540b3d 100644
--- a/erpnext/hr/utils.py
+++ b/erpnext/hr/utils.py
@@ -32,13 +32,15 @@
project_name += self.job_applicant
else:
project_name += self.employee
+
project = frappe.get_doc({
"doctype": "Project",
"project_name": project_name,
"expected_start_date": self.date_of_joining if self.doctype == "Employee Onboarding" else self.resignation_letter_date,
"department": self.department,
"company": self.company
- }).insert(ignore_permissions=True)
+ }).insert(ignore_permissions=True, ignore_mandatory=True)
+
self.db_set("project", project.name)
self.db_set("boarding_status", "Pending")
self.reload()
diff --git a/erpnext/loan_management/doctype/loan/loan.py b/erpnext/loan_management/doctype/loan/loan.py
index 83a813f..230475f 100644
--- a/erpnext/loan_management/doctype/loan/loan.py
+++ b/erpnext/loan_management/doctype/loan/loan.py
@@ -44,6 +44,7 @@
def on_cancel(self):
self.unlink_loan_security_pledge()
+ self.ignore_linked_doctypes = ['GL Entry']
def set_missing_fields(self):
if not self.company:
@@ -70,7 +71,6 @@
frappe.throw(_("Repay From Salary can be selected only for term loans"))
def make_repayment_schedule(self):
-
if not self.repayment_start_date:
frappe.throw(_("Repayment Start Date is mandatory for term loans"))
@@ -78,10 +78,9 @@
payment_date = self.repayment_start_date
balance_amount = self.loan_amount
while(balance_amount > 0):
- interest_amount = rounded(balance_amount * flt(self.rate_of_interest) / (12*100))
+ interest_amount = flt(balance_amount * flt(self.rate_of_interest) / (12*100))
principal_amount = self.monthly_repayment_amount - interest_amount
- balance_amount = rounded(balance_amount + interest_amount - self.monthly_repayment_amount)
-
+ balance_amount = flt(balance_amount + interest_amount - self.monthly_repayment_amount)
if balance_amount < 0:
principal_amount += balance_amount
balance_amount = 0.0
@@ -195,7 +194,8 @@
posting_date = getdate()
amounts = calculate_amounts(loan, posting_date)
- pending_amount = amounts['payable_amount'] + amounts['unaccrued_interest']
+ pending_amount = amounts['pending_principal_amount'] + amounts['unaccrued_interest'] + \
+ amounts['interest_amount'] + amounts['penalty_amount']
loan_type = frappe.get_value('Loan', loan, 'loan_type')
write_off_limit = frappe.get_value('Loan Type', loan_type, 'write_off_amount')
@@ -359,4 +359,4 @@
return {
"value": len(applicants),
"fieldtype": "Int"
- }
\ No newline at end of file
+ }
diff --git a/erpnext/loan_management/doctype/loan/test_loan.py b/erpnext/loan_management/doctype/loan/test_loan.py
index 6f8da31..fae6f86 100644
--- a/erpnext/loan_management/doctype/loan/test_loan.py
+++ b/erpnext/loan_management/doctype/loan/test_loan.py
@@ -56,25 +56,25 @@
def test_loan(self):
loan = frappe.get_doc("Loan", {"applicant":self.applicant1})
self.assertEquals(loan.monthly_repayment_amount, 15052)
- self.assertEquals(loan.total_interest_payable, 21034)
- self.assertEquals(loan.total_payment, 301034)
+ self.assertEquals(flt(loan.total_interest_payable, 0), 21034)
+ self.assertEquals(flt(loan.total_payment, 0), 301034)
schedule = loan.repayment_schedule
self.assertEqual(len(schedule), 20)
- for idx, principal_amount, interest_amount, balance_loan_amount in [[3, 13369, 1683, 227079], [19, 14941, 105, 0], [17, 14740, 312, 29785]]:
- self.assertEqual(schedule[idx].principal_amount, principal_amount)
- self.assertEqual(schedule[idx].interest_amount, interest_amount)
- self.assertEqual(schedule[idx].balance_loan_amount, balance_loan_amount)
+ for idx, principal_amount, interest_amount, balance_loan_amount in [[3, 13369, 1683, 227080], [19, 14941, 105, 0], [17, 14740, 312, 29785]]:
+ self.assertEqual(flt(schedule[idx].principal_amount, 0), principal_amount)
+ self.assertEqual(flt(schedule[idx].interest_amount, 0), interest_amount)
+ self.assertEqual(flt(schedule[idx].balance_loan_amount, 0), balance_loan_amount)
loan.repayment_method = "Repay Fixed Amount per Period"
loan.monthly_repayment_amount = 14000
loan.save()
self.assertEquals(len(loan.repayment_schedule), 22)
- self.assertEquals(loan.total_interest_payable, 22712)
- self.assertEquals(loan.total_payment, 302712)
+ self.assertEquals(flt(loan.total_interest_payable, 0), 22712)
+ self.assertEquals(flt(loan.total_payment, 0), 302712)
def test_loan_with_security(self):
diff --git a/erpnext/loan_management/doctype/loan_repayment/loan_repayment.py b/erpnext/loan_management/doctype/loan_repayment/loan_repayment.py
index 728eadf..3d99b1f 100644
--- a/erpnext/loan_management/doctype/loan_repayment/loan_repayment.py
+++ b/erpnext/loan_management/doctype/loan_repayment/loan_repayment.py
@@ -435,7 +435,6 @@
@frappe.whitelist()
def calculate_amounts(against_loan, posting_date, payment_type=''):
-
amounts = {
'penalty_amount': 0.0,
'interest_amount': 0.0,
diff --git a/erpnext/patches.txt b/erpnext/patches.txt
index de9f6e3..9ef949c 100644
--- a/erpnext/patches.txt
+++ b/erpnext/patches.txt
@@ -774,3 +774,4 @@
erpnext.patches.v13_0.make_non_standard_user_type #13-04-2021
erpnext.patches.v13_0.update_shipment_status
erpnext.patches.v13_0.remove_attribute_field_from_item_variant_setting
+erpnext.patches.v13_0.set_pos_closing_as_failed
diff --git a/erpnext/patches/v13_0/delete_old_bank_reconciliation_doctypes.py b/erpnext/patches/v13_0/delete_old_bank_reconciliation_doctypes.py
index af1f6e7..77a23cf 100644
--- a/erpnext/patches/v13_0/delete_old_bank_reconciliation_doctypes.py
+++ b/erpnext/patches/v13_0/delete_old_bank_reconciliation_doctypes.py
@@ -22,5 +22,7 @@
frappe.delete_doc("Page", "bank-reconciliation", force=1)
+ frappe.reload_doc('accounts', 'doctype', 'bank_transaction')
+
rename_field("Bank Transaction", "debit", "deposit")
rename_field("Bank Transaction", "credit", "withdrawal")
diff --git a/erpnext/patches/v13_0/set_pos_closing_as_failed.py b/erpnext/patches/v13_0/set_pos_closing_as_failed.py
new file mode 100644
index 0000000..1c576db
--- /dev/null
+++ b/erpnext/patches/v13_0/set_pos_closing_as_failed.py
@@ -0,0 +1,7 @@
+from __future__ import unicode_literals
+import frappe
+
+def execute():
+ frappe.reload_doc('accounts', 'doctype', 'pos_closing_entry')
+
+ frappe.db.sql("update `tabPOS Closing Entry` set `status` = 'Failed' where `status` = 'Queued'")
\ No newline at end of file
diff --git a/erpnext/payroll/doctype/payroll_settings/payroll_settings.py b/erpnext/payroll/doctype/payroll_settings/payroll_settings.py
index 5efa41d..459b7ea 100644
--- a/erpnext/payroll/doctype/payroll_settings/payroll_settings.py
+++ b/erpnext/payroll/doctype/payroll_settings/payroll_settings.py
@@ -28,5 +28,5 @@
def toggle_rounded_total(self):
self.disable_rounded_total = cint(self.disable_rounded_total)
- make_property_setter("Salary Slip", "rounded_total", "hidden", self.disable_rounded_total, "Check")
- make_property_setter("Salary Slip", "rounded_total", "print_hide", self.disable_rounded_total, "Check")
+ make_property_setter("Salary Slip", "rounded_total", "hidden", self.disable_rounded_total, "Check", validate_fields_for_doctype=False)
+ make_property_setter("Salary Slip", "rounded_total", "print_hide", self.disable_rounded_total, "Check", validate_fields_for_doctype=False)
diff --git a/erpnext/payroll/doctype/salary_structure/salary_structure.js b/erpnext/payroll/doctype/salary_structure/salary_structure.js
index e00bd87..d5c20dc 100755
--- a/erpnext/payroll/doctype/salary_structure/salary_structure.js
+++ b/erpnext/payroll/doctype/salary_structure/salary_structure.js
@@ -16,11 +16,11 @@
onload: function(frm) {
let help_button = $(`<a class = 'control-label'>
- Condition and Formula Help
+ ${__("Condition and Formula Help")}
</a>`).click(()=>{
let d = new frappe.ui.Dialog({
- title: 'Condition and Formula Help',
+ title: __('Condition and Formula Help'),
fields: [
{
fieldname: 'msg_wrapper',
diff --git a/erpnext/projects/doctype/timesheet/timesheet.js b/erpnext/projects/doctype/timesheet/timesheet.js
index b123af5..43a57e5 100644
--- a/erpnext/projects/doctype/timesheet/timesheet.js
+++ b/erpnext/projects/doctype/timesheet/timesheet.js
@@ -174,9 +174,10 @@
var $trigger_again = $('.form-grid').find('.grid-row').find('.btn-open-row');
$trigger_again.on('click', () => {
- $('.form-grid')
- .find('[data-fieldname="timer"]')
- .append(frappe.render_template("timesheet"));
+ let $timer = $('.form-grid').find('[data-fieldname="timer"]');
+ if ($timer.get(0)) {
+ $timer.append(frappe.render_template("timesheet"));
+ }
frm.trigger("control_timer");
});
},
diff --git a/erpnext/projects/report/project_summary/project_summary.py b/erpnext/projects/report/project_summary/project_summary.py
index ea7f1ab..2c7bb49 100644
--- a/erpnext/projects/report/project_summary/project_summary.py
+++ b/erpnext/projects/report/project_summary/project_summary.py
@@ -131,25 +131,25 @@
{
"value": avg_completion,
"indicator": "Green" if avg_completion > 50 else "Red",
- "label": "Average Completion",
+ "label": _("Average Completion"),
"datatype": "Percent",
},
{
"value": total,
"indicator": "Blue",
- "label": "Total Tasks",
+ "label": _("Total Tasks"),
"datatype": "Int",
},
{
"value": completed,
"indicator": "Green",
- "label": "Completed Tasks",
+ "label": _("Completed Tasks"),
"datatype": "Int",
},
{
"value": total_overdue,
"indicator": "Green" if total_overdue == 0 else "Red",
- "label": "Overdue Tasks",
+ "label": _("Overdue Tasks"),
"datatype": "Int",
}
]
diff --git a/erpnext/public/js/controllers/transaction.js b/erpnext/public/js/controllers/transaction.js
index a0398e7..0af8da7 100644
--- a/erpnext/public/js/controllers/transaction.js
+++ b/erpnext/public/js/controllers/transaction.js
@@ -562,7 +562,7 @@
weight_uom: item.weight_uom,
manufacturer: item.manufacturer,
stock_uom: item.stock_uom,
- pos_profile: me.frm.doc.doctype == 'Sales Invoice' ? me.frm.doc.pos_profile : '',
+ pos_profile: cint(me.frm.doc.is_pos) ? me.frm.doc.pos_profile : '',
cost_center: item.cost_center,
tax_category: me.frm.doc.tax_category,
item_tax_template: item.item_tax_template,
@@ -640,6 +640,10 @@
let key = item.name;
me.apply_rule_on_other_items({key: item});
}
+ },
+ () => {
+ var company_currency = me.get_company_currency();
+ me.update_item_grid_labels(company_currency);
}
]);
}
@@ -1321,11 +1325,9 @@
change_grid_labels: function(company_currency) {
var me = this;
- this.frm.set_currency_labels(["base_rate", "base_net_rate", "base_price_list_rate", "base_amount", "base_net_amount", "base_rate_with_margin"],
- company_currency, "items");
+ this.update_item_grid_labels(company_currency);
- this.frm.set_currency_labels(["rate", "net_rate", "price_list_rate", "amount", "net_amount", "stock_uom_rate", "rate_with_margin"],
- this.frm.doc.currency, "items");
+ this.toggle_item_grid_columns(company_currency);
if(this.frm.fields_dict["operations"]) {
this.frm.set_currency_labels(["operating_cost", "hour_rate"], this.frm.doc.currency, "operations");
@@ -1360,6 +1362,39 @@
this.frm.doc.party_account_currency, "advances");
}
+ this.update_payment_schedule_grid_labels(company_currency);
+ },
+
+ update_item_grid_labels: function(company_currency) {
+ this.frm.set_currency_labels([
+ "base_rate", "base_net_rate", "base_price_list_rate",
+ "base_amount", "base_net_amount", "base_rate_with_margin"
+ ], company_currency, "items");
+
+ this.frm.set_currency_labels([
+ "rate", "net_rate", "price_list_rate", "amount",
+ "net_amount", "stock_uom_rate", "rate_with_margin"
+ ], this.frm.doc.currency, "items");
+ },
+
+ update_payment_schedule_grid_labels: function(company_currency) {
+ const me = this;
+ if (this.frm.doc.payment_schedule && this.frm.doc.payment_schedule.length > 0) {
+ this.frm.set_currency_labels(["base_payment_amount", "base_outstanding", "base_paid_amount"],
+ company_currency, "payment_schedule");
+ this.frm.set_currency_labels(["payment_amount", "outstanding", "paid_amount"],
+ this.frm.doc.currency, "payment_schedule");
+
+ var schedule_grid = this.frm.fields_dict["payment_schedule"].grid;
+ $.each(["base_payment_amount", "base_outstanding", "base_paid_amount"], function(i, fname) {
+ if (frappe.meta.get_docfield(schedule_grid.doctype, fname))
+ schedule_grid.set_column_disp(fname, me.frm.doc.currency != company_currency);
+ });
+ }
+ },
+
+ toggle_item_grid_columns: function(company_currency) {
+ const me = this;
// toggle columns
var item_grid = this.frm.fields_dict["items"].grid;
$.each(["base_rate", "base_price_list_rate", "base_amount", "base_rate_with_margin"], function(i, fname) {
@@ -1379,9 +1414,6 @@
if(frappe.meta.get_docfield(item_grid.doctype, fname))
item_grid.set_column_disp(fname, (show && (me.frm.doc.currency != company_currency)));
});
-
- // set labels
- var $wrapper = $(this.frm.wrapper);
},
recalculate: function() {
@@ -1995,11 +2027,14 @@
terms_template: doc.payment_terms_template,
posting_date: posting_date,
grand_total: doc.rounded_total || doc.grand_total,
+ base_grand_total: doc.base_rounded_total || doc.base_grand_total,
bill_date: doc.bill_date
},
callback: function(r) {
if(r.message && !r.exc) {
me.frm.set_value("payment_schedule", r.message);
+ const company_currency = me.get_company_currency();
+ me.update_payment_schedule_grid_labels(company_currency);
}
}
})
@@ -2007,6 +2042,7 @@
},
payment_term: function(doc, cdt, cdn) {
+ const me = this;
var row = locals[cdt][cdn];
if(row.payment_term) {
frappe.call({
@@ -2015,12 +2051,15 @@
term: row.payment_term,
bill_date: this.frm.doc.bill_date,
posting_date: this.frm.doc.posting_date || this.frm.doc.transaction_date,
- grand_total: this.frm.doc.rounded_total || this.frm.doc.grand_total
+ grand_total: this.frm.doc.rounded_total || this.frm.doc.grand_total,
+ base_grand_total: this.frm.doc.base_rounded_total || this.frm.doc.base_grand_total
},
callback: function(r) {
if(r.message && !r.exc) {
for (var d in r.message) {
frappe.model.set_value(cdt, cdn, d, r.message[d]);
+ const company_currency = me.get_company_currency();
+ me.update_payment_schedule_grid_labels(company_currency);
}
}
}
diff --git a/erpnext/public/js/education/lms/quiz.js b/erpnext/public/js/education/lms/quiz.js
index 32fa4ab..5683f73 100644
--- a/erpnext/public/js/education/lms/quiz.js
+++ b/erpnext/public/js/education/lms/quiz.js
@@ -118,7 +118,7 @@
quiz_response: this.get_selected(),
course: this.course,
program: this.program,
- time_taken: this.is_time_bound ? this.time_taken : ""
+ time_taken: this.is_time_bound ? this.time_taken : 0
}).then(res => {
this.submit_btn.remove()
if (!res.message) {
diff --git a/erpnext/selling/doctype/selling_settings/selling_settings.py b/erpnext/selling/doctype/selling_settings/selling_settings.py
index d297883..b219e7e 100644
--- a/erpnext/selling/doctype/selling_settings/selling_settings.py
+++ b/erpnext/selling/doctype/selling_settings/selling_settings.py
@@ -30,8 +30,8 @@
# Make property setters to hide tax_id fields
for doctype in ("Sales Order", "Sales Invoice", "Delivery Note"):
- make_property_setter(doctype, "tax_id", "hidden", self.hide_tax_id, "Check")
- make_property_setter(doctype, "tax_id", "print_hide", self.hide_tax_id, "Check")
+ make_property_setter(doctype, "tax_id", "hidden", self.hide_tax_id, "Check", validate_fields_for_doctype=False)
+ make_property_setter(doctype, "tax_id", "print_hide", self.hide_tax_id, "Check", validate_fields_for_doctype=False)
def set_default_customer_group_and_territory(self):
if not self.customer_group:
diff --git a/erpnext/setup/doctype/email_digest/email_digest.py b/erpnext/setup/doctype/email_digest/email_digest.py
index ac55fdf..8c97322 100644
--- a/erpnext/setup/doctype/email_digest/email_digest.py
+++ b/erpnext/setup/doctype/email_digest/email_digest.py
@@ -50,8 +50,12 @@
recipients = list(filter(lambda r: r in valid_users,
self.recipient_list.split("\n")))
+ original_user = frappe.session.user
+
if recipients:
for user_id in recipients:
+ frappe.set_user(user_id)
+ frappe.set_user_lang(user_id)
msg_for_this_recipient = self.get_msg_html()
if msg_for_this_recipient:
frappe.sendmail(
@@ -62,6 +66,9 @@
reference_name = self.name,
unsubscribe_message = _("Unsubscribe from this Email Digest"))
+ frappe.set_user(original_user)
+ frappe.set_user_lang(original_user)
+
def get_msg_html(self):
"""Build email digest content"""
frappe.flags.ignore_account_permission = True
diff --git a/erpnext/setup/doctype/global_defaults/global_defaults.py b/erpnext/setup/doctype/global_defaults/global_defaults.py
index 76a8450..e587217 100644
--- a/erpnext/setup/doctype/global_defaults/global_defaults.py
+++ b/erpnext/setup/doctype/global_defaults/global_defaults.py
@@ -60,11 +60,11 @@
# Make property setters to hide rounded total fields
for doctype in ("Quotation", "Sales Order", "Sales Invoice", "Delivery Note",
"Supplier Quotation", "Purchase Order", "Purchase Invoice"):
- make_property_setter(doctype, "base_rounded_total", "hidden", self.disable_rounded_total, "Check")
- make_property_setter(doctype, "base_rounded_total", "print_hide", 1, "Check")
+ make_property_setter(doctype, "base_rounded_total", "hidden", self.disable_rounded_total, "Check", validate_fields_for_doctype=False)
+ make_property_setter(doctype, "base_rounded_total", "print_hide", 1, "Check", validate_fields_for_doctype=False)
- make_property_setter(doctype, "rounded_total", "hidden", self.disable_rounded_total, "Check")
- make_property_setter(doctype, "rounded_total", "print_hide", self.disable_rounded_total, "Check")
+ make_property_setter(doctype, "rounded_total", "hidden", self.disable_rounded_total, "Check", validate_fields_for_doctype=False)
+ make_property_setter(doctype, "rounded_total", "print_hide", self.disable_rounded_total, "Check", validate_fields_for_doctype=False)
def toggle_in_words(self):
self.disable_in_words = cint(self.disable_in_words)
@@ -72,5 +72,5 @@
# Make property setters to hide in words fields
for doctype in ("Quotation", "Sales Order", "Sales Invoice", "Delivery Note",
"Supplier Quotation", "Purchase Order", "Purchase Invoice", "Purchase Receipt"):
- make_property_setter(doctype, "in_words", "hidden", self.disable_in_words, "Check")
- make_property_setter(doctype, "in_words", "print_hide", self.disable_in_words, "Check")
+ make_property_setter(doctype, "in_words", "hidden", self.disable_in_words, "Check", validate_fields_for_doctype=False)
+ make_property_setter(doctype, "in_words", "print_hide", self.disable_in_words, "Check", validate_fields_for_doctype=False)
diff --git a/erpnext/setup/doctype/naming_series/naming_series.py b/erpnext/setup/doctype/naming_series/naming_series.py
index 373b0a5..c1f9433 100644
--- a/erpnext/setup/doctype/naming_series/naming_series.py
+++ b/erpnext/setup/doctype/naming_series/naming_series.py
@@ -183,8 +183,8 @@
def set_by_naming_series(doctype, fieldname, naming_series, hide_name_field=True):
from frappe.custom.doctype.property_setter.property_setter import make_property_setter
if naming_series:
- make_property_setter(doctype, "naming_series", "hidden", 0, "Check")
- make_property_setter(doctype, "naming_series", "reqd", 1, "Check")
+ make_property_setter(doctype, "naming_series", "hidden", 0, "Check", validate_fields_for_doctype=False)
+ make_property_setter(doctype, "naming_series", "reqd", 1, "Check", validate_fields_for_doctype=False)
# set values for mandatory
try:
@@ -195,15 +195,15 @@
pass
if hide_name_field:
- make_property_setter(doctype, fieldname, "reqd", 0, "Check")
- make_property_setter(doctype, fieldname, "hidden", 1, "Check")
+ make_property_setter(doctype, fieldname, "reqd", 0, "Check", validate_fields_for_doctype=False)
+ make_property_setter(doctype, fieldname, "hidden", 1, "Check", validate_fields_for_doctype=False)
else:
- make_property_setter(doctype, "naming_series", "reqd", 0, "Check")
- make_property_setter(doctype, "naming_series", "hidden", 1, "Check")
+ make_property_setter(doctype, "naming_series", "reqd", 0, "Check", validate_fields_for_doctype=False)
+ make_property_setter(doctype, "naming_series", "hidden", 1, "Check", validate_fields_for_doctype=False)
if hide_name_field:
- make_property_setter(doctype, fieldname, "hidden", 0, "Check")
- make_property_setter(doctype, fieldname, "reqd", 1, "Check")
+ make_property_setter(doctype, fieldname, "hidden", 0, "Check", validate_fields_for_doctype=False)
+ make_property_setter(doctype, fieldname, "reqd", 1, "Check", validate_fields_for_doctype=False)
# set values for mandatory
frappe.db.sql("""update `tab{doctype}` set `{fieldname}`=`name` where
diff --git a/erpnext/setup/setup_wizard/operations/install_fixtures.py b/erpnext/setup/setup_wizard/operations/install_fixtures.py
index 5053c6a..f21d55f 100644
--- a/erpnext/setup/setup_wizard/operations/install_fixtures.py
+++ b/erpnext/setup/setup_wizard/operations/install_fixtures.py
@@ -12,6 +12,7 @@
from erpnext.accounts.doctype.account.account import RootNotEditable
from erpnext.regional.address_template.setup import set_up_address_templates
+from frappe.utils.nestedset import rebuild_tree
default_lead_sources = ["Existing Customer", "Reference", "Advertisement",
"Cold Calling", "Exhibition", "Supplier Reference", "Mass Mailing",
@@ -280,13 +281,15 @@
set_more_defaults()
update_global_search_doctypes()
- # path = frappe.get_app_path('erpnext', 'regional', frappe.scrub(country))
- # if os.path.exists(path.encode("utf-8")):
- # frappe.get_attr("erpnext.regional.{0}.setup.setup_company_independent_fixtures".format(frappe.scrub(country)))()
-
-
def set_more_defaults():
# Do more setup stuff that can be done here with no dependencies
+ update_selling_defaults()
+ update_buying_defaults()
+ update_hr_defaults()
+ add_uom_data()
+ update_item_variant_settings()
+
+def update_selling_defaults():
selling_settings = frappe.get_doc("Selling Settings")
selling_settings.set_default_customer_group_and_territory()
selling_settings.cust_master_name = "Customer Name"
@@ -296,13 +299,7 @@
selling_settings.sales_update_frequency = "Each Transaction"
selling_settings.save()
- add_uom_data()
-
- # set no copy fields of an item doctype to item variant settings
- doc = frappe.get_doc('Item Variant Settings')
- doc.set_default_fields()
- doc.save()
-
+def update_buying_defaults():
buying_settings = frappe.get_doc("Buying Settings")
buying_settings.supp_master_name = "Supplier Name"
buying_settings.po_required = "No"
@@ -311,12 +308,19 @@
buying_settings.allow_multiple_items = 1
buying_settings.save()
+def update_hr_defaults():
hr_settings = frappe.get_doc("HR Settings")
hr_settings.emp_created_by = "Naming Series"
hr_settings.leave_approval_notification_template = _("Leave Approval Notification")
hr_settings.leave_status_notification_template = _("Leave Status Notification")
hr_settings.save()
+def update_item_variant_settings():
+ # set no copy fields of an item doctype to item variant settings
+ doc = frappe.get_doc('Item Variant Settings')
+ doc.set_default_fields()
+ doc.save()
+
def add_uom_data():
# add UOMs
uoms = json.loads(open(frappe.get_app_path("erpnext", "setup", "setup_wizard", "data", "uom_data.json")).read())
@@ -327,7 +331,7 @@
"uom_name": _(d.get("uom_name")),
"name": _(d.get("uom_name")),
"must_be_whole_number": d.get("must_be_whole_number")
- }).insert(ignore_permissions=True)
+ }).db_insert()
# bootstrap uom conversion factors
uom_conversions = json.loads(open(frappe.get_app_path("erpnext", "setup", "setup_wizard", "data", "uom_conversion_data.json")).read())
@@ -336,7 +340,7 @@
frappe.get_doc({
"doctype": "UOM Category",
"category_name": _(d.get("category"))
- }).insert(ignore_permissions=True)
+ }).db_insert()
if not frappe.db.exists("UOM Conversion Factor", {"from_uom": _(d.get("from_uom")), "to_uom": _(d.get("to_uom"))}):
uom_conversion = frappe.get_doc({
@@ -369,8 +373,8 @@
{"doctype": "Sales Stage", "stage_name": _("Proposal/Price Quote")},
{"doctype": "Sales Stage", "stage_name": _("Negotiation/Review")}
]
-
- make_records(records)
+ for sales_stage in records:
+ frappe.get_doc(sales_stage).db_insert()
def install_company(args):
records = [
@@ -418,7 +422,14 @@
{'doctype': 'Department', 'department_name': _('Legal'), 'parent_department': _('All Departments'), 'company': args.company_name},
]
- make_records(records)
+ # Make root department with NSM updation
+ make_records(records[:1])
+
+ frappe.local.flags.ignore_update_nsm = True
+ make_records(records[1:])
+ frappe.local.flags.ignore_update_nsm = False
+
+ rebuild_tree("Department", "parent_department")
def install_defaults(args=None):
@@ -432,7 +443,15 @@
# enable default currency
frappe.db.set_value("Currency", args.get("currency"), "enabled", 1)
+ frappe.db.set_value("Stock Settings", None, "email_footer_address", args.get("company_name"))
+ set_global_defaults(args)
+ set_active_domains(args)
+ update_stock_settings()
+ update_shopping_cart_settings(args)
+ create_bank_account(args)
+
+def set_global_defaults(args):
global_defaults = frappe.get_doc("Global Defaults", "Global Defaults")
current_fiscal_year = frappe.get_all("Fiscal Year")[0]
@@ -445,13 +464,10 @@
global_defaults.save()
- system_settings = frappe.get_doc("System Settings")
- system_settings.email_footer_address = args.get("company_name")
- system_settings.save()
+def set_active_domains(args):
+ frappe.get_single('Domain Settings').set_active_domains(args.get('domains'))
- domain_settings = frappe.get_single('Domain Settings')
- domain_settings.set_active_domains(args.get('domains'))
-
+def update_stock_settings():
stock_settings = frappe.get_doc("Stock Settings")
stock_settings.item_naming_by = "Item Code"
stock_settings.valuation_method = "FIFO"
@@ -463,48 +479,44 @@
stock_settings.set_qty_in_transactions_based_on_serial_no_input = 1
stock_settings.save()
- if args.bank_account:
- company_name = args.company_name
- bank_account_group = frappe.db.get_value("Account",
- {"account_type": "Bank", "is_group": 1, "root_type": "Asset",
- "company": company_name})
- if bank_account_group:
- bank_account = frappe.get_doc({
- "doctype": "Account",
- 'account_name': args.bank_account,
- 'parent_account': bank_account_group,
- 'is_group':0,
- 'company': company_name,
- "account_type": "Bank",
- })
- try:
- doc = bank_account.insert()
+def create_bank_account(args):
+ if not args.bank_account:
+ return
- frappe.db.set_value("Company", args.company_name, "default_bank_account", bank_account.name, update_modified=False)
+ company_name = args.company_name
+ bank_account_group = frappe.db.get_value("Account",
+ {"account_type": "Bank", "is_group": 1, "root_type": "Asset",
+ "company": company_name})
+ if bank_account_group:
+ bank_account = frappe.get_doc({
+ "doctype": "Account",
+ 'account_name': args.bank_account,
+ 'parent_account': bank_account_group,
+ 'is_group':0,
+ 'company': company_name,
+ "account_type": "Bank",
+ })
+ try:
+ doc = bank_account.insert()
- except RootNotEditable:
- frappe.throw(_("Bank account cannot be named as {0}").format(args.bank_account))
- except frappe.DuplicateEntryError:
- # bank account same as a CoA entry
- pass
+ frappe.db.set_value("Company", args.company_name, "default_bank_account", bank_account.name, update_modified=False)
- # Now, with fixtures out of the way, onto concrete stuff
- records = [
+ except RootNotEditable:
+ frappe.throw(_("Bank account cannot be named as {0}").format(args.bank_account))
+ except frappe.DuplicateEntryError:
+ # bank account same as a CoA entry
+ pass
- # Shopping cart: needs price lists
- {
- "doctype": "Shopping Cart Settings",
- "enabled": 1,
- 'company': args.company_name,
- # uh oh
- 'price_list': frappe.db.get_value("Price List", {"selling": 1}),
- 'default_customer_group': _("Individual"),
- 'quotation_series': "QTN-",
- },
- ]
-
- make_records(records)
-
+def update_shopping_cart_settings(args):
+ shopping_cart = frappe.get_doc("Shopping Cart Settings")
+ shopping_cart.update({
+ "enabled": 1,
+ 'company': args.company_name,
+ 'price_list': frappe.db.get_value("Price List", {"selling": 1}),
+ 'default_customer_group': _("Individual"),
+ 'quotation_series': "QTN-",
+ })
+ shopping_cart.update_single(shopping_cart.get_valid_dict())
def get_fy_details(fy_start_date, fy_end_date):
start_year = getdate(fy_start_date).year
diff --git a/erpnext/setup/setup_wizard/setup_wizard.py b/erpnext/setup/setup_wizard/setup_wizard.py
index e74d837..f63d269 100644
--- a/erpnext/setup/setup_wizard/setup_wizard.py
+++ b/erpnext/setup/setup_wizard/setup_wizard.py
@@ -52,11 +52,6 @@
'fail_msg': 'Failed to set defaults',
'tasks': [
{
- 'fn': setup_post_company_fixtures,
- 'args': args,
- 'fail_msg': _("Failed to setup post company fixtures")
- },
- {
'fn': setup_defaults,
'args': args,
'fail_msg': _("Failed to setup defaults")
@@ -94,9 +89,6 @@
def setup_company(args):
fixtures.install_company(args)
-def setup_post_company_fixtures(args):
- fixtures.install_post_company_fixtures(args)
-
def setup_defaults(args):
fixtures.install_defaults(frappe._dict(args))
@@ -129,7 +121,6 @@
def setup_complete(args=None):
stage_fixtures(args)
setup_company(args)
- setup_post_company_fixtures(args)
setup_defaults(args)
stage_four(args)
fin(args)
diff --git a/erpnext/stock/doctype/item/item.js b/erpnext/stock/doctype/item/item.js
index 2079cf8..8aec893 100644
--- a/erpnext/stock/doctype/item/item.js
+++ b/erpnext/stock/doctype/item/item.js
@@ -46,9 +46,6 @@
}, __("View"));
}
- if (!frm.doc.is_fixed_asset) {
- erpnext.item.make_dashboard(frm);
- }
if (frm.doc.is_fixed_asset) {
frm.trigger('is_fixed_asset');
@@ -96,6 +93,10 @@
erpnext.item.edit_prices_button(frm);
erpnext.item.toggle_attributes(frm);
+
+ if (!frm.doc.is_fixed_asset) {
+ erpnext.item.make_dashboard(frm);
+ }
frm.add_custom_button(__('Duplicate'), function() {
var new_item = frappe.model.copy_doc(frm.doc);
@@ -473,11 +474,15 @@
me.multiple_variant_dialog.get_primary_btn().html(__('Create Variants'));
me.multiple_variant_dialog.disable_primary_action();
} else {
+
let no_of_combinations = lengths.reduce((a, b) => a * b, 1);
- me.multiple_variant_dialog.get_primary_btn()
- .html(__(
- `Make ${no_of_combinations} Variant${no_of_combinations === 1 ? '' : 's'}`
- ));
+ let msg;
+ if (no_of_combinations === 1) {
+ msg = __("Make {0} Variant", [no_of_combinations]);
+ } else {
+ msg = __("Make {0} Variants", [no_of_combinations]);
+ }
+ me.multiple_variant_dialog.get_primary_btn().html(msg);
me.multiple_variant_dialog.enable_primary_action();
}
}
diff --git a/erpnext/stock/doctype/material_request/material_request.js b/erpnext/stock/doctype/material_request/material_request.js
index 7dfc5da..92c8d21 100644
--- a/erpnext/stock/doctype/material_request/material_request.js
+++ b/erpnext/stock/doctype/material_request/material_request.js
@@ -433,13 +433,21 @@
if (doc.material_request_type == "Customer Provided") {
return{
query: "erpnext.controllers.queries.item_query",
- filters:{ 'customer': me.frm.doc.customer }
+ filters:{
+ 'customer': me.frm.doc.customer,
+ 'is_stock_item':1
+ }
}
- } else if (doc.material_request_type != "Manufacture") {
+ } else if (doc.material_request_type == "Purchase") {
return{
query: "erpnext.controllers.queries.item_query",
filters: {'is_purchase_item': 1}
}
+ } else {
+ return{
+ query: "erpnext.controllers.queries.item_query",
+ filters: {'is_stock_item': 1}
+ }
}
});
},
diff --git a/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py b/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py
index 1396f19..7c5f4ec 100644
--- a/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py
+++ b/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py
@@ -469,7 +469,7 @@
def submit(self):
if len(self.items) > 100:
msgprint(_("The task has been enqueued as a background job. In case there is any issue on processing in background, the system will add a comment about the error on this Stock Reconciliation and revert to the Draft stage"))
- self.queue_action('submit')
+ self.queue_action('submit', timeout=4600)
else:
self._submit()
diff --git a/erpnext/stock/doctype/stock_settings/stock_settings.py b/erpnext/stock/doctype/stock_settings/stock_settings.py
index 3b9608b..2dd7c6f 100644
--- a/erpnext/stock/doctype/stock_settings/stock_settings.py
+++ b/erpnext/stock/doctype/stock_settings/stock_settings.py
@@ -30,7 +30,7 @@
# show/hide barcode field
for name in ["barcode", "barcodes", "scan_barcode"]:
frappe.make_property_setter({'fieldname': name, 'property': 'hidden',
- 'value': 0 if self.show_barcode_field else 1})
+ 'value': 0 if self.show_barcode_field else 1}, validate_fields_for_doctype=False)
self.validate_warehouses()
self.cant_change_valuation_method()
@@ -67,10 +67,10 @@
self.toggle_warehouse_field_for_inter_warehouse_transfer()
def toggle_warehouse_field_for_inter_warehouse_transfer(self):
- make_property_setter("Sales Invoice Item", "target_warehouse", "hidden", 1 - cint(self.allow_from_dn), "Check")
- make_property_setter("Delivery Note Item", "target_warehouse", "hidden", 1 - cint(self.allow_from_dn), "Check")
- make_property_setter("Purchase Invoice Item", "from_warehouse", "hidden", 1 - cint(self.allow_from_pr), "Check")
- make_property_setter("Purchase Receipt Item", "from_warehouse", "hidden", 1 - cint(self.allow_from_pr), "Check")
+ make_property_setter("Sales Invoice Item", "target_warehouse", "hidden", 1 - cint(self.allow_from_dn), "Check", validate_fields_for_doctype=False)
+ make_property_setter("Delivery Note Item", "target_warehouse", "hidden", 1 - cint(self.allow_from_dn), "Check", validate_fields_for_doctype=False)
+ make_property_setter("Purchase Invoice Item", "from_warehouse", "hidden", 1 - cint(self.allow_from_pr), "Check", validate_fields_for_doctype=False)
+ make_property_setter("Purchase Receipt Item", "from_warehouse", "hidden", 1 - cint(self.allow_from_pr), "Check", validate_fields_for_doctype=False)
def clean_all_descriptions():
diff --git a/erpnext/stock/get_item_details.py b/erpnext/stock/get_item_details.py
index 1a61f30..3fc1df7 100644
--- a/erpnext/stock/get_item_details.py
+++ b/erpnext/stock/get_item_details.py
@@ -86,7 +86,7 @@
out.update(get_bin_details(args.item_code, args.get("from_warehouse")))
elif out.get("warehouse"):
- out.update(get_bin_details(args.item_code, out.warehouse))
+ out.update(get_bin_details(args.item_code, out.warehouse, args.company))
# update args with out, if key or value not exists
for key, value in iteritems(out):
diff --git a/erpnext/stock/stock_ledger.py b/erpnext/stock/stock_ledger.py
index 985901f..bbfcb7a 100644
--- a/erpnext/stock/stock_ledger.py
+++ b/erpnext/stock/stock_ledger.py
@@ -416,7 +416,7 @@
frappe.db.set_value("Stock Entry Detail", sle.voucher_detail_no, "basic_rate", outgoing_rate)
# Update outgoing item's rate, recalculate FG Item's rate and total incoming/outgoing amount
- stock_entry = frappe.get_doc("Stock Entry", sle.voucher_no)
+ stock_entry = frappe.get_doc("Stock Entry", sle.voucher_no, for_update=True)
stock_entry.calculate_rate_and_amount(reset_outgoing_rate=False, raise_error_if_no_rate=False)
stock_entry.db_update()
for d in stock_entry.items:
diff --git a/erpnext/stock/utils.py b/erpnext/stock/utils.py
index 0af3d90..034d3eb 100644
--- a/erpnext/stock/utils.py
+++ b/erpnext/stock/utils.py
@@ -172,7 +172,7 @@
bin_obj.flags.ignore_permissions = 1
bin_obj.insert()
else:
- bin_obj = frappe.get_cached_doc('Bin', bin)
+ bin_obj = frappe.get_doc('Bin', bin, for_update=True)
bin_obj.flags.ignore_permissions = True
return bin_obj
diff --git a/requirements.txt b/requirements.txt
index 377fd7d..f1ffeb8 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,4 +1,4 @@
-frappe
+# frappe # https://github.com/frappe/frappe is installed during bench-init
gocardless-pro~=1.22.0
googlemaps # used in ERPNext, but dependency is defined in Frappe
pandas~=1.1.5
diff --git a/yarn.lock b/yarn.lock
index 0a2ac1a..635bb06 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -2000,9 +2000,9 @@
integrity sha1-o6bCsOvsxcLLocF+bmIP6BtT00c=
lodash@^4.17.15:
- version "4.17.19"
- resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.19.tgz#e48ddedbe30b3321783c5b4301fbd353bc1e4a4b"
- integrity sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==
+ version "4.17.21"
+ resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
+ integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
log-symbols@^4.0.0:
version "4.1.0"