Acc Correction Acc1   Préparation Avant de commencer la correction, plusieurs informations sont stocker dans differents dictionnaires afin qu'elles soient plus facile d'accès par la suite. Par la suite, le score des différents modules pages est calculés. Journal des Achats, Ventes, Encaissements, Décaissements, Salaires  Regarder chacune des rows de la table Certains champs sont requis pour effectuer la correction d'une rangée (dépends du modulePage) si manquant, ajoute une erreur ("row_input_value_missing") Trouver la facture de reference avec les champs appropriées (dépend du modulePage) si la référence n'est pas trouvée, ajoute une erreur ("row_reference_not_found") Correction des différents inputs de la row selon les informations de la facture trouvée Voir la section, Aide à la correction 1 Vérifier que les identifiants ne sont pas déjà utilisé Voir la section, Aide à la correction 2 Vérifier que toutes les factures sont présentes s'il manque des factures, ajoute l'erreur ("bill_missing") Calculer le score total du journal s'il n'y a pas de rows dans la table, ajoute l'erreur ("empty_table")   Grand livre auxiliaire des Fournisseurs/Clients Vérifier qu'il y a des Fournisseurs/Clients d'ajouter s'il y en a pas, ajoute l'erreur ("no_dynamic_dropdown_data") Pour chacun des Fournisseurs/Clients, faire les vérification suivantes Vérifier les conditions de la compagnie Si la condition choisi n'est pas la bonne, ajouter l'erreur ("dynamic_dropdown_data_secondary_wrong_answer") Vérifier qu'il y a des décisions prise pour le Fournisseurs/clients s'il y en a pas, ajoute l'erreur ("empty_table") Pour chacune des rows du Fournisseurs/clients, effectuer les vérification suivantes Vérifier l'ordre des lignes selon la date s'il ne le sont pas, ajoute l'erreur ("row_wrong_order") Trouver la ligne de reference (une ligne des Journaux) avec les champs appropriées (dépend du modulePage) si la référence n'est pas trouvée, ajoute une erreur ("row_reference_not_found") Correction des différents inputs de la row selon les informations de le ligne de référence trouvée et de la balance qui est modifier selon les autres inputs de la row Voir la section, Aide à la correction 1 Vérifier que les identifiants ne sont pas déjà utilisé Voir la section, Aide à la correction 2 Vérifier qu'il y a des lignes de présentes s'il y en a pas, ajoute l'erreur ("empty_table") Vérifier que toutes les rows sont présentes si ce n'est pas le cas, ajoute l'erreur ("referenced_row_missing")  Calculer le score de la table Calculer le score total du modulePage Grand livre Calculer la balance de tout les comptes ainsi que les montants finaux du  journal general(Cela sera utilisés durant la correction). Pour chacune des tables (chaque table est associé à un compte) Pour chacune des rows dans la table  Vérifier l'ordre des rows avec la date si l'ordre n'est pas le bon, ajoute l'erreur ("row_wrong_order")  Trouver la ligne de reference (une ligne des Journaux) avec les champs appropriées (dépend du modulePage) si la référence n'est pas trouvée, ajoute une erreur ("row_reference_missing") Correction des différents inputs de la row selon les informations du compte de référence trouvée et de la balance qui est modifier selon les autres inputs de la row Voir la section, Aide à la correction 1 Vérifier que les identifiants ne sont pas déjà utilisé Voir la section, Aide à la correction 2 Vérifier qu'il y a des lignes de présentes s'il y en a pas, ajoute l'erreur ("empty_table") Vérifier que toutes les comptes sont présents si ce n'est pas le cas, ajoute l'erreur ("referenced_page_missing")  Calculer le score de la table Vérifier que tout les comptes soit présents si un compte n'est pas présent, ajoute l'erreur ("account_empty") Calculer le score total du modulePage s'il n'y a pas de comptes, ajoute l'erreur ("no_accounts") Journal Général Trier les differentes sections (écritures) du modulePage en plusieurs differentes catégories (charges, produits, équité). Vérifier l'ordre des rows dans les catégories,  s'il ne sont pas dans le bon ordre, ajoute l'erreur ("row_wrong_order")  Pour chacune des rows des catégories  Correction des différents inputs de la row selon les informations du compte de référence et de la catégorie Voir la section, Aide à la correction 1 Vérifier que les identifiants ne sont pas déjà utilisé Voir la section, Aide à la correction 2 Vérifier que tout les comptes "produit" ou "charges" sont bien présents S'il en manquent, ajoute l'erreur ("table_account_missing") Calculuer le score final du journal Si une catégorie est vide, ajoute l'erreur ("group_empty") Balance de vérification Regarder chacune des rows de la table Certains champs sont requis pour effectuer la correction d'une rangée (Numero de compte, nom de compte) si manquant, ajoute une erreur ("row_input_value_missing") Vérifier que l'ordre de la row est le bon s'il l'ordre n'est pas le bon, ajoute l'erreur ("row_wrong_order") Correction des différents inputs de la row selon les informations du compte trouvé Voir la section, Aide à la correction 1 Vérifier que les identifiants ne sont pas déjà utilisé Voir la section, Aide à la correction 2 Vérifier que tous les comptes sont présents si un compte est manquant, ajoute l'erreur ("table_account_missing") Vérifier que le module page n'est pas vide si c'est le cas, ajoute l'erreur ("empty_table") Calculer le score du module page   État des résultats Pour chaque section de la table Pour chaque rows de la section Trouver le compte de référence si la référence n'est pas trouvée, ajoute une erreur ("row_reference_missing") Vérifier que le compte est dans la bonne section (Chaque section à des comptes spécifiques) Si le compte n'est pas dans la bonne section, ajoute l'erreur ("row_wrong_section") Correction des différents inputs de la row selon les informations du compte de référence trouvée et de la balance qui est modifier selon les autres inputs de la row Voir la section, Aide à la correction 1 Vérifier que les identifiants ne sont pas déjà utilisé Voir la section, Aide à la correction 2 Correction des différents inputs de la table (leurs valeurs dépends de la valeur des inputs de la table) Voir la section, Aide à la correction 1 Vérifier que tout les comptes sont présents s'il en manque, ajoute l'erreur ("table_account_missing") Calculer de score des options de la table Voir la section, Aide à la correction 3 Calculer le score final du journal Si une catégorie est vide, ajoute l'erreur ("empty_table") État des capitaux propres Pour chaque rows de la table Trouver le compte de référence si la référence n'est pas trouvée, ajoute une erreur ("row_reference_missing") Correction des différents inputs de la row selon les informations du compte de référence trouvée et de la balance qui est modifier selon les autres inputs de la row Voir la section, Aide à la correction 1 Vérifier que les identifiants ne sont pas déjà utilisé Voir la section, Aide à la correction 2 Correction des différents inputs de la table (leurs valeurs dépends de la valeur des inputs de la table) Voir la section, Aide à la correction 1 Calculer de score des options de la table Voir la section, Aide à la correction 3 Calculer le score final du journal Si une catégorie est vide, ajoute l'erreur ("empty_table") Bilan Pour chaque section de la table Pour chaque rows de la section Trouver le compte de référence si la référence n'est pas trouvée, ajoute une erreur ("row_reference_missing") Vérifier que le compte est dans la bonne section (Chaque section à des comptes spécifiques) Si le compte n'est pas dans la bonne section, ajoute l'erreur ("row_wrong_section")  Correction des différents inputs de la row selon les informations du compte de référence trouvée et de la balance qui est modifier selon les autres inputs de la row Voir la section, Aide à la correction 1 Vérifier que les identifiants ne sont pas déjà utilisé Voir la section, Aide à la correction 2 Correction des différents inputs de la table (leurs valeurs dépends de la valeur des inputs de la table) Voir la section, Aide à la correction 1 Vérifier que tout les comptes sont présents s'il en manque, ajoute l'erreur ("table_account_missing") Calculer de score des options de la table Voir la section, Aide à la correction 3 Calculer le score final du journal Si une catégorie est vide, ajoute l'erreur ("empty_table")     Aide à la correction Méthodologie pour corriger les bonne réponses d'une série d'input Regarder chacun des inputs et les comparé a une liste de bonne réponse Si la réponses d'input est mauvaise, ajoute une erreur ("row_input_value_wrong_answer") Si l'input n'as pas de valeur, ajoute l'erreur ("row_input_value_missing") si l'input à une valeur mais ne devrait pas encore avoir, ajoute l'erreur ("row_input_value_should_be_empty") Vérifier que la référence d'une row n'est pas utiliser à multiples reprises Comparer les identifiants envoyer avec les identifiants des autres rows   si une autre row à les même identifiants, conserver le meilleur score et ajoute l'erreur ("row_reference_used")  Méthodologie pour calculer le score des options d'un module page Les informations pour les options voulu sont stocker dans le staticData  Si les critère ne sont pas respecter, 3 erreurs peuvent se produire pour les options d'input dans une row Si l'input à une options mais ne devrait pas l'avoir, ("row_input_option_should_be_empty") Si l'input à la mauvaise réponse, ("row_input_option_wrong_answer") Si l'input n'a pas d'option mais devrait en avoir, ("row_input_option_missing") et 3 autres erreurs sont possible pour les options d'input dans une table Si l'input à une options mais ne devrait pas l'avoir, ("table_input_option_should_be_empty") Si l'input à la mauvaise réponse, ("table_input_option_wrong_answer") Si l'input n'a pas d'option mais devrait en avoir, ("table_input_option_missing")   Exemple de donnée d'une équipe pour un module (Module_Test) { "uid": "7200188c-a8e6-4904-a92b-b8bbf64086f9-module_TEST", "simUid": "0a189c03-43db-4585-a1bd-171d2c6ec3ff", "gameUid": "acc1", "teamUid": "7200188c-a8e6-4904-a92b-b8bbf64086f9", "moduleUid": "module_TEST", "moduleTypesData": { "practice": { "seed": 2032993953, "pagesData": { "payroll_journal": { "tables": { "default": { "sections": { "default": { "rowsIndex": [ "7ca74915-56fe-4452-8290-141d6ed0ac0d" ], "rows": { "7ca74915-56fe-4452-8290-141d6ed0ac0d": { "inputs": { "employee": { "value": "employee_1" }, "date": { "value": "2020-07-02" }, "amount_hours": { "value": "38.00" }, "hourly_rate": { "value": "17.07" }, "salaries": { "value": "648.66" }, "rrq_to_pay": { "value": "38.27" }, "rqap_to_pay": { "value": "3.20" }, "employment_insurance_to_pay": { "value": "7.65" }, "provincial_tax_to_pay": { "value": "97.30" }, "federal_tax_to_pay": { "value": "97.30" }, "salaries_to_pay": { "value": "404.94" }, "bill_id": { "value": "1921" } } } } } } } } }, "withdrawals_journal": { "tables": { "default": { "sections": { "default": { "rowsIndex": [ "453f40df-950e-4fe2-bcbf-618811cd7b7e", "d8d50ce1-d048-48ba-ab06-994aa9561b11" ], "rows": { "453f40df-950e-4fe2-bcbf-618811cd7b7e": { "inputs": { "date": { "value": "2020-07-02" }, "company_uid": { "value": "employee_1" }, "bill_id": { "value": "1918" }, "cashings": { "value": "404.94" }, "salaries_to_pay": { "value": "404.94" }, "report_to_account": { "value": "1" } } }, "d8d50ce1-d048-48ba-ab06-994aa9561b11": { "inputs": { "date": { "value": "2020-08-22" }, "company_uid": { "value": "motor_company" }, "bill_id": { "value": "1919" }, "cashings": { "value": "67596.84" }, "purchases": { "value": "" }, "report_to_account": { "value": "1" }, "providers": { "value": "67596.84" } } } } } } } } }, "purchases_journal": { "tables": { "default": { "sections": { "default": { "rowsIndex": [ "4b8da7f3-8cf9-4de6-bda9-d62aef2ce493" ], "rows": { "4b8da7f3-8cf9-4de6-bda9-d62aef2ce493": { "inputs": { "company_uid": { "value": "motor_company" }, "date": { "value": "2020-08-21" }, "bill_id": { "value": "127" }, "providers": { "value": "67596.84" }, "purchases": { "value": "58792.64" }, "tps_to_receive": { "value": "2939.63" }, "tvq_to_receive": { "value": "5864.57" }, "report_to_account": { "value": "1" } } } } } } } } }, "providers_subledger": { "tables": { "motor_company": { "sections": { "default": { "rowsIndex": [ "5a8f6c19-81ff-4e95-9baa-0d1263519ed4", "da745157-f975-4b8e-85fe-b9d79e6f7e38", "3600b4df-9958-4f95-9c02-0eca0b790f85" ], "rows": { "5a8f6c19-81ff-4e95-9baa-0d1263519ed4": { "inputs": { "date": { "value": "2020-08-21" }, "reference": { "value": "purchases_journal_short" }, "bill_id": { "value": "127" }, "balance": { "value": "67596.84" }, "credit": { "value": "67596.84" }, "debit_credit": { "value": "credit_short" } } }, "da745157-f975-4b8e-85fe-b9d79e6f7e38": { "inputs": { "date": { "value": "2020-08-22" }, "other_bill_id": { "value": "check-1919" }, "reference": { "value": "withdrawals_journal_short" }, "debit": { "value": "67596.84" }, "balance": { "value": "" }, "debit_credit": { "value": "" } } }, "3600b4df-9958-4f95-9c02-0eca0b790f85": { "inputs": { "date": { "value": "2020-08-22" }, "other_bill_id": { "value": "check-1919" }, "reference": { "value": "withdrawals_journal_short" }, "debit": { "value": "67596.84" } } } } } } } } }, "clients_subledger": { "tables": { "client_15": { "sections": { "default": { "rowsIndex": [ "97792d10-a5ba-4018-baad-81526f2e9e54", "b82f9546-587c-4eef-876c-d87e3eb96db1" ], "rows": { "97792d10-a5ba-4018-baad-81526f2e9e54": { "inputs": { "date": { "value": "2020-05-12" }, "bill_id": { "value": "1920" }, "reference": { "value": "sales_journal_short" }, "debit": { "value": "68847.91" }, "balance": { "value": "68847.91" }, "debit_credit": { "value": "debit_short" } } }, "b82f9546-587c-4eef-876c-d87e3eb96db1": { "inputs": { "other_bill_id": { "value": "check-1755" }, "reference": { "value": "cashings_journal_short" }, "credit": { "value": "68847.91" }, "date": { "value": "2020-06-11" } } } } } } } } }, "sales_journal": { "tables": { "default": { "sections": { "default": { "rowsIndex": [ "72b6098f-49da-4fa1-a937-69b18aca2918" ], "rows": { "72b6098f-49da-4fa1-a937-69b18aca2918": { "inputs": { "date": { "value": "2020-05-12" }, "company_uid": { "value": "client_15" }, "report_to_account": { "value": "1" }, "bill_id": { "value": "1920" }, "clients": { "value": "68847.91" }, "sales": { "value": "59880.76" }, "tps_to_pay": { "value": "2994.04" }, "tvq_to_pay": { "value": "5973.11" } } } } } } } } }, "cashings_journal": { "tables": { "default": { "sections": { "default": { "rowsIndex": [ "5da0cd48-15ef-4770-88b2-4b696ac93557", "8a3d0e7c-80a6-45f5-8715-1e9fdefdd316" ], "rows": { "5da0cd48-15ef-4770-88b2-4b696ac93557": { "inputs": { "report_to_account": { "value": "1" }, "date": { "value": "2020-06-11" }, "company_uid": { "value": "client_15" }, "bill_id": { "value": "1755" }, "cashings": { "value": "68847.91" }, "clients": { "value": "68847.91" } } }, "8a3d0e7c-80a6-45f5-8715-1e9fdefdd316": { "inputs": { "company_uid": { "value": "our_retail_sales" }, "date": { "value": "2020-08-28" }, "cashings": { "value": "2701.52" }, "sales": { "value": "2349.66" }, "tps_to_pay": { "value": "117.48" }, "tvq_to_pay": { "value": "234.38" }, "report_to_account": { "value": "1" } } } } } } } } }, "ledger": { "tables": { "clients": { "sections": { "default": { "rowsIndex": [ "fa840a02-81b5-4881-8add-503c9f6258cf", "0dac078b-6ecf-4a40-bade-a183f31800d4" ], "rows": { "fa840a02-81b5-4881-8add-503c9f6258cf": { "inputs": { "date": { "value": "2020-08-31" }, "reference": { "value": "sales_journal_short" }, "debit": { "value": "68847.91" }, "balance": { "value": "68847.91" }, "debit_credit": { "value": "debit_short" } } }, "0dac078b-6ecf-4a40-bade-a183f31800d4": { "inputs": { "credit": { "value": "68847.91" }, "reference": { "value": "cashings_journal_short" }, "date": { "value": "2020-08-31" } } } } } } }, "sales": { "sections": { "default": { "rowsIndex": [ "5559f52d-4629-40e4-b51e-84556d81006f", "0f417b99-9b01-454b-ac47-767d4adbb32c", "6648f48e-aac6-454b-88d3-e9a868c0e783" ], "rows": { "5559f52d-4629-40e4-b51e-84556d81006f": { "inputs": { "date": { "value": "2020-08-31" }, "reference": { "value": "sales_journal_short" }, "credit": { "value": "59880.76" }, "balance": { "value": "59880.76" }, "debit_credit": { "value": "credit_short" } } }, "0f417b99-9b01-454b-ac47-767d4adbb32c": { "inputs": { "credit": { "value": "2349.66" }, "reference": { "value": "cashings_journal_short" }, "date": { "value": "2020-08-31" }, "balance": { "value": "62230.42" }, "debit_credit": { "value": "credit_short" } } }, "6648f48e-aac6-454b-88d3-e9a868c0e783": { "inputs": { "debit": { "value": "62230.42" }, "reference": { "value": "general_journal_short" }, "date": { "value": "2020-08-31" } } } } } } }, "tps_to_pay": { "sections": { "default": { "rowsIndex": [ "90b193c3-4de1-444d-8ea7-6275b5a0bae8", "5d127cc7-3eb2-49a5-b1a7-9aaaa42e870f" ], "rows": { "90b193c3-4de1-444d-8ea7-6275b5a0bae8": { "inputs": { "credit": { "value": "2994.04" }, "reference": { "value": "sales_journal_short" }, "date": { "value": "2020-08-31" }, "balance": { "value": "2994.04" }, "debit_credit": { "value": "credit_short" } } }, "5d127cc7-3eb2-49a5-b1a7-9aaaa42e870f": { "inputs": { "credit": { "value": "117.48" }, "debit_credit": { "value": "credit_short" }, "reference": { "value": "cashings_journal_short" }, "date": { "value": "2020-08-31" }, "balance": { "value": "3111.52" } } } } } } }, "tvq_to_pay": { "sections": { "default": { "rowsIndex": [ "a419a7bd-dcfe-4164-b06c-81d03535feca", "05529076-f6ab-4477-9a8d-9732689af6ac" ], "rows": { "a419a7bd-dcfe-4164-b06c-81d03535feca": { "inputs": { "credit": { "value": "5973.11" }, "balance": { "value": "5973.11" }, "debit_credit": { "value": "credit_short" }, "reference": { "value": "sales_journal_short" }, "date": { "value": "2020-08-31" } } }, "05529076-f6ab-4477-9a8d-9732689af6ac": { "inputs": { "credit": { "value": "234.38" }, "reference": { "value": "cashings_journal_short" }, "date": { "value": "2020-08-31" }, "debit_credit": { "value": "credit_short" }, "balance": { "value": "6207.49" } } } } } } }, "salaries": { "sections": { "default": { "rowsIndex": [ "605e8613-3ee9-4c17-85a7-8e4e65592eb6", "27aa78fb-152b-450a-aa0b-308b907e778c" ], "rows": { "605e8613-3ee9-4c17-85a7-8e4e65592eb6": { "inputs": { "debit": { "value": "648.66" }, "balance": { "value": "648.66" }, "debit_credit": { "value": "debit_short" }, "reference": { "value": "payroll_journal_short" }, "date": { "value": "2020-08-31" } } }, "27aa78fb-152b-450a-aa0b-308b907e778c": { "inputs": { "credit": { "value": "648.66" }, "reference": { "value": "general_journal_short" }, "date": { "value": "2020-08-31" } } } } } } }, "rrq_to_pay": { "sections": { "default": { "rowsIndex": [ "631e4938-0213-4699-88cd-efee2eab5c0e" ], "rows": { "631e4938-0213-4699-88cd-efee2eab5c0e": { "inputs": { "credit": { "value": "38.27" }, "balance": { "value": "38.27" }, "debit_credit": { "value": "credit_short" }, "reference": { "value": "payroll_journal_short" }, "date": { "value": "2020-08-31" } } } } } } }, "rqap_to_pay": { "sections": { "default": { "rowsIndex": [ "014b8383-ec9f-40d5-a40f-37b09c9a130f" ], "rows": { "014b8383-ec9f-40d5-a40f-37b09c9a130f": { "inputs": { "credit": { "value": "3.20" }, "balance": { "value": "3.20" }, "debit_credit": { "value": "credit_short" }, "reference": { "value": "payroll_journal_short" }, "date": { "value": "2020-08-31" } } } } } } }, "employment_insurance_to_pay": { "sections": { "default": { "rowsIndex": [ "e3141192-e259-4239-a8b3-94d0911a6f3f" ], "rows": { "e3141192-e259-4239-a8b3-94d0911a6f3f": { "inputs": { "date": { "value": "2020-08-31" }, "reference": { "value": "payroll_journal_short" }, "credit": { "value": "7.65" }, "balance": { "value": "7.65" }, "debit_credit": { "value": "credit_short" } } } } } } }, "provincial_tax_to_pay": { "sections": { "default": { "rowsIndex": [ "c2aaaf47-9d93-479c-8cdf-f05f9c017c7f" ], "rows": { "c2aaaf47-9d93-479c-8cdf-f05f9c017c7f": { "inputs": { "debit_credit": }, "balance": { "value": "97.30" }, "credit": { "value": "97.30" }, "reference": { "value": "payroll_journal_short" }, "date": { "value": "2020-08-31" } } } } } } }, "federal_tax_to_pay": { "sections": { "default": { "rowsIndex": [ "325166c7-167a-4538-94dd-82a30e1c8c6f" ], "rows": { "325166c7-167a-4538-94dd-82a30e1c8c6f": { "inputs": { "balance": { "value": "97.30" }, "credit": { "value": "97.30" }, "debit_credit": { "value": "credit_short" }, "reference": { "value": "payroll_journal_short" }, "date": { "value": "2020-08-31" } } } } } } }, "salaries_to_pay": { "sections": { "default": { "rowsIndex": [ "0d3ea85c-29f9-45d0-a9a3-e369e26fb59d", "472d65a3-ea4d-4e7a-8682-9a4212b0c7b2" ], "rows": { "0d3ea85c-29f9-45d0-a9a3-e369e26fb59d": { "inputs": { "credit": { "value": "404.94" }, "balance": { "value": "404.94" }, "debit_credit": { "value": "credit_short" }, "reference": { "value": "payroll_journal_short" }, "date": { "value": "2020-08-31" } } }, "472d65a3-ea4d-4e7a-8682-9a4212b0c7b2": { "inputs": { "debit": { "value": "404.94" }, "reference": { "value": "withdrawals_journal_short" }, "date": { "value": "2020-08-31" } } } } } } }, "cashings": { "sections": { "default": { "rowsIndex": [ "a1090fff-c9b1-4ad4-af6c-53ed4635d08d", "7595b2dc-3256-4c5c-a70c-d5ae9becf2d4" ], "rows": { "a1090fff-c9b1-4ad4-af6c-53ed4635d08d": { "inputs": { "credit": { "value": "68001.78" }, "balance": { "value": "68001.78" }, "debit_credit": { "value": "credit_short" }, "reference": { "value": "withdrawals_journal_short" }, "date": { "value": "2020-08-31" } } }, "7595b2dc-3256-4c5c-a70c-d5ae9becf2d4": { "inputs": { "debit": { "value": "71549.43" }, "balance": { "value": "3547.65" }, "debit_credit": { "value": "debit_short" }, "reference": { "value": "cashings_journal_short" }, "date": { "value": "2020-08-31" } } } } } } }, "providers": { "sections": { "default": { "rowsIndex": [ "403da98b-72ef-4b15-b0d3-62ecea118478", "1dc24abc-f2e0-4e90-8fcd-a2ef721adceb" ], "rows": { "403da98b-72ef-4b15-b0d3-62ecea118478": { "inputs": { "debit": { "value": "67596.84" }, "balance": { "value": "67596.84" }, "debit_credit": { "value": "debit_short" }, "reference": { "value": "withdrawals_journal_short" }, "date": { "value": "2020-08-31" } } }, "1dc24abc-f2e0-4e90-8fcd-a2ef721adceb": { "inputs": { "credit": { "value": "67596.84" }, "date": { "value": "2020-08-31" }, "reference": { "value": "purchases_journal_short" } } } } } } }, "purchases": { "sections": { "default": { "rowsIndex": [ "4aafac5f-e169-4277-b4fd-536b2853a049", "349a39b5-f175-4a83-aa0e-c7776699bbef" ], "rows": { "4aafac5f-e169-4277-b4fd-536b2853a049": { "inputs": { "debit": { "value": "58792.64" }, "balance": { "value": "58792.64" }, "debit_credit": { "value": "debit_short" }, "reference": { "value": "purchases_journal_short" }, "date": { "value": "2020-08-31" } } }, "349a39b5-f175-4a83-aa0e-c7776699bbef": { "inputs": { "reference": { "value": "general_journal_short" }, "date": { "value": "2020-08-31" }, "credit": { "value": "58792.64" } } } } } } }, "tps_to_receive": { "sections": { "default": { "rowsIndex": [ "6c856c2a-52ed-425a-a00c-6b9200cf26a0" ], "rows": { "6c856c2a-52ed-425a-a00c-6b9200cf26a0": { "inputs": { "debit": { "value": "2939.63" }, "reference": { "value": "purchases_journal_short" }, "date": { "value": "2020-08-31" }, "balance": { "value": "2939.63" }, "debit_credit": { "value": "debit_short" } } } } } } }, "tvq_to_receive": { "sections": { "default": { "rowsIndex": [ "8e3f5666-6e28-4b52-944e-e77f9bd7b25d" ], "rows": { "8e3f5666-6e28-4b52-944e-e77f9bd7b25d": { "inputs": { "debit": { "value": "5864.57" }, "balance": { "value": "5864.57" }, "debit_credit": { "value": "debit_short" }, "reference": { "value": "purchases_journal_short" }, "date": { "value": "2020-08-31" } } } } } } }, "summary_results": { "sections": { "default": { "rowsIndex": [ "8ae25bde-0008-4500-bfc9-d86c0ed7cd83", "07d0de0f-c060-4e7e-870a-398253f0dcf4", "b28de293-5fed-44f3-b8b8-63ec1e3c3faa" ], "rows": { "8ae25bde-0008-4500-bfc9-d86c0ed7cd83": { "inputs": { "reference": { "value": "general_journal_short" }, "date": { "value": "2020-08-31" }, "credit": { "value": "62230.42" }, "balance": { "value": "62230.42" }, "debit_credit": { "value": "credit_short" } } }, "07d0de0f-c060-4e7e-870a-398253f0dcf4": { "inputs": { "date": { "value": "2020-08-31" }, "reference": { "value": "general_journal_short" }, "debit": { "value": "59441.30" }, "balance": { "value": "2789.12" }, "debit_credit": { "value": "credit_short" } } }, "b28de293-5fed-44f3-b8b8-63ec1e3c3faa": { "inputs": { "reference": { "value": "general_journal_short" }, "date": { "value": "2020-08-31" }, "debit": { "value": "2789.12" } } } } } } }, "our_company_capital": { "sections": { "default": { "rowsIndex": [ "3417681b-e40a-4a31-8da9-546666cab847" ], "rows": { "3417681b-e40a-4a31-8da9-546666cab847": { "inputs": { "credit": { "value": "2789.12" }, "balance": { "value": "2789.12" }, "debit_credit": { "value": "credit_short" }, "reference": { "value": "general_journal_short" }, "date": { "value": "2020-08-31" } } } } } } } } }, "trial_balance": { "tables": { "default": { "sections": { "default": { "rowsIndex": [ "d7137ecd-59b3-4886-ada8-84c3cb87c165", "282f36e3-8efb-42b9-aa99-04f8a276e04c", "673b9089-69ae-471d-adf0-6135f221ef4f", "03d70141-af72-4d8f-8bf6-3a6c3e6992f9", "afef2bd4-ce4a-40f2-8639-58f55c34e049", "0fd3733f-1b0d-4bde-9d01-ab0e75fbaed0", "48c16621-000b-4e8e-b6b5-5a3a1027cb6b", "902a1eea-186d-4a55-a880-01905a04834a", "f4c5eaad-9f97-4ace-9172-18d71f1a51f4", "65b100fc-6c9c-4384-b0b5-b8baafec345b", "a060b654-77b4-4ce6-854a-29bfc49630ac", "5933c3e2-7624-49c6-a04e-9bae879433df", "7107e62a-3d97-46f1-8288-da51a1a620ac", "9480fb3a-a2d8-494e-8335-e72f2d827667", "a160ab94-8494-4063-ab71-f245603a6b7e", "53140098-e7ba-4790-89a4-813ee3b93ace", "e58c3d8d-924c-4500-93a4-b084c5a13be5", "7761dcc1-9f17-481e-907a-949d2ef21786", "e7cdf168-a199-44e3-887f-8f536a31fe12", "9d3bdce8-eae7-4395-a7ad-79f2b20aa875", "ebd2fdef-6ea2-42d1-80ba-3f750eb028a5", "d3eb1e1a-77e6-449a-a5ad-3d20ccc8b35f", "819eed8e-5c49-4975-b4d8-3cbcca01a5b6", "4d886dec-6101-4e57-9f1c-5d6d1dadac57", "afdffb3c-0dbe-4aa3-a8c8-5266c797a357" ], "rows": { "d7137ecd-59b3-4886-ada8-84c3cb87c165": { "inputs": { "account_nbr": { "value": "1010" }, "account_name": { "value": "cashings" }, "debit": { "value": "3547.65" } } }, "282f36e3-8efb-42b9-aa99-04f8a276e04c": { "inputs": { "account_nbr": { "value": "1100" }, "account_name": { "value": "clients" } } }, "673b9089-69ae-471d-adf0-6135f221ef4f": { "inputs": { "account_nbr": { "value": "1105" }, "account_name": { "value": "tps_to_receive" }, "credit": { "value": "" }, "debit": { "value": "2939.63" } } }, "03d70141-af72-4d8f-8bf6-3a6c3e6992f9": { "inputs": { "account_name": { "value": "tvq_to_receive" }, "account_nbr": { "value": "1110" }, "credit": { "value": "" }, "debit": { "value": "5864.57" } } }, "afef2bd4-ce4a-40f2-8639-58f55c34e049": { "inputs": { "account_nbr": { "value": "2100" }, "account_name": { "value": "providers" } } }, "0fd3733f-1b0d-4bde-9d01-ab0e75fbaed0": { "inputs": { "account_nbr": { "value": "2305" }, "account_name": { "value": "tps_to_pay" }, "credit": { "value": "3111.52" } } }, "48c16621-000b-4e8e-b6b5-5a3a1027cb6b": { "inputs": { "account_name": { "value": "tvq_to_pay" }, "account_nbr": { "value": "2310" }, "credit": { "value": "6207.49" } } }, "902a1eea-186d-4a55-a880-01905a04834a": { "inputs": { "account_nbr": { "value": "2350" }, "account_name": { "value": "salaries_to_pay" } } }, "f4c5eaad-9f97-4ace-9172-18d71f1a51f4": { "inputs": { "account_nbr": { "value": "2360" }, "account_name": { "value": "rrq_to_pay" }, "credit": { "value": "38.27" } } }, "65b100fc-6c9c-4384-b0b5-b8baafec345b": { "inputs": { "account_name": { "value": "rqap_to_pay" }, "account_nbr": { "value": "2365" }, "credit": { "value": "3.20" } } }, "a060b654-77b4-4ce6-854a-29bfc49630ac": { "inputs": { "account_name": { "value": "provincial_tax_to_pay" }, "account_nbr": { "value": "2375" }, "credit": { "value": "97.30" } } }, "5933c3e2-7624-49c6-a04e-9bae879433df": { "inputs": { "account_nbr": { "value": "2390" }, "account_name": { "value": "employment_insurance_to_pay" }, "credit": { "value": "7.65" } } }, "7107e62a-3d97-46f1-8288-da51a1a620ac": { "inputs": { "account_nbr": { "value": "2395" }, "account_name": { "value": "federal_tax_to_pay" }, "credit": { "value": "97.30" } } }, "9480fb3a-a2d8-494e-8335-e72f2d827667": { "inputs": { "account_nbr": { "value": "3100" }, "account_name": { "value": "our_company_capital" } } }, "a160ab94-8494-4063-ab71-f245603a6b7e": { "inputs": { "account_nbr": { "value": "3200" }, "account_name": { "value": "our_company_deposit" } } }, "53140098-e7ba-4790-89a4-813ee3b93ace": { "inputs": { "account_nbr": { "value": "3300" }, "account_name": { "value": "our_company_withdrawals" } } }, "e58c3d8d-924c-4500-93a4-b084c5a13be5": { "inputs": { "account_nbr": { "value": "4120" }, "account_name": { "value": "services_given" } } }, "7761dcc1-9f17-481e-907a-949d2ef21786": { "inputs": { "account_nbr": { "value": "4500", }, "account_name": { "value": "sales" }, "credit": { "value": "62230.42" } } }, "e7cdf168-a199-44e3-887f-8f536a31fe12": { "inputs": { "account_nbr": { "value": "4510" }, "account_name": { "value": "sales_returns_and_discounts" } } }, "9d3bdce8-eae7-4395-a7ad-79f2b20aa875": { "inputs": { "account_nbr": { "value": "4520" }, "account_name": { "value": "sales_deductions" } } }, "ebd2fdef-6ea2-42d1-80ba-3f750eb028a5": { "inputs": { "account_nbr": { "value": "5100" }, "account_name": { "value": "purchases" }, "debit": { "value": "58792.64" } } }, "d3eb1e1a-77e6-449a-a5ad-3d20ccc8b35f": { "inputs": { "account_nbr": { "value": "5110" }, "account_name": { "value": "purchases_returns_and_discounts" } } }, "819eed8e-5c49-4975-b4d8-3cbcca01a5b6": { "inputs": { "account_nbr": { "value": "5120" }, "account_name": { "value": "purchases_deductions" } } }, "4d886dec-6101-4e57-9f1c-5d6d1dadac57": { "inputs": { "account_nbr": { "value": "5300" }, "account_name": { "value": "salaries" }, "debit": { "value": "648.66" } } }, "afdffb3c-0dbe-4aa3-a8c8-5266c797a357": { "inputs": { "account_nbr": { "value": "5999" }, "account_name": { "value": "summary_results" } } } } } } } }, "inputs": { "end_date": { "value": "2020-08-31" } } }, "general_journal": { "tables": { "default": { "sectionsIndex": [ "one", "two", "three" ], "sections": { "one": { "rowsIndex": [ "53197625-1da8-48b0-9e2c-f30b28f25b83", "c6272574-2b83-4ffa-9858-887c1f055964" ], "rows": { "c6272574-2b83-4ffa-9858-887c1f055964": { "inputs": { "reference": { "value": "summary_results", "options": { "indent": 1 } }, "date": { "value": "2020-08-31" }, "credit": { "value": "62230.42" }, "account_nbr": { "value": "5999" }, "debit": { "value": "" } } }, "53197625-1da8-48b0-9e2c-f30b28f25b83": { "inputs": { "reference": { "value": "sales" }, "date": { "value": "2020-08-31" }, "debit": { "value": "62230.42" }, "account_nbr": { "value": "4500" }, "credit": { "value": "" } } } } }, "two": { "rowsIndex": [ "b00afda1-81f2-4ace-ad50-aec862b59f71", "699ef4b8-84c0-42a0-a9c5-4938b1b2d7c0", "4f850148-e023-429a-bcc8-0a661aaf54c1" ], "rows": { "4f850148-e023-429a-bcc8-0a661aaf54c1": { "inputs": { "reference": { "value": "salaries", "options": { "indent": 1 } }, "date": { "value": "2020-08-31" }, "credit": { "value": "648.66" }, "account_nbr": { "value": "5300" }, "debit": { "value": "" } } }, "b00afda1-81f2-4ace-ad50-aec862b59f71": { "inputs": { "date": { "value": "2020-08-31" }, "reference": { "value": "summary_results" }, "debit": { "value": "59441.30" }, "account_nbr": { "value": "5999" }, "credit": { "value": "" } } }, "699ef4b8-84c0-42a0-a9c5-4938b1b2d7c0": { "inputs": { "reference": { "value": "purchases", "options": { "indent": 1 } }, "date": { "value": "2020-08-31" }, "credit": { "value": "58792.64" }, "account_nbr": { "value": "5100" }, "debit": { "value": "" } } } } }, "three": { "rowsIndex": [ "24aa16b0-b1c9-4153-985c-c0627c438075", "c43b3409-9398-4fb1-a793-27d8117f6b9f" ], "rows": { "24aa16b0-b1c9-4153-985c-c0627c438075": { "inputs": { "debit": { "value": "2789.12" }, "date": { "value": "2020-08-31" }, "reference": { "value": "summary_results" }, "account_nbr": { "value": "5999" }, "credit": { "value": "" } } }, "c43b3409-9398-4fb1-a793-27d8117f6b9f": { "inputs": { "credit": { "value": "2789.12" }, "date": { "value": "2020-08-31" }, "reference": { "value": "our_company_capital", "options": { "indent": 1 } }, "account_nbr": { "value": "3100" }, "debit": { "value": "" } } } } } } } } }, "statement_income": { "tables": { "default": { "sections": { "operating_income": { "rowsIndex": [ "35021938-f789-4741-8b57-69ce9587ef23" ], "rows": { "35021938-f789-4741-8b57-69ce9587ef23": { "inputs": { "text": { "value": "sales" }, "money2": { "value": "62230.42", "options": { "underline": 1 } }, "money1": { "value": "62230.42" } } } } }, "cost_of_goods_sold": { "rowsIndex": [ "f7b1ca4f-a67b-4aef-814f-b98d847d82d4" ], "rows": { "f7b1ca4f-a67b-4aef-814f-b98d847d82d4": { "inputs": { "text": { "value": "purchases" }, "money2": { "value": "58792.64", "options": { "underline": 1 } }, "money1": { "value": "58792.64", "options": { "underline": 1 } } } } } }, "operating_expenses": { "rowsIndex": [ "salaries" ], "rows": { "salaries": { "inputs": { "money2": { "value": "648.66", "options": { "underline": 1 } }, "money1": { "value": "648.66", "options": { "underline": 1 } }, "text": { "value": "salaries" } } } } } }, "inputs": { "end_date": { "value": "2020-08-31" }, "profit_margin": { "value": "3437.78" }, "net_profit": { "value": "2789.12", "options": { "underline": 2 } } } } } }, "statement_equity": { "tables": { "default": { "sections": { "default": { "rowsIndex": [ "f760cbb2-b2ea-4dba-a802-38ca28cd78f2" ], "rows": { "f760cbb2-b2ea-4dba-a802-38ca28cd78f2": { "inputs": { "text": { "value": "net_profit" }, "money2": { "value": "2789.12", "options": { "underline": 1 } }, "money1": { "value": "2789.12", "options": { "underline": 1 } } } } } } }, "inputs": { "start_capital": { "value": "152737.00" }, "end_capital": { "value": "155526.12", "options": { "underline": 2 } } } } } }, "balance_sheet": { "tables": { "default": { "sections": { "fixed_assets": { "rowsIndex": [], "rows": {} }, "active_short_term": { "rowsIndex": [ "a55691ba-98bb-43f8-9d9e-a863e5c47752", "228f9a4f-cfc9-47d6-a116-aea6e967d542", "b2fe6bd8-684b-4568-adc0-a699dc6e00cb" ], "rows": { "228f9a4f-cfc9-47d6-a116-aea6e967d542": { "inputs": { "text": { "value": "tps_to_receive" }, "money2": { "value": "2939.63" } } }, "a55691ba-98bb-43f8-9d9e-a863e5c47752": { "inputs": { "text": { "value": "cashings" }, "money2": { "value": "3547.65" } } }, "b2fe6bd8-684b-4568-adc0-a699dc6e00cb": { "inputs": { "text": { "value": "tvq_to_receive" }, "money2": { "value": "5864.57", "options": { "underline": 1 } } } } } }, "passive_short_term": { "rowsIndex": [ "ac741f08-8a90-4237-aa67-128ddcdbb2d1", "84e08352-3983-4cd7-8fe8-cb8c82995370", "e5795cfd-fc65-4c4c-a5a6-761ee88dde56", "5596bd17-f932-4cff-9e36-15285be9626a", "b23347f0-c647-4370-b366-5e65cebf5fda", "b8f14675-28a0-4fbd-81ee-497bfbd8ac65", "f93070f9-8ee6-45a0-b544-b8363d112a73" ], "rows": { "ac741f08-8a90-4237-aa67-128ddcdbb2d1": { "inputs": { "text": { "value": "tps_to_pay" }, "money2": { "value": "3111.52" } } }, "84e08352-3983-4cd7-8fe8-cb8c82995370": { "inputs": { "text": { "value": "tvq_to_pay" }, "money2": { "value": "6207.49" } } }, "b23347f0-c647-4370-b366-5e65cebf5fda": { "inputs": { "text": { "value": "provincial_tax_to_pay" }, "money2": { "value": "97.30" } } }, "e5795cfd-fc65-4c4c-a5a6-761ee88dde56": { "inputs": { "text": { "value": "rrq_to_pay" }, "money2": { "value": "38.27" } } }, "f93070f9-8ee6-45a0-b544-b8363d112a73": { "inputs": { "money2": { "value": "97.30", "options": { "underline": 1 } }, "text": { "value": "federal_tax_to_pay" } } }, "b8f14675-28a0-4fbd-81ee-497bfbd8ac65": { "inputs": { "text": { "value": "employment_insurance_to_pay" }, "money2": { "value": "7.65" } } }, "5596bd17-f932-4cff-9e36-15285be9626a": { "inputs": { "text": { "value": "rqap_to_pay" }, "money2": { "value": "3.20" } } } } } }, "inputs": { "fixed_assets_total": { "value": "0.00", "options": { "underline": 1 } }, "active_total": { "value": "12351.85", "options": { "underline": 2 } }, "passive_short_term_total": { "value": "9562.73" }, "passive_equity_total": { "value": "165088.85", "options": { "underline": 2 } }, "equity_unique_owner_total": { "value": "155526.12", "options": { "underline": 1 } }, "active_short_term_total": { "value": "12351.85" } } } } } }, "bills": { "billsData": { "motor_company-send-127": { "uid": "motor_company-send-127", "billType": "provider", "billData": { "date": 1597979621257, "paidDate": 1598140584033, "billEntries": [ { "seededProductUid": "p_chlore_machine", "quantity": 29 }, { "seededProductUid": "p_chlore", "quantity": 112 }, { "seededProductUid": "p_robot_cleaner", "quantity": 8 }, { "seededProductUid": "p_winter_canvas", "quantity": 10 }, { "seededProductUid": "p_inflatables", "quantity": 5 }, { "seededProductUid": "p_paper_ribbon", "quantity": 192 }, { "seededProductUid": "p_led", "quantity": 42 }, { "seededProductUid": "p_treated_wood", "quantity": 5 }, { "seededProductUid": "p_water_heater", "quantity": 15 }, { "seededProductUid": "p_ladder", "quantity": 30 } ] }, "senderCompanyUid": "motor_company", "receiverCompanyUid": "our_company", "billNumber": 127 }, "client_15-receive-1920": { "uid": "client_15-receive-1920", "billType": "client", "billData": { "date": 1589267904270, "paidDate": 1591899124557, "billEntries": [ { "seededProductUid": "c_in_pool_21ft", "quantity": 1 }, { "seededProductUid": "c_in_pool_24ft", "quantity": 1 }, { "seededProductUid": "c_above_pool_24ft", "quantity": 1 }, { "seededProductUid": "c_above_pool_21ft", "quantity": 1 }, { "seededProductUid": "c_mid_pool_21ft", "quantity": 1 }, { "seededProductUid": "c_mid_pool_24ft", "quantity": 1 } ] }, "senderCompanyUid": "our_company", "receiverCompanyUid": "client_15", "billNumber": 1920 }, "client_15-send-1755": { "uid": "client_15-send-1755", "billType": "client_check", "billData": { "billUid": "client_15-receive-1920" }, "senderCompanyUid": "client_15", "receiverCompanyUid": "our_company", "billNumber": 1755 }, "motor_company-receive-1919": { "uid": "motor_company-receive-1919", "billType": "provider_check", "billData": { "billUid": "motor_company-send-127" }, "senderCompanyUid": "our_company", "receiverCompanyUid": "motor_company", "billNumber": 1919 }, "employee_1-receive-1921": { "uid": "employee_1-receive-1921", "billType": "employee", "billData": { "date": 1593648000000, "paidDate": 1593648000000, "billEntries": [ { "seededProductUid": "e_salary_service", "quantity": 38 } ] }, "senderCompanyUid": "our_company", "receiverCompanyUid": "employee_1", "billNumber": 1921 }, "employee_1-receive-1918": { "uid": "employee_1-receive-1918", "billType": "employee_check", "billData": { "billUid": "employee_1-receive-1921" }, "senderCompanyUid": "our_company", "receiverCompanyUid": "employee_1", "billNumber": 1918 }, "our_retail_sales-send-2020-08-28": { "uid": "our_retail_sales-send-2020-08-28", "billType": "retail_sales", "billData": { "date": 1598572800000, "billEntries": [ { "productDataUid": "rs_outdoor_sofa", "price": 2349.66 } ] }, "senderCompanyUid": "our_retail_sales", "receiverCompanyUid": "our_company", "billNumber": 13234 } }, "billsOrder": [ "employee_1-receive-1921", "employee_1-receive-1918", "client_15-send-1755", "motor_company-send-127", "motor_company-receive-1919", "client_15-receive-1920", "our_retail_sales-send-2020-08-28" ], "products": { "p_chlore_machine": { "productDataUid": "p_chlore_machine", "price": 58.15 }, "p_chlore": { "productDataUid": "p_chlore", "price": 39.24 }, "p_robot_cleaner": { "productDataUid": "p_robot_cleaner", "price": 840.38 }, "p_winter_canvas": { "productDataUid": "p_winter_canvas", "price": 107.41 }, "p_inflatables": { "productDataUid": "p_inflatables", "price": 55.91 }, "p_paper_ribbon": { "productDataUid": "p_paper_ribbon", "price": 7.9 }, "p_led": { "productDataUid": "p_led", "price": 30.06 }, "p_treated_wood": { "productDataUid": "p_treated_wood", "price": 1811.31 }, "p_water_heater": { "productDataUid": "p_water_heater", "price": 1845.67 }, "p_ladder": { "productDataUid": "p_ladder", "price": 170.46 }, "c_in_pool_21ft": { "productDataUid": "c_in_pool_21ft", "price": 13310.04 }, "c_in_pool_24ft": { "productDataUid": "c_in_pool_24ft", "price": 14616.43 }, "c_above_pool_24ft": { "productDataUid": "c_above_pool_24ft", "price": 6061.06 }, "c_above_pool_21ft": { "productDataUid": "c_above_pool_21ft", "price": 5104.07 }, "c_mid_pool_21ft": { "productDataUid": "c_mid_pool_21ft", "price": 9050.26 }, "c_mid_pool_24ft": { "productDataUid": "c_mid_pool_24ft", "price": 11738.9 }, "e_salary_service": { "productDataUid": "e_salary_service", "price": 17.07 } }, "companies": { "motor_company": { "companyDataUid": "motor_company", "discount": 5 }, "our_company": { "companyDataUid": "our_company", "discount": 0 }, "client_15": { "companyDataUid": "client_15", "discount": 0 }, "employee_1": { "companyDataUid": "employee_1", "discount": 0 }, "our_retail_sales": { "companyDataUid": "our_retail_sales", "discount": 0 } } }, "dynamicDropdownsData": { "provider": { "motor_company": { "condition": "0_0_n_30" }, "piscina_max": { "condition": "2_10_n_30" } }, "client": { "client_15": { "condition": "0_0_n_30" } } } } } } Création du corrigé Acc1 Étape 1: Trier les factures selon leur type Les factures triées seront stocker dans un dictionnaire Étape 2: Remplir les journaux avec les factures   1. Journals des achats (facture de type: "provider") Pour chacune des facture de type "provider", ajouter une row. (2pts) Date ->Date écrite sur la facture (2pts) Client à créditer -> Nom du fournisseur (1pts) Report au compte -> si la row a été reporter au Grand Livre aux. (Identifiant de la row) Facture -> le numero de la facture (4pts) Fournisseurs (crédit) -> le "Total" de la facture (4pts) Achats (débit) -> le "Sous-total" de la facture (2pts) Rendus et ravais sur achats (crédit) -> le rabais de la facture (2pts) TPS à recevoir (débit) -> le "TPS (5%)" de la facture (2pts) TVQ à recevoir (débit) -> le "TVQ (9.975%)" de la facture 2. Journals des ventes (facture de type: "client") Pour chacune des facture de type "client", ajouter une row. (2pts) Date ->Date écrite sur la facture (2pts) Client à débiter-> Nom du client (1pts) Report au compte -> si la row a été reporter au Grand Livre aux. (Identifiant de la row) Facture -> le numero de la facture (4pts) Clients (débit) -> le "Total" de la facture (4pts) Ventes (crédit) -> le "Sous-total" de la facture (2pts) Rendus et rabais sur ventes -> le rabais de la facture  (2pts) TPS à payer (crédit) -> le "TPS (5%)" de la facture (2pts) TVQ à payer (crédit) -> le "TVQ (9.975%)" de la facture 3. Journals des encaissements (facture de type: "client_check" et "retail_sales") Pour chacune des facture de type "client_check", ajouter une row. (2pts) Date ->Date écrite sur la facture (2pts) Nom du client ou explications -> Nom du client inscrit dans la section "Description" (2pts) Numéro du chèque -> le numero de chèque inscrit dans la section "Description" (2pts) Report au compte -> si la row a été reporter au Grand Livre aux. (2pts) Encaisse (débit) -> le montant inscrit dans la section "Total" (2pts) Clients (crédit) -> le montant inscrit dans la section "Total" Pour chacune des facture de type "retail_sales", ajouter une row. Date ->Date écrite sur la facture Nom du client ou explications -> "Ventes au comptant" Report au compte -> si la row a été reporter au Grand Livre aux. Encaisse (débit) -> le montant inscrit dans la section "Total" Ventes (crédit) -> le montant doit être calculer en retirant les taxes du "Total" ("Total" / 1.14975) TPS à payer (crédit) -> le montant doit être calculer (montant de ventes * 0.05) TVQ à payer (crédit) -> le montant doit être calculer (montant de ventes * 0.09975) 4. Journals des Décaissements (facture de type: "provider_check" et "employee_check")     Pour chacune des facture de type "provider_check", ajouter une row. Date ->Date écrite sur la facture Nom du fournisseur ou du bénéficiaire -> Nom du Fournisseurs inscrit après "Payer à l'ordre de" Numéro du chèque -> le numero de chèque Report au compte -> si la row a été reporter au Grand Livre aux. Encaisse (crédit) -> le montant inscrit dans l'encadré à droite Fournisseurs (débit) -> le montant inscrit dans l'encadré à droite Pour chacune des facture de type "employee_check", ajouter une row. Date ->Date écrite sur la facture Nom du fournisseur ou du bénéficiaire -> Nom du Fournisseurs inscrit après "Payer à l'ordre de" Numéro du chèque -> le numero de chèque Report au compte -> si la row a été reporter au Grand Livre aux. Encaisse (crédit) -> le montant inscrit dans l'encadré à droite Salaires à payer (débit) -> le montant inscrit dans l'encadré à droite 5. Journals des salaires(facture de type: "employee")     Pour chacune des facture de type "employee", ajouter une row. Date -> Date écrite sur la facture Nom du salarié -> Nom de l'employée écrit sous "Émise à" Taux horaire -> montant dans la section "Taux horaire" de la facture Nombre d'heures -> montant dans la section "Nombre d'heures" de la facture Salaires (débit) -> "Salaire brut" de la facture RRQ à payer (crédit) -> "RRQ" dans la secton "Retenus" de la facture RQAP à payer (crédit) -> "RQAP" dans la secton "Retenus" de la facture Assurance-emploi à payer (crédit) -> "Assurance-emploi" dans la secton "Retenus" de la facture Impôt provincial à payer (crédit) -> "Impôt provincial" dans la secton "Retenus" de la facture Impôt fédéral à payer (crédit) -> "Impôt fédéral" dans la secton "Retenus" de la facture Salaires à payer (crédit) -> "Salaire net" de la facture Numéro du relevé de paie -> le numéro de relevé de paie écrit sur la facture en haut à droite Étape 3: Remplir les grands livres auxiliaires 1. Grand livre auxiliaire des fournisseurs   Pour chacune des rows qui affecte un fournisseur dans le journal des achats/décaissements, ajouter une row. (les rows doivent être trier par date) Date -> Date de la row de référence Facture -> Si la row de référence vient du Journal des achats, écrire le numéro de la facture Libellé -> Si la row de référence vient du Journals des décaissements, écrire si c'est un chèque ou une note de crédit, et écrire le numéro de la facture Référence -> D'où vient la row de référence Débit -> Si la colonne de fournisseur de la row de référence est du type "débit", écrire le même montant Crédit -> Si la colonne de fournisseur de la row de référence est du type "crédit", écrire le même montant Solde -> montant du "solde" de la row précédente +/- le montant de débit/crédit de la row actuel Dt / Ct -> si le montant du solde est en Débit ou en Crédit 2. Grand livre auxiliaire des clients   Pour chacune des rows qui affecte un fournisseur dans le journal des ventes/encaissements, ajouter une row. (les rows doivent être trier par date) Date -> Date de la row de référence Facture -> Si la row de référence vient du Journal des ventes, écrire le numéro de la facture Libellé -> Si la row de référence vient du Journals des encaissements, écrire si c'est un chèque ou une note de crédit, et écrire le numéro de la facture Référence -> D'où vient la row de référence Débit -> Si la colonne de fournisseur de la row de référence est du type "débit", écrire le même montant Crédit -> Si la colonne de fournisseur de la row de référence est du type "crédit", écrire le même montant Solde -> montant du "solde" de la row précédente +/- le montant de débit/crédit de la row actuel Dt / Ct -> si le montant du solde est en Débit ou en Crédit Étape 3: Remplir le grand livre et le journal général 1. Grand livre Remplir chacun des comptes disponible à l'aide des montants total afficher dans l'avant dernière ligne des journals (Achats, Ventes, Encaissements, Décaissements, Salaires) Date -> Date de la fin de l'exercise financier Référence -> de quel Journal vient le montant Débit ou Crédit -> Selon le type de la colonne du journals en question, écrire le montant du total (Avant dernière ligne) Solde -> montant du "solde" de la row précédente +/- le montant de débit/crédit de la row actuel Dt / Ct -> si le montant du solde est en Débit ou en Crédit 2. Journal général     Remplir le journal général à l'aide du solde final des comptes dans le Grand libre. 3 Sections qui regroupe des compte differents devront être présent: Produits, Charges et Équité. L'ordre de la section de produits ou de charges n'a pas d'importance mais, la section d'équité doit être à la fin. Dans le cas de la section de produits, les comptes doivent être en premier dans la section sans indentation et le sommaire des résultats doit être à la fin avec un niveau d'indentation de 1   Pour le cas de la section de charges, c'est l'inverse, le sommaire des résultats doit être en premier sans indentation tandis que les comptes doivent être à la fin avec un niveau d'indentation de 1   Pour le cas de la section d'équité, le placement dans la section dépend de si les charges sont plus haute que les produits. Si les Produits sont plus grand, le sommaire des résultats est en premier sans indentation et le compte de capitaux est en deuxième avec un niveau d'indentation de 1. Si les Charges sont plus grande, la section des capitaux est en premier sans indentation et le sommaire des résultats est en deuxième avec un niveau d'indentation de 1 La valeur à écrire dans la section équité est la valeur absolue des produits moins les charges. Dans chaque section, l'entrée sur le sommaire des résultats sert à balancer la somme du reste de la section dans type opposée. Remplir une row Date -> date de fin de l'exercise financier Nom de compte -> Voir les informations en haut Numéro de compte -> numéro associé au nom du compte Débit -> Si le compte est de produits ou voir les informations en haut  Crédit -> Si le compte est de charges ou voir les informations en haut 3. Grand livre (Suite) Pour chacune des lignes dans le journal général, ajouter une ligne dans le compte approprié du Grand livre Date -> Date de la fin de l'exercise financier Référence -> Journal général Débit ou Crédit -> Selon le type de la colonne du montant, écrire le montant. Solde -> montant du "solde" de la row précédente +/- le montant de débit/crédit de la row actuel Dt / Ct -> si le montant du solde est en Débit ou en Étape 4: Remplir la balance de vérification 1. Balance de vérification Pour chaque compte du grand livre, ajouter une ligne pour le compte correspondant (Trier par numéro de compte) Numéro de compte -> Numéro du compte  Nom du compte -> Nom du compte  Débit/Crédit -> Écrire le solde final du compte (Sans compter les lignes dont la référence est le journal général) dans la colonne que Dt/Ct indique et si le compte à un solde ne rien écrire dans aucun des deux champs  Étape 5: Remplir les états financiers 1. État des résultats Section Produits d'exploitation  Ajouter une ligne pour chaque compte de produits et la valeur du compte dans l'input de gauche La dernière ligne de la section doit avoir le montant total de la section dans l'input de droite et avoir l'input de gauche avec un underline. Section Coût des marchandises vendues Ajouter une ligne pour chaque compte de charges (avec sous type Coût des marchandises vendues) et la valeur du compte dans l'input de gauche La dernière ligne de la section doit avoir le montant total de la section dans l'input de droite et avoir l'input de gauche et de droite avec un underline. Input de Marge bénéficiaire brute  Le montant de l'input est calculé à l'aide du total de la section Produits d'exploitation moins le total de la section Coût des marchandises vendues Section Charges d'exploitation  Ajouter une ligne pour chaque compte de charges (avec sous type Charges d'exploitation) et la valeur du compte dans l'input de gauche La dernière ligne de la section doit avoir le montant total de la section dans l'input de droite et avoir l'input de gauche et de droite avec un underline. Input de Bénéfice net  Le montant de l'input est calculé à l'aide de l'input Marge bénéficiaire brute moins le total de la section Charges d'eploitation Avoir deux underline. 2. État des capitaux propres Input de capital au début de l'exercise financier Capitals au départ de l'états financiers Pour les lignes, ajouter une ligne par choses qui impact le capital finaux de l'entreprise. Écrire le montant de l'impact dans l'input de gauche  La dernière ligne de la section doit avoir le montant total de la section dans l'input de droite et avoir l'input de gauche et de droite avec un underline. Input du capital à la fin de l'exercise financier Le montant de l'input est calculé à l'aide de l'input capital au début de l'exercise financier plus le total de la section Charges d'eploitation 3. Bilan Section d'Actif à court terme Ajouter une ligne pour chaque compte d'actif à court terme et la valeur du compte dans l'input de gauche La dernière ligne doit avoir un underline sur l'input de gauche Input de Total d'actif à court terme Le montant de l'input est calculé à l'aide du total de la Section d'actif à court terme Section d'Immobilisations Ajouter une ligne pour chaque compte d'Immobilisations et la valeur du compte dans l'input de gauche La dernière ligne doit avoir un underline sur l'input de gauche Input de Total d'immobilisations Le montant de l'input est calculé à l'aide du total de la Section d'immobilisations Doit avoir un underline Input de Total des actifs Le montant de l'input est calculé à l'aide du total de l'input de Total d'actif à court terme plus Input de Total d'immobilisations Doit avoir deux underline Section de passif à court terme Ajouter une ligne pour chaque compte de passif à court terme et la valeur du compte dans l'input de gauche La dernière ligne doit avoir un underline sur l'input de gauche Input de Total de passif à court terme Le montant de l'input est calculé à l'aide du total de la Section de passif à court terme Section Capitaux propres Avoir une ligne pour le et écrire le capitals final de l'entreprise dans l'input de droite et avoir un underline Input de Total des actifs Le montant de l'input est calculé à l'aide du total de l'input de Total de passif à court terme plus le total de la section Capitaux propres Doit avoir deux underline. Pointage des differents champs (2pts) Date (Identifiant de la ligne) Fournisseur à créditer (1pts) Report au compte (Identifiant de la ligne) Facture (4pts) Fournisseurs (crédit) (4pts) Achats (débit) (2pts) Rendus et ravais sur achats (crédit) (2pts) TPS à recevoir (débit) (2pts) TVQ à recevoir (débit) (2pts) Date (Identifiant de la ligne) Client à débiter (1pts) Report au compte (Identifiant de la ligne) Facture (4pts) Clients (débit) (4pts) Ventes (crédit) (2pts) Rendus et rabais sur ventes (2pts) TPS à payer (crédit) (2pts) TVQ à payer (crédit)   (2pts) Date ->Date écrite sur la facture (identifiant de la ligne) Nom du client ou explications (identifiant de la ligne) Numéro du chèque (1pts) Report au compte (4pts) Encaisse (débit) (4pts) Clients (crédit) (4pts) Ventes (crédit) (2pts) TPS à payer (crédit) (2pts) TVQ à payer (crédit) (2pts) Date (identifiant de la ligne) Nom du fournisseur ou du bénéficiaire (identifiant de la ligne) Numéro du chèque (1pts) Report au compte (4pts) Encaisse (crédit) (4pts) Fournisseurs (débit) (4pts) Salaires à payer (débit) (2pts) Date (2pts) Nom du salarié (2pts) Taux horaire (2pts) Nombre d'heures (2pts) Salaires (débit) (2pts) RRQ à payer (crédit) (2pts) RQAP à payer (crédit) (2pts) Assurance-emploi à payer (crédit) (2pts) Impôt provincial à payer (crédit) (2pts) Impôt fédéral à payer (crédit) (2pts) Salaires à payer (crédit) (identifiant de la ligne) Numéro du relevé de paie (2pts) Date (1pts) Numéro de compte (2pts) Nom de compte (2pts) Débit (2pts) Crédit (2pts) Date (2pts) Référence (2pts) Débit (2pts) Crédit (2pts) Solde (2pts) Dt / Ct (2pts) Date (identifiant de la ligne) Numéro de facture (identifiant de la ligne) Libellé (2pts) Référence (2pts) Débit (2pts) Crédit (2pts) Solde (2pts) Dt / Ct (identifiant de la ligne) Numéro de compte (identifiant de la ligne) nom de compte (2pts) Débit (2pts) Crédit Inputs dans les sections avec des tabulations : 1pts chaque pour un total de 45% du modulePage Inputs à droite des textes en gras : 1pts chaque pour un total de 25% du modulePage 10% du modulePage pour que les comptes soit dans les bonnes sections 20% du modulePage pour que les options des inputs soit bonnes ($, underline, signe négatif) Inputs dans les sections avec des tabulations : 1pts chaque pour un total de 50% du modulePage Inputs à droite des textes en gras : 1pts chaque pour un total de 30% du modulePage 20% du modulePage pour que les options des inputs soit bonnes ($, underline, signe négatif) Inputs dans les sections avec des tabulations : 1pts chaque pour un total de 45% du modulePage Inputs à droite des textes en gras : 1pts chaque pour un total de 25% du modulePage 10% du modulePage pour que les comptes soit dans les bonnes sections 20% du modulePage pour que les options des inputs soit bonnes ($, underline, signe négatif)                   Préférences Les dépendances sont présentés sous forme d'une condition. Pour les préférences de type string, c'est l'une des valeurs possibles qui sera le uid inscrit dans la condition. (e.g. La condition products_company provient de la préférence our_company_type) Pour les préférences de type int, la valeur attendue est inscrite sous forme de condition. (e.g. num_columns == 3) Présentation des préférences Préférences des modules Uid Wizard Type Valeur par défaut (constants) + Valeurs possibles Description + Dépendances our_company_type ✔ string products_company Valeurs possibles - products_company - services_company - products_and    _services_company Choix du type de companie stock_type ✔ string permanent_stock Valeurs possibles - permanent_stock - periodic_stock Choix du type de stock   Dépendances products_company || products_and_services_company has_taxes ✔ bool true Contient des taxes à la consommation has_decimals ✔ bool true Contient des valeurs décimales (s'il y a lieu, 2 décimales par défaut)   Dépendances has_taxes has_deductions ✔ bool true Contient des escomptes sur ventes et achats (avec les conditions de paiement e.g. 2/10 n/30) uses_auxiliary_journals ✔ bool true Utiliser les journaux auxiliaires (ou le journal général)  has_employees ✔ bool true La compagnie possède des employées et traite les paies has_credit_notes ✔ bool true Contient des rendus et rabais sur ventes et achats (notes de crédit) ignored_accounts   array [ ] Ignore les comptes du grand livre contenus dans la liste hidden_accounts   array [ ] Cache les comptes du grand livre contenus dans la liste pour les étudiants. Les comptes sont utilisés dans la création du ou des contextes d'un module. Cette préférence est utile pour cacher des comptes qui ne sont vraiment pas utiles dans le contexte du module accounts_uses_last_financial_statement   bool false Crée un contexte pour initialiser des données comme des valeurs uses_accounting_closing ✔ bool true Procède à la clôture (Fermeture des comptes débiteurs/cérditeurs, etc.) unique_{client or provider}_preference   bool false Utilisation de client/fournisseur unique lors de la création des factures last_year_partners_with_empty_balance   bool true ??? (Pas utilisé?) uses_bill_id_in_general_journal   bool false Détermine si le journal général utilise la vielle correction (valeur : true) uses_new_regularizations   bool false Utilisation de la nouvelle gestion des régularisations. La vielle version était utilisée pour l'ancien système des amortissements.   Dépendances uses_regularizations has_new_immobilizations   bool true Détermine s'il y a une création de nouvelles immobilisations   Dépendances has_immobilizations has_new_contracts   bool true Détermine s'il y a une création de nouveaux contrats   Dépendances uses_regularizations uses_regularizations ✔ bool true Procède aux écritures de clôture dans le journal général. (Amortissements, Charges payées d'avance, Produits perçus d'avance, Charges à payer et Produits à recevoir) **Exclut la régularisation des stocks pages ✔ object { } Contient tous les settings de pages à écraser des originaux se trouvant dans pages_settings.json. La plupart du temps, ce sont les préférences de pages qui sont écrasées dans cet objet. affected_regularizations_reports   array? null ??? has_immobilizations ✔ bool true Contient des immobilisations (i.e. Équipement de bureau, Matériel roulant, Ameublement) practice_num_seeds ✔ int 0 Valeurs possibles - 0 (infini) - 1 à 10 Détermine le nombre de versions de modules. Avec une valeur de 0, chaque étudiant aura une version différente. summative_num_seeds ✔ int 0 Valeurs possibles - 0 (infini) - 1 à 10 Détermine le nombre de versions de modules. Avec une valeur de 0, chaque étudiant aura une version différente. has_helper_in_summative ✔ bool true Détermine si le mode sommatif du module contient des modèles et/ou aides-mémoires. (i.e. modèle des états financiers de l'an passé) Le mode formatif contient toujours les modèles et/ou aides-mémoires. scenario_accounts_view_type ✔ string trial_balance Valeurs possibles - trial_balance - accounts_list Détermine si les comptes initiaux sont affichés dans la fenêtre du scénario à l'aide d'une balance de vérification ou d'une liste alphabétique de comptes uses_taxes_payment_form   bool true Inclut le rapport et la remise de taxe(s)   Dépendances has_taxes uses_stock_regularizations   bool true Procède à la régularisation de stock   Dépendances products_company || products_and_services_company has_immobilizations_taxes_report   bool true Procède à la création des pj et de l'écriture avec les taxes municipales et scolaires   Dépendances has_immobilizations && has_land_immobilizations && uses_regularizations has_banking_transactions   bool true Contient des transactions bancaires has_land_immobilizations   bool true Contient un ou des terrains (+ taxes municipales et scolaires)   Dépendances has_immobilizations   Préférences des pages Page Uid Uid Wizard Type Valeur par défaut (constants) + Valeurs possibles Description + Dépendances all ignored_options   array [ ] (constants) Les options d'inputs qui sont ignorées lors de la correction du module page (e.g. minus, indent, underline, etc.) all ignored_grading_column_uids   array [ ] (constants) Les colonnes du tableau qui sont ignorées lors de la correction du module page (e.g. Les colonnes des noms de comptes prédeterminés dans le chiffrier) all ignored_grading_relation_uids   array [ ] (constants) Les uids relationnels qui sont ignorées lors de la correction du module page (e.g. start_stock_of_goods) ** Seulement utilisé dans le journal général et le grand livre all money_tolerance_range   int 1 (sim_settings) Tolérance négative/positive de valeur inscrite par l'étudiant dans un champs de nombre entier d'argent balance_sheet num_columns ✔ int 2 (pages_settings) Valeurs possibles - 2 ou 3 Nombre de colonnes pour les calculs des valeurs des comptes (money column inputs)   Dépendances   Comptes du grand livre Se retrouvent dans accounts.json Uid Dépendances cashings ✖ temporary_investments has_banking_transactions clients ✖ gst_ca_qc_to_receive has_taxes qst_ca_qc_to_receive has_taxes hst_ca_on_to_receive has_taxes hst_ca_nb_to_receive has_taxes hst_ca_pe_to_receive has_taxes interest_to_receive has_banking_transactions && uses_regularizations taxes_to_receive has_taxes stock_of_goods products_company || products_and_services_company office_supplies ✖ insurance_paid_in_advance uses_regularizations municipal_taxes_paid_in_advance has_immobilizations && has_land_immobilizations && uses_regularizations school_taxes_paid_in_advance has_immobilizations && has_land_immobilizations && uses_regularizations publicity_paid_in_advance uses_regularizations rolling_stock has_immobilizations rolling_stock_cumulative_depreciation has_immobilizations && uses_regularizations equipment has_immobilizations equipment_cumulative_depreciation has_immobilizations && uses_regularizations furnishings has_immobilizations furnishings_cumulative_depreciation has_immobilizations && uses_regularizations land has_immobilizations && has_land_immobilizations bank_loan has_banking_transactions providers ✖ hst_ca_on_to_pay has_taxes hst_ca_nb_to_pay has_taxes hst_ca_pe_to_pay has_taxes gst_ca_qc_to_pay has_taxes qst_ca_qc_to_pay has_taxes taxes_to_pay has_taxes salaries_to_pay has_employees rrq_ca_qc_to_pay has_employees cpp_ca_qc_to_pay has_employees rqap_ca_qc_to_pay has_employees income_tax_provincial_ca_qc_to_pay has_employees employment_insurance_ca_qc_to_pay has_employees income_tax_federal_ca_qc_to_pay has_employees income_tax_provincial_ca_on_to_pay has_employees income_tax_provincial_ca_nb_to_pay has_employees income_tax_provincial_ca_pe_to_pay has_employees employment_insurance_ca_to_pay has_employees income_tax_federal_ca_nb_to_pay has_employees income_tax_federal_ca_to_pay has_employees interest_to_pay has_banking_transactions && uses_regularizations sales_received_in_advance uses_regularizations services_given_received_in_advance uses_regularizations our_company_capital ✖ our_company_deposit ✖ our_company_withdrawals ✖ services_given services_company || products_and_services_company interest_income uses_regularizations sales products_company || products_and_services_company sales_returns_and_discounts has_credit_notes && (products_company || products_and_services_company) sales_deductions has_deductions && (products_company || products_and_services_company) start_stock_of_goods products_company || products_and_services_company purchases products_company || products_and_services_company purchases_returns_and_discounts has_credit_notes && (products_company || products_and_services_company) purchases_deductions has_deductions && (products_company || products_and_services_company) end_stock_of_goods products_company || products_and_services_company salaries has_employees rent ✖ publicity ✖ office_charges ✖ maintenance_supplies_charges services_company municipal_taxes has_immobilizations && has_land_immobilizations && uses_regularizations school_taxes has_immobilizations && has_land_immobilizations && uses_regularizations insurance ✖ interests_charges has_banking_transactions bank_charges has_banking_transactions rolling_stock_depreciation has_immobilizations && uses_regularizations equipment_depreciation has_immobilizations && uses_regularizations furnishings_depreciation has_immobilizations && uses_regularizations summary_results ✖   Pièces justificatives Se retrouvent dans bills_settings_definition.json et dans la fonction acc1_utils_create_bills.createBillsByType Uid Dépendances provider_upfront_payment  ✖ provider  ✖ provider_credit_note has_credit_notes provider_check  ✖ client_upfront_payment  ✖ client  ✖ client_credit_note has_credit_notes client_check  ✖ employee has_employees employee_check has_employees retail_sales products_company || products_and_services_company building_owner_misc_check  ✖ insurance_provider_taxless_misc_check  ✖ bank_charges_report has_banking_transactions bank_loan_report has_banking_transactions && !uses_auxiliary_journals deposit_check ✖ withdrawals_check ✖ end_stock_of_goods_report (products_company || products_and_services_company) && periodic_stock rolling_stock_report has_immobilizations && uses_regularizations equipment_report has_immobilizations && uses_regularizations furnishings_report has_immobilizations && uses_regularizations long_term_services_client_contracts_report uses_regularizations && (services_company || products_and_services_company) long_term_publicity_provider_contracts_report uses_regularizations long_term_insurance_provider_contracts_report uses_regularizations used_office_supplies_report uses_regularizations municipal_immobilizations_taxes_report has_immobilizations && has_land_immobilizations && uses_regularizations school_immobilizations_taxes_report has_immobilizations && has_land_immobilizations && uses_regularizations short_term_investment_contracts_report has_banking_transactions && uses_regularizations short_term_loan_contracts_report has_banking_transactions && uses_regularizations employee_partial_report has_employees && uses_regularizations   Pages Se retrouvent dans pages_settings_definition.json Uid Dépendances purchases_journal uses_auxiliary_journals sales_journal uses_auxiliary_journals withdrawals_journal uses_auxiliary_journals cashings_journal uses_auxiliary_journals payroll_journal uses_auxiliary_journals && has_employees providers_subledger ✖ clients_subledger ✖ stocks_subledger (products_company || products_and_services_company) && permanent_stock general_journal ✖ ledger ✖ trial_balance_regularized_after_closure ✖ trial_balance_before_regularizations_and_closure ✖ trial_balance_regularized ✖ trial_balance_after_closure ✖ statement_income ✖ statement_equity ✖ balance_sheet ✖ accounting_journal ✖ taxes_payment_form has_taxes && uses_taxes_payment_form employee_income_taxes_form has_employees && manual_income_taxes employer_income_taxes_form has_employees && manual_income_taxes   Scenario Pages Les dépendances se retrouvent dans modules.json Seulement les scenario pages avec des conditions sont listées Uid Dépendances context_with_helper has_helper_in_summative context_without_helper !has_helper_in_summative income_taxes has_employees trial_balance trial_balance accounts_list accounts_list statement_income has_helper_in_summative statement_equity has_helper_in_summative balance_sheet has_helper_in_summative   Élément de pages Se retrouvent dans module_pages.json Seulement les éléments avec des conditions sont listées Page Uid Type Uid Dépendances purchases_journal column_input purchases products_company || products_and_services_company purchases_returns_and_discounts products_company || products_and_services_company maintenance_supplies_charges services_company sales_journal column_input sales products_company || products_and_services_company sales_returns_and_discounts products_company || products_and_services_company services_given services_company || products_and_services_company withdrawals_journal column_input purchases_deductions products_company || products_and_services_company purchases products_company || products_and_services_company maintenance_supplies_charges services_company cashings_journal column_input sales_deductions products_company || products_and_services_company sales products_company || products_and_services_company services_given services_company || products_and_services_company general_journal column_input bill_id uses_bill_id_in_general_journal reference uses_bill_id_in_general_journal account_uid !uses_bill_id_in_general_journal account_number !uses_bill_id_in_general_journal section_structure   !uses_bill_id_in_general_journal ledger column_input wording uses_auxiliary_journals bill_id !uses_auxiliary_journals statement_income table_structure. structure_items gross_sales products_company || products_and_services_company operating_income products_company || products_and_services_company operating_income_service services_company operating_income_service_total services_company cost_of_goods_sold products_company || products_and_services_company profit_margin products_company || products_and_services_company other_operating_income products_and_services_company operating_expenses products_company || products_and_services_company operating_expenses_service services_company operating_expenses_service_total services_company column_inputs money4 products_company || products_and_services_company money3 products_company || products_and_services_company balance_sheet table_structure. structure_items immobilization has_immobilizations immobilization_total has_immobilizations column_inputs money3 num_columns == 3         StaticData Uid Google Sheet Description scenario ✔ Contient tous les scénarios spécifiques à chaque module. Les uids des textes sont composés du préfixe suivant : scenario_{nom du module}_ Pour savoir si certaines pages du scénario sont inclues ou pas, il faut se référer au visibility conditions des pages du scénario dans modules.json products ✔ Contient tous les produits achetés ou vendus par la compagnie. On y décrit le type de produits ainsi que l'éventail des prix d'achat ou de vente, des quantité lors de l'achat ou la vente, des quantités en stock, etc. Les salaires des employés sont présents dans ce document. services ✔ Contient tous les services offerts par la compagnie. On y décrit le type de produits ainsi que l'éventail des prix d'achat ou de vente, des quantité lors de l'achat ou la vente, etc. partners ✔ Contient tous les partenaires d'affaires de la companie avec leur type, soit les employees.json et les companies.json employees ✔ Contient tous les employés que la compagnie peut engager et utiliser dans les paies. companies ✔ Contient toutes les compangies, bénéficiaires ou entités avec lesquels la compagnie fait affaire. Ça inclut les fournisseurs, les clients, la compangnie de l'étudiant et son propriétaire, etc. On y décrit entre autres, leur type de pj ou encore les produits et/ou services qu'ils achètent ou vendent. taxes ✔ Contient toutes les taxes à la consommation. On y décrit comment les calculer d'année en année.  Pour savoir à quelles régions appartiennent une taxe, il faut se référer à regions_settings.json income_taxes ✔ Contient toutes les retenues salariales pour l'employée. On y décrit comment les calculer d'année en année. Pour savoir à quelles régions appartiennent une taxe, il faut se référer à regions_settings.json income_taxes_codes ✔ Contient toutes les codes possibles pour les retenues salariales calculer à partir de code. interests ✔ Contient tous les intérêts pour des emprunts ou des placements. On y décrit comment les calculer d'année en année. regions ✔ Contient toutes les régions qu'un professeur peut choisir pour contextualiser sa simulation. conditions ✔ Contient toutes les conditions de paiement qu'un client ou un fournisseur peut avoir avec la compagnie. Certaines conditions offrent des escomptes lorsque la facture est payée à court terme. dynamic_dropdown_data_structure ✔ Contient tous les identifiants de data pour dropdown avec du contenu dynamique créé par l'étudiant (e.g. client, provider) dropdown_data ✔ Contient tout le data pour dropdown avec contenu statique. (e.g. types de journaux, types de régularisation, etc.) Pour le contenu statique selon le contexte du module, il faut se référer à la méthode UtilsAcc1.GetDropdownDataFromString immobilizations ✔ Contient toutes les immobilisations (matériel roulant, ameublement, équipement de bureau et terrain). On y décrit leur prix d'achat et de revente ainsi que le calcul pour leur amortissement s'il y a lieu. Provient de immobilizations_v2 sur GoogleSheet contract_regularizations ✔ Contient tous les contrats pour les régularisations de Charges payées d'avance et de Produits perçus d'avance. On y décrit quel type de produits ou services qu'ils contiennent ainsi que leur durée (un an en général). account_types ✔ Contient les grands types de comptes (Actif, Passif, Capitaux propres, Charges et Produits) et leur type de balance (débit ou crédit) accounts   Contient tous les comptes du grand livre avec lesquels l'étudiant va intéragir. On y décrit leur numéro, catégorie et sous-catégorie et leur type de balance (début ou crédit) constants   Contient toutes les constances générales (e.g. annual_num_payslips) et spécifiques aux modules (e.g. our_company_type) ou aux pages (e.g. ignored_options). modules   Contient tous les modules certaines informations de base qui ne sont assurément pas modifiable par un professeur. Les visibility_conditions des scenario_pages y sont aussi définies. module_pages   Contient toutes les pages (ou parties) que peuvent composées les modules. On y liste leur type et le data pour les générer et les corriger (comme column_inputs, table_structure, section_structure, inputs, etc.) Pour comprendre plus facilement le data, il est préférable de consulter les classes C# qui les désérialisent sur le client, enm commencant par ModulePageBase. regions_settings   Contient toutes les informations spécifiques aux régions. Elles peuvent globales ou spécifiques aux pages. Les informations globales sont composées des taxes (à la consommation), income_taxes (retenues salariales), interests (intérêts pour emprunts ou placements) et les accounts (comptes du grand livre). Les informations spécifiques aux pages sont composées de column_inputs_order (pages de type table ou autres) ou prefab_reference (interfaces customs) sim_settings   Contient toutes les informations globales potentiellement modifiables par un professeur, comme la region, l'année contextuelle de la simulation, la tolérance de champs de nombre et l'ordre par défaut des modules. L'année est enregistrée automatiquement lors de la création d'une simulation afin qu'elle ne change pas si la valeur dans sim_settings est incrémentée. modules_settings   Contient toutes les informations spécifiques aux modules potentiellement modifiables par un professeur. Les éléments principalement modifiables sont les preferences, les nombre des pj présentes dans le bills_type_data, le pages_order et les pages_ponderation. D'autres objets y sont aussi présents, comme les initial_accounts, la context_list et le current_module. Pour connaître les préférences et les pj modifiables, il faut se référer aux modules_settings_definitions. Pour connaître les pages présentes selon les préférences choisies, il faut se référer aux pages_settings_definitions. pages_settings   Contient toutes les informations spécifiques aux pages (ou parties) d'un module potentiellement modifiables par un professeur. Les éléments principalement modifiables sont les preferences qui sont aussi modifiables dans les modules_settings. D'autres objets y sont aussi présents, soit les scores_ponderation, la scores_details et les inputs_ponderation. modules_contexts   Contient toutes les informations spécifiques aux contextes des modules. Les informations présentées sont semblables à celles dans les modules_settings, plus précisément le bills_type_data et le pages_order. bills_settings_definitions   Contient toutes les informations modifiables pour les pj. Pour l'instant, seulement le nombre de pj est modifiable. Par contre, des visibility_conditions et/ou des dépendances peuvent changer automatique le nombre de pj. (e.g. Si, selon les préférences choisies, un type de pj n'est pas présente dans le module (visibility_conditions ➡ false), le nombre de pj pour ce type sera de 0) Pour consulter les bills_settings_definitions des modules, il faut se référer aux modules_settings_definitions. preferences_settings_definitions   Contient toutes les préférences modifiables des modules ou des pages d'un module. On y décrit leur type de champs avec le data associé et les visibility_conditions. Si les visibility_conditions retourne false, la valeur par défaut est forcée. Pour consulter les preferences_settings_definitions des modules, il faut se référer aux modules_settings_definitions. modules_settings_definitions   Contient toutes les preferences_settings_definitions et les bills_settings_definitions des modules. pages_settings_definitions   Contient toutes les pages ayant des visibility_conditions. On l'utilise lorsque l'on crée un module et que l'on choisie la pondération des pages du module.         Ajouter une nouvelle page Ajouter la nouvelle page dans module_pages.json (S'inspirer des pages existantes pour formuler la nouvelle) Ajouter les settings de la nouvelle page dans les pages_settings Si c'est nécessaire, comme dans le cas d'une table (column_inputs_order) ou d'un custom prefab (prefab_reference), ajouter les settings de la nouvelle page dans les regions_settings Si c'est nécessaire, comme dans le cas d'une table ou d'un custom prefab, ajouter les settings de la nouvelle page dans les regions_settings Ajouter la page dans la liste de pages dans modules_settings et modules_contexts concernés S'il y a des conditions pour inclure ou pas la page, ajouter les conditions dans pages_settings_definitions Si la nouvelle page contient un dropdown, ajouter le data dans dynamic_dropdown_data_structure (dynamic), dropdown_data (static) ou UtilsAcc1.GetDropdownDataFromString (static, mais spécifique au contexte du module) Si la nouvelle page est un custom prefab, créer le prefab (variant si un prefab parent est disponible e.g. SubModulePageInputsControlBase) Ajouter le corrigé (answerkey) afin que les contextes fonctionnent Ajouter la correction (grading) S'assurer que tous les nouveaux textes ont été ajoutés Tester tous les modules qui possèdent la nouvelle page avec les différentes préférences et pj modifiables Ajouter un nouveau module Ajouter le nouveau module dans modules.json (S'inspirer des modules existants pour formuler le nouveau) Ajouter les settings du nouveau module dans les modules_settings Ajouter les préférences et pj modifiables du nouveau module dans modules_settings_definitions Ajouter le nouveau module dans liste pour l'ordre par défaut des modules dans sim_settings Ajouter les textes du scénario du module dans l'onglet Scénario dans le document Google Sheet S'assurer que tous les autres nouveaux textes ont été ajoutés Tester le module avec les différentes préférences et pj modifiables Arborescence des controls pour les modules Modules Pages SubModulePageInputsControls Tables Sections Rows Input Cells Procédure annuel pour updater les taxes (Deprecated) Deprecated: Veuillez regarder la nouvelle marche à suivre dans la page "Procédure annuel pour updater les taxes (updated version 2026)" https://docs.google.com/spreadsheets/d/1PMzc2vGeanmDXVKw8s8-hKepxstYUCIR_W1q4XSa5lE/edit#gid=0   Onglets taxes https://docs.google.com/spreadsheets/d/1PMzc2vGeanmDXVKw8s8-hKepxstYUCIR_W1q4XSa5lE/edit#gid=1321289989 duplicté une colonne d'une année précédente et l'intituler : $"{année}(str)" Modifier les valeurs associés aux Uids sauf pour ["school", "municipal"] Les informations peuvent être trouvé sur un site comme celui-ci : https://empirecpa.ca/canadian-sales-tax-rates-for-2023/ income_taxes https://docs.google.com/spreadsheets/d/1PMzc2vGeanmDXVKw8s8-hKepxstYUCIR_W1q4XSa5lE/edit#gid=407446484 duplicté une colonne d'une année précédente et l'intituler : $"{année}(str)" Modifier les valeurs associés aux Uids Certains identifiants ont des sources associés afin facilité la recherche d'information Il faudra aussi ajouter un nouveau document googleSheet dans le folder suivant https://drive.google.com/drive/u/0/folders/1-7PMGfURsl47mcbA4z_Pb0y8_BUSUma4 il faudra alors remplir un onglet pour chaque impot possible (en utilisant le format de 26 période de paie) à l'aide de "sim_accounting_1" et de ses liens Note: Les retenues d'impôt est le même pour Ontario (On), Nouveau Brunswick (NB) et L'île-du-Prince-Édouard (PE) Utiliser https://www.adobe.com/ca/acrobat/online/pdf-to-excel.html afin de transformer les chartes d'impot en format Excel  Utiliser la macro suivante afin de remplacer la colonne de min_salary Conflit avec la Macro Si la macro n'est pas disponible dans le menu, pour cela il faut: Dans le menu Extensions>Macos Faire un "Record macro" puis arrêter immédiatement la macro, afin de créer une macro rapidement Faire un "Manage macros" dans une année précédente (possèdent la macro "Replace "num1 - num2" with "num1" in colA") Cliquer sur les , puis "Edit Script" Copier le code de macros.gs Faire un "Manage macros" dans le sheet en vigeur Cliquer sur les , puis "Edit Script" Coller le script copié précédamment Renommer votre macro avec les mêmes valeurs que celui copié S'il y a un problème de "Authorization required" ou autre durant l'exécution de la macro, voici la version manuel: Faites un clique droite sur la colonne A, puis ajouter une nouvelle colonne à gauche Copié le code ci-dessous =ArrayFormula(IF(REGEXMATCH(TO_TEXT(B2:B), "[–|-]"), TO_PURE_NUMBER(REGEXREPLACE(B2:B, "(\D+\.*\D+.*)", "")), 0)) Coller le code sur la case A2 ou avant les rangées à modifier (sur la colonne A) À ce point normalement, les cases de la colonne A devrait-être à jour Copié la colonne A à B ATTENTION, il se peut que certaines valeurs ne sont pas bien modifiées. Prenez seulement les valeurs adéquates Supprimé la colonne A Remplacer toutes les instances de "," (virgule) par "." (point)  À l'aide de (Ctrl + H) Il faudra alors updater {AllSimsRepository}/node.js/exports/exportAllData.js afin de pouvoir exporter les nouveaux document créer avec la structure suivante: Dans la zone de "games.income_taxes_X.sheet" : Mettre la première partie de l'url (après "d/") du document "income_taxes_X" Dans les autres plus specifiques ("games.income_taxes_X.tabs"): Mettre le "gid" de l'url employer_income_taxes https://docs.google.com/spreadsheets/d/1PMzc2vGeanmDXVKw8s8-hKepxstYUCIR_W1q4XSa5lE/edit#gid=754552986 duplicté une colonne d'une année précédente et l'intituler : $"{année}(str)" Modifier les valeurs associés aux Uids Certains identifiants ont des sources associés afin facilité la recherche d'information interests https://docs.google.com/spreadsheets/d/1PMzc2vGeanmDXVKw8s8-hKepxstYUCIR_W1q4XSa5lE/edit#gid=1745231992 duplicté une colonne d'une année précédente et l'intituler : $"{année}(str)" Modifier les valeurs associés aux Uids Certains identifiants ont des sources associés afin facilité la recherche d'information Modifications liés à l'année par défaut Modifier le champs year pour l'année par défaut voulu {AllSimsRepository}\game\Assets\GameSpecific\acc1\Resources\data_acc1\act_settings.json duplicté une colonne d'une année précédente et l'intituler : $"{année}(str)" Modifier les valeurs associés aux Uids Certains identifiants ont des sources associés afin facilité la recherche d'information Modifier l'année par défaut pour la création des sims démo {uniksimweb}\uniksim-back-end\src\node.js\server\backend_braincloud.js Document PDF accessible en jeu Ajouter un document liés à l'année dans ce dossier https://cloud.digitalocean.com/spaces/uniksim-data?path=acc1/ Il faudra alors un document PDF intitulé "{thème}_{langue}" pour chacun des thèmes et langue suivantes, le tout dans le format "26 périodes de paie par année" (en public). N'oubliez pas de retirer l'extension .pdf Thème cpp_ca employment_insurance_ca employment_insurance_ca_qc income_tax_federal_ca income_tax_federal_ca_nb income_tax_federal_ca_qc income_tax_provincial_ca_nb income_tax_provincial_ca_on income_tax_provincial_ca_pe income_tax_provincial_ca_qc rqap_ca_qc rrq_ca_qc Langue fr en Finitions Executer la commande suivante sur node.js: Une fois avec les paramêtres suivants et une autre avec ceux-ci (remplacer par la bonne année) Une fois terminé les files suivants devrait avoir des modifications pour "AllSimsRepository" pour "UniksimWebRepository" Il nous reste qu'à exporter la data à la destination voulu (toujours sur node.js).   Utiliser cette export pour le StaticData Utiliser cette export pour le StaticDataChunk   (Modifier le "args" de la requête pour chacun des requêtes)     Création d'une simulation (acc1) Étape préliminaire pour la création de la simulation Mettre à jour les taxes Avant de commencer, faire une mise à jour manuel des taxes si c'est pertinent pour l'année actuel: https://wiki.uniksim.com/books/programmeur/page/proc%C3%A9dure-annuel-pour-updater-les-taxes Rendre la simulation général Si nécessaire, rendre la simulation original (copié) plus général afin de simplifier la nouvelle simulation. Si c'est le cas, le dossier {allsims}/UI/SimByModule est créé pour la base de acc1 Pour se faire, les fichiers modifiés doit avoir un namespace namespace UnikSim.SimByModule au lieu de namespace UnikSim.SimByModule.acc1 Si le fichier n'est pas dans gameSpecific, il n'est nécessaire le déplacer  Le nom du fichier doit aussi faire référence à "ByModule" (Ex: StaticDataAcc1 => StaticDataByModule) puisqu'il sera généralisé Si le fichier n'a pas de acc1 dans son nom, il n'est pas nécessaire de le rename Les fichiers doivent aussi se faire déplacer/transfer à SimByModule dans le dossier correspondent Dupliquer une simulation intérieure Avant de commencer, créer une branche au nom de la nouvelle simulation sur Git Extensions N'oublie pas de voir les informations supplémentaires à la fin de ce document pour certaines précisions Sur unity: Faire une copie de GameSpecific/acc1 (Ex: acc2) Renommer toutes les instances de code lié à l'ancienne simulation (Incluant les noms de fichiers et les codes). ATTENTION: Vérifier si les changement n'affecteront pas l'original, avant et après modifications Un script nommé "renameFiles" est disponible pour renommer les noms de fichiers. {allsims}/node.js/utils/renameFiles.js Pour utiliser renameFiles, il faudra créer une copie temporaire dans le nouveau dossier Ajouter un launch.js temporaire avec les mêmes paramètres Puis modifier les paramètres suivant: Note 1: Le renameFiles est case sensitive pour find et replace, il se pourrait qu'il faudrait le faire plus d'une fois Note 2: Une fois les refactor des noms faits, il se peut que Unity ne pourra pas compiler. (Certains fichiers possèdent les mêmes noms) Pour régler ce problème, il faudra refactor avec Visual Studio chacun de ces fichiers ou refaire l'étape Rendre la simulation général. ATTENTION: Si vous voulez le faire manuellement, assurer vous de ne pas impacter le code originel (copié) Sur node.js: Faire une copie de {allsims}/node.js/backend/braincloud/server_scripts/acc1 (Ex: acc2) Comme à l'étape précédente, renommer toutes les instances de code lié à l'ancien script (Incluant les noms de fichiers et les codes). ATTENTION: Vérifier si les changement n'affecteront pas l'original, avant et après modifications Un script nommé "renameFiles" est disponible pour renommer les noms de fichiers. {allsims}/node.js/utils/renameFiles.js Pour utiliser renameFiles, il faudra modifier les paramètres suivant: Note 1: Le renameFiles est case sensitive pour find et replace, il se pourrait qu'il faudrait le faire plus d'une fois Modification et ajout pour la nouvelle simulation Ajouter tous les switch case: Faites un Ctrl + Shift + F ensuite "acc1" pour trouver toutes les instances de acc1 Faites une copie de chaque case avec l'accronyme de votre nouvelle simulation. Par exemple : Note : Il ne sera pas nécessaire de faire de nouvelle fichier de traduction. En acc_X, le même fichier sera utilisé Modifier la class static pour StaticDataByModule: Le fichier "StaticDataAccX" (Renommer par l'étape précédent), devra être modifier afin d'identifier le fichier Ajouter la class static à CreateStaticData dans Factory Ajouter une nouvelle variante de MainControlStudentByModule et MainControlTeacherByModule: Si la copie de votre simulation ne contient pas de MainControlStudentAccX ou MainControlTeacherAccX, veuillez suivre les étapes suivantes, sinon passez cette étape Méthode 1: Faire une copie de MainControlStudentAcc1 et MainControlTeacherAcc1 dans la nouvelle simulation et le renommer en conséquent Situé à {allsims}/GameSpecific/acc1/Resources/Prefabs/UI Méthode 2: Créer une variante avec MainControlStudentByModule et MainControlTeacherByModule Situé à {allsims}/UI/SimByModule/acc1/Resources/Prefabs/UI Clique droite, puis Create>Prefab Variant Déplacer le fichier au bons endroit et le renommer en conséquent Partie Doozy: Situé à Resources>MainGraph Ajouter un nouveau output sur Login avec le nom approprié (Ex: acc2) Ajouter un nouveau node (clique droite) avec un nom approprié Dans ce node, ajoutez le AccXSubGraph Connecter le output avec le nouveau node Si la duplication c'est bien terminé, il ne sera pas nécessaire de modifier AccXSubGraph Modifier les scènes accXTeacher et accXStudent : Situé à GameSpecific/accX/Resources/Scenes Dans la section DecisionsPanel (Hierarchy), modifier le "Decisions Controls" pour votre simulation Modification des thèmes de la simulation Remplacer les images de la nouvelle simulation avec le thème choisi : Écran titre : accX Écran de jeu : bg Note : Il serait peut-être intéressant de demander les images à l'équipe pour éviter des problèmes de choix esthétiques ou de design Situé à GameSpecific/accX/Resources/images Pour modifier bg, il faudra allé sur la scène de la nouvelle simulation (accXTeacher et accXStudent, vous devriez le faire sur les deux scènes) Situé à GameSpecific/accX/Resources/Scenes Dans MainView, modifier "Source Image" Ajouter le titre dans LoginControl: Faire une copie de la simulation originel (copié) et le renommer Modifier le script LoginTitle dans le menu de l'inspecteur Ajouter dans le google sheet shared_text accX_theme_label (la couleur) accX_login_title (le titre principal, dans ce cas "Comptabilité X") accX_login_subtitle (le nom de la nouvelle simulation) Dans AccXTitle>Title2 Modifier le Text Uid pour accX_login_title Dans AccXTitle>Title3 Modifier le Text Uid pour accX_login_subtitle Faire un importTextShared pour voir les changements Situé à {allsims}/node.js/exports/importTextShared.bat Modifier le thème de couleur de la simulation : Sur la scène de game, dans LoginBackgroundControl, ajouter le "Login Title" dans "Login Titles" Le login title à ajouter devrait se trouver à GameSpecific/accX/Resources/AccXSkin Dans AccXSkin : Modifier le gameUid Modifier le thème de couleur Google Sheet et StaticData Faire une copie du googleSheet sim_accounting_1 : Situé à "Shared With Me/Dev/Games/acc1 - compta_cegep/sim_accounting_1" Faire une copie du fichier Renommer le fichier (modifier le numéro) Modifier le fichier si nécessaire Note : Un fichier de base existe pour tous les simulations accounting sim_byModule Modifier les imports de fichiers : Il faudra alors updater {AllSimsRepository}/node.js/exports/exportAllData.js afin de pouvoir exporter les nouveaux document créer avec la structure suivante: Si nécessaire, modifier importAllDataGoogleSheet avec "withBaseV = true" pour import aussi la base (sim_byModule). Mettre la première partie de l'url (après "d/") du document sim_accounting_X Dans les autres plus specifiques (Ex : partners): Mettre le "gid" de l'url games.accX.tabs = obtenir les valeurs sur googleSheet games.accX.additionalData = les valeurs sont à l'extérieurs du googleSheet (se trouve directement sur Unity) Importer les fichiers sim_accounting_X pour la nouvelle simulation : À l'aide de la commande "Google Sheet - Import All" de node.js avec les valeurs appropriés Exporter les fichiers sur Braincloud : À l'aide de la commande "Google Sheet - Export All Data" de node.js avec les valeurs appropriés (StaticData) À l'aide de la commande "Google Sheet - Export All Data" de node.js avec les valeurs appropriés (StaticDataChunk) Information supplémentaire Note 1 : Les simulations en "accounting" ou "accX" sont tous mis dans une base nommé byModule (ex: braincloud>staticData, node.js>...>byModule_utils, UI>SimByModule, etc.) Note 2 : Certains/Plusieurs changements risquent de briser Unity. Il faudra alors faire un "Reimport All" Modification de la valeur des stocks, PEPS Il y avait un problème dans la génération de différents prix pour les stocks. Ce problème se trouvait dans le acc1_utils_answer_key_module et le acc1_utils_create_bills, puisque le prix statique était utilisé et non le prix généré:   (acc1_utils_answer_key_module.js) (acc1_utils_create_bills) Bénéfices et pertes Le système de bénéfices et pertes dans les modules qui utilise l'état des résultats est basé sur un multiplicateur de prix comme qui suit: (dans acc1_utils_create_module_type_data.js) Originalement, ce multiplicateur était basé sur une valeur de 0.6 en cas de perte, ce qui causait des problèmes. Il a été changé pour une valeur de 0.1 pour régler le problème: Remise et remboursement de taxes La fonctionnalité de remise et de remboursement de taxes n'était pas fonctionnel. Pour l'implémenter on a commencé par modifier le dropdown existant (qui était basé sur pertes ou bénifices): (le google sheet) (les pages qui ont été modifié pour afficher le bon texte) Par la suite, nous sommes allé cherché du côté serveur l'option sélectionné dans le dropdown (comme pour bénéfices et pertes): (acc1_utils.js) (acc1_utils_create_module_type_data)