django-ledger 0.5.2.6__tar.gz → 0.8.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of django-ledger might be problematic. Click here for more details.

Files changed (516) hide show
  1. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/AUTHORS.md +8 -2
  2. django_ledger-0.8.1/MANIFEST.in +8 -0
  3. django_ledger-0.8.1/PKG-INFO +275 -0
  4. django_ledger-0.8.1/README.md +242 -0
  5. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/__init__.py +1 -4
  6. django_ledger-0.8.1/django_ledger/admin/__init__.py +10 -0
  7. django_ledger-0.8.1/django_ledger/admin/chart_of_accounts.py +134 -0
  8. django_ledger-0.8.1/django_ledger/admin/entity.py +214 -0
  9. django_ledger-0.8.1/django_ledger/admin/ledger.py +286 -0
  10. django_ledger-0.8.1/django_ledger/context.py +12 -0
  11. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/exceptions.py +3 -3
  12. django_ledger-0.8.1/django_ledger/forms/account.py +162 -0
  13. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/forms/bank_account.py +21 -14
  14. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/forms/bill.py +22 -38
  15. django_ledger-0.8.1/django_ledger/forms/chart_of_accounts.py +82 -0
  16. django_ledger-0.8.1/django_ledger/forms/closing_entry.py +64 -0
  17. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/forms/customer.py +9 -2
  18. django_ledger-0.8.1/django_ledger/forms/data_import.py +317 -0
  19. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/forms/entity.py +4 -12
  20. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/forms/estimate.py +4 -7
  21. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/forms/invoice.py +11 -16
  22. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/forms/item.py +175 -80
  23. django_ledger-0.8.1/django_ledger/forms/journal_entry.py +93 -0
  24. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/forms/ledger.py +20 -4
  25. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/forms/purchase_order.py +2 -4
  26. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/forms/transactions.py +16 -22
  27. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/forms/vendor.py +8 -1
  28. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/io/__init__.py +2 -1
  29. django_ledger-0.8.1/django_ledger/io/io_context.py +153 -0
  30. django_ledger-0.8.1/django_ledger/io/io_core.py +2149 -0
  31. django-ledger-0.5.2.6/django_ledger/io/data_generator.py → django_ledger-0.8.1/django_ledger/io/io_generator.py +364 -286
  32. django_ledger-0.8.1/django_ledger/io/io_library.py +623 -0
  33. django_ledger-0.8.1/django_ledger/io/io_middleware.py +466 -0
  34. django_ledger-0.8.1/django_ledger/io/ofx.py +96 -0
  35. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/io/ratios.py +13 -13
  36. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/io/roles.py +299 -48
  37. django_ledger-0.8.1/django_ledger/management/commands/generate_oauth2_codes.py +41 -0
  38. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/migrations/0001_initial.py +432 -153
  39. django_ledger-0.8.1/django_ledger/migrations/0002_alter_journalentrymodel_managers_and_more.py +24 -0
  40. django_ledger-0.8.1/django_ledger/migrations/0003_remove_accountmodel_django_ledg_role_1bff96_idx_and_more.py +69 -0
  41. django_ledger-0.8.1/django_ledger/migrations/0004_remove_itemmodel_depth_remove_itemmodel_numchild_and_more.py +25 -0
  42. django_ledger-0.8.1/django_ledger/migrations/0005_remove_itemmodel_django_ledg_invento_dbf206_idx_and_more.py +47 -0
  43. django_ledger-0.8.1/django_ledger/migrations/0006_alter_journalentrymodel_je_number_and_more.py +24 -0
  44. django_ledger-0.8.1/django_ledger/migrations/0007_remove_customermodel_django_ledg_custome_16f95a_idx_and_more.py +47 -0
  45. django_ledger-0.8.1/django_ledger/migrations/0008_closingentrymodel_closingentrytransactionmodel_and_more.py +147 -0
  46. django_ledger-0.8.1/django_ledger/migrations/0009_delete_stagedtransactionmodel.py +16 -0
  47. django_ledger-0.8.1/django_ledger/migrations/0010_delete_importjobmodel.py +16 -0
  48. django_ledger-0.8.1/django_ledger/migrations/0011_importjobmodel_alter_accountmodel_role_and_more.py +72 -0
  49. django_ledger-0.8.1/django_ledger/migrations/0012_stagedtransactionmodel_activity.py +18 -0
  50. django_ledger-0.8.1/django_ledger/migrations/0013_stagedtransactionmodel_bundle_split.py +18 -0
  51. django_ledger-0.8.1/django_ledger/migrations/0014_ledgermodel_ledger_xid_and_more.py +22 -0
  52. django_ledger-0.8.1/django_ledger/migrations/0015_remove_chartofaccountmodel_locked_and_more.py +22 -0
  53. django_ledger-0.8.1/django_ledger/migrations/0016_remove_accountmodel_django_ledg_coa_mod_e19964_idx_and_more.py +44 -0
  54. django_ledger-0.8.1/django_ledger/migrations/0017_alter_accountmodel_unique_together_and_more.py +31 -0
  55. django_ledger-0.8.1/django_ledger/migrations/0018_transactionmodel_cleared_transactionmodel_reconciled_and_more.py +37 -0
  56. django_ledger-0.8.1/django_ledger/migrations/0019_alter_transactionmodel_amount_and_more.py +33 -0
  57. django_ledger-0.8.1/django_ledger/migrations/0020_remove_bankaccountmodel_django_ledg_cash_ac_59a8af_idx_and_more.py +44 -0
  58. django_ledger-0.8.1/django_ledger/migrations/0021_alter_bankaccountmodel_account_model_and_more.py +32 -0
  59. django_ledger-0.8.1/django_ledger/migrations/0022_bankaccountmodel_financial_institution_and_more.py +52 -0
  60. django_ledger-0.8.1/django_ledger/migrations/0023_customermodel_customer_code_customermodel_picture_and_more.py +51 -0
  61. django_ledger-0.8.1/django_ledger/migrations/0024_billmodel_entity_model_invoicemodel_entity_model.py +24 -0
  62. django_ledger-0.8.1/django_ledger/migrations/0025_alter_billmodel_cash_account_and_more.py +70 -0
  63. django_ledger-0.8.1/django_ledger/migrations/0026_stagedtransactionmodel_customer_model_and_more.py +56 -0
  64. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/models/__init__.py +6 -4
  65. django_ledger-0.8.1/django_ledger/models/accounts.py +1153 -0
  66. django_ledger-0.8.1/django_ledger/models/bank_account.py +242 -0
  67. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/models/bill.py +760 -458
  68. django_ledger-0.8.1/django_ledger/models/chart_of_accounts.py +926 -0
  69. django_ledger-0.8.1/django_ledger/models/closing_entry.py +550 -0
  70. django_ledger-0.8.1/django_ledger/models/coa_default.py +375 -0
  71. django_ledger-0.8.1/django_ledger/models/customer.py +381 -0
  72. django_ledger-0.8.1/django_ledger/models/data_import.py +1699 -0
  73. django_ledger-0.8.1/django_ledger/models/deprecations.py +61 -0
  74. django_ledger-0.8.1/django_ledger/models/entity.py +3517 -0
  75. django_ledger-0.8.1/django_ledger/models/estimate.py +1646 -0
  76. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/models/invoice.py +529 -244
  77. django_ledger-0.8.1/django_ledger/models/items.py +1792 -0
  78. django_ledger-0.8.1/django_ledger/models/journal_entry.py +1795 -0
  79. django_ledger-0.8.1/django_ledger/models/ledger.py +840 -0
  80. django_ledger-0.8.1/django_ledger/models/mixins.py +1594 -0
  81. django_ledger-0.8.1/django_ledger/models/purchase_order.py +1267 -0
  82. django_ledger-0.8.1/django_ledger/models/receipt.py +1083 -0
  83. django_ledger-0.8.1/django_ledger/models/signals.py +55 -0
  84. django_ledger-0.8.1/django_ledger/models/transactions.py +716 -0
  85. django_ledger-0.8.1/django_ledger/models/unit.py +286 -0
  86. django_ledger-0.8.1/django_ledger/models/utils.py +201 -0
  87. django_ledger-0.8.1/django_ledger/models/vendor.py +401 -0
  88. django_ledger-0.8.1/django_ledger/report/balance_sheet.py +244 -0
  89. django_ledger-0.8.1/django_ledger/report/cash_flow_statement.py +234 -0
  90. django_ledger-0.8.1/django_ledger/report/core.py +215 -0
  91. django_ledger-0.8.1/django_ledger/report/income_statement.py +320 -0
  92. django_ledger-0.8.1/django_ledger/settings.py +150 -0
  93. django_ledger-0.8.1/django_ledger/static/django_ledger/bundle/djetler.bundle.js +2 -0
  94. django_ledger-0.8.1/django_ledger/static/django_ledger/bundle/djetler.bundle.js.LICENSE.txt +25 -0
  95. django_ledger-0.8.1/django_ledger/static/django_ledger/bundle/styles.bundle.js +1 -0
  96. django_ledger-0.8.1/django_ledger/static/django_ledger/css/djl_styles.css +273 -0
  97. django_ledger-0.8.1/django_ledger/static/django_ledger/logo/django-ledger-logo-report.png +0 -0
  98. django_ledger-0.8.1/django_ledger/static/django_ledger/logo_2/django_ledger_logo_dark.png +0 -0
  99. django_ledger-0.8.1/django_ledger/static/django_ledger/logo_2/django_ledger_logo_dark@0.5x.png +0 -0
  100. django_ledger-0.8.1/django_ledger/static/django_ledger/logo_2/django_ledger_logo_dark@2x.png +0 -0
  101. django_ledger-0.8.1/django_ledger/static/django_ledger/logo_2/django_ledger_logo_dark@3x.png +0 -0
  102. django_ledger-0.8.1/django_ledger/static/django_ledger/logo_2/djl-full-vert.png +0 -0
  103. django_ledger-0.8.1/django_ledger/static/django_ledger/logo_2/djl-full-vert@0.5x.png +0 -0
  104. django_ledger-0.8.1/django_ledger/static/django_ledger/logo_2/djl-full-vert@2x.png +0 -0
  105. django_ledger-0.8.1/django_ledger/static/django_ledger/logo_2/djl-full-vert@3x.png +0 -0
  106. django_ledger-0.8.1/django_ledger/static/django_ledger/logo_2/djl-logo-full-horiz.png +0 -0
  107. django_ledger-0.8.1/django_ledger/static/django_ledger/logo_2/djl-logo-full-horiz@0.5x.png +0 -0
  108. django_ledger-0.8.1/django_ledger/static/django_ledger/logo_2/djl-logo-full-horiz@2x.png +0 -0
  109. django_ledger-0.8.1/django_ledger/static/django_ledger/logo_2/djl-logo-full-horiz@3x.png +0 -0
  110. django_ledger-0.8.1/django_ledger/static/django_ledger/logo_2/djl-logo-full-vert.png +0 -0
  111. django_ledger-0.8.1/django_ledger/static/django_ledger/logo_2/djl-logo-full-vert@0.5x.png +0 -0
  112. django_ledger-0.8.1/django_ledger/static/django_ledger/logo_2/djl-logo-full-vert@2x.png +0 -0
  113. django_ledger-0.8.1/django_ledger/static/django_ledger/logo_2/djl-logo-full-vert@3x.png +0 -0
  114. django_ledger-0.8.1/django_ledger/static/django_ledger/logo_2/djl-logo.png +0 -0
  115. django_ledger-0.8.1/django_ledger/static/django_ledger/logo_2/djl-logo@0.5x.png +0 -0
  116. django_ledger-0.8.1/django_ledger/static/django_ledger/logo_2/djl-logo@2x.png +0 -0
  117. django_ledger-0.8.1/django_ledger/static/django_ledger/logo_2/djl-logo@3x.png +0 -0
  118. django_ledger-0.8.1/django_ledger/static/django_ledger/logo_2/djl-txt-full-horiz.png +0 -0
  119. django_ledger-0.8.1/django_ledger/static/django_ledger/logo_2/djl-txt-full-horiz@0.5x.png +0 -0
  120. django_ledger-0.8.1/django_ledger/static/django_ledger/logo_2/djl-txt-full-horiz@2x.png +0 -0
  121. django_ledger-0.8.1/django_ledger/static/django_ledger/logo_2/djl-txt-full-horiz@3x.png +0 -0
  122. django_ledger-0.8.1/django_ledger/static/django_ledger/logo_2/djl-txt-full-vert.png +0 -0
  123. django_ledger-0.8.1/django_ledger/static/django_ledger/logo_2/djl-txt-full-vert@0.5x.png +0 -0
  124. django_ledger-0.8.1/django_ledger/static/django_ledger/logo_2/djl-txt-full-vert@2x.png +0 -0
  125. django_ledger-0.8.1/django_ledger/static/django_ledger/logo_2/djl-txt-full-vert@3x.png +0 -0
  126. django_ledger-0.8.1/django_ledger/static/django_ledger/logo_2/djl-txt-horiz.png +0 -0
  127. django_ledger-0.8.1/django_ledger/static/django_ledger/logo_2/djl-txt-horiz@0.5x.png +0 -0
  128. django_ledger-0.8.1/django_ledger/static/django_ledger/logo_2/djl-txt-horiz@2x.png +0 -0
  129. django_ledger-0.8.1/django_ledger/static/django_ledger/logo_2/djl-txt-horiz@3x.png +0 -0
  130. django_ledger-0.8.1/django_ledger/templates/django_ledger/account/account_create.html +27 -0
  131. django_ledger-0.8.1/django_ledger/templates/django_ledger/account/account_list.html +25 -0
  132. django_ledger-0.8.1/django_ledger/templates/django_ledger/account/account_update.html +27 -0
  133. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/account/tags/account_txs_table.html +13 -7
  134. django_ledger-0.8.1/django_ledger/templates/django_ledger/account/tags/accounts_table.html +127 -0
  135. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/auth/login.html +4 -1
  136. django_ledger-0.8.1/django_ledger/templates/django_ledger/bank_account/bank_account_create.html +36 -0
  137. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/bank_account/tags/bank_accounts_table.html +2 -2
  138. django_ledger-0.8.1/django_ledger/templates/django_ledger/bills/bill_create.html +50 -0
  139. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/bills/bill_detail.html +35 -9
  140. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/bills/bill_list.html +0 -1
  141. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/bills/bill_update.html +7 -7
  142. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/bills/includes/card_bill.html +85 -85
  143. django_ledger-0.8.1/django_ledger/templates/django_ledger/chart_of_accounts/coa_create.html +25 -0
  144. django_ledger-0.8.1/django_ledger/templates/django_ledger/chart_of_accounts/coa_list.html +36 -0
  145. {django-ledger-0.5.2.6/django_ledger/templates/django_ledger/code_of_accounts → django_ledger-0.8.1/django_ledger/templates/django_ledger/chart_of_accounts}/coa_update.html +3 -6
  146. django_ledger-0.8.1/django_ledger/templates/django_ledger/chart_of_accounts/includes/coa_card.html +80 -0
  147. django_ledger-0.8.1/django_ledger/templates/django_ledger/closing_entry/closing_entry_create.html +31 -0
  148. django_ledger-0.8.1/django_ledger/templates/django_ledger/closing_entry/closing_entry_delete.html +29 -0
  149. django_ledger-0.8.1/django_ledger/templates/django_ledger/closing_entry/closing_entry_detail.html +41 -0
  150. django_ledger-0.8.1/django_ledger/templates/django_ledger/closing_entry/closing_entry_list.html +123 -0
  151. django_ledger-0.8.1/django_ledger/templates/django_ledger/closing_entry/closing_entry_update.html +41 -0
  152. django_ledger-0.8.1/django_ledger/templates/django_ledger/closing_entry/includes/card_closing_entry.html +67 -0
  153. django_ledger-0.8.1/django_ledger/templates/django_ledger/closing_entry/tags/closing_entry_table.html +56 -0
  154. django_ledger-0.8.1/django_ledger/templates/django_ledger/closing_entry/tags/closing_entry_txs_table.html +27 -0
  155. django_ledger-0.8.1/django_ledger/templates/django_ledger/components/icon.html +1 -0
  156. django_ledger-0.8.1/django_ledger/templates/django_ledger/components/menu.html +76 -0
  157. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/components/period_navigator.html +5 -3
  158. django_ledger-0.8.1/django_ledger/templates/django_ledger/customer/customer_detail.html +87 -0
  159. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/customer/customer_list.html +0 -1
  160. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/customer/tags/customer_table.html +30 -2
  161. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/data_import/data_import_job_txs.html +7 -5
  162. django-ledger-0.5.2.6/django_ledger/templates/django_ledger/data_import/data_import_ofx.html → django_ledger-0.8.1/django_ledger/templates/django_ledger/data_import/import_job_create.html +18 -2
  163. django_ledger-0.8.1/django_ledger/templates/django_ledger/data_import/import_job_delete.html +28 -0
  164. django_ledger-0.8.1/django_ledger/templates/django_ledger/data_import/import_job_update.html +24 -0
  165. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/data_import/tags/data_import_job_list_table.html +16 -12
  166. django_ledger-0.8.1/django_ledger/templates/django_ledger/data_import/tags/data_import_job_txs_imported.html +62 -0
  167. django_ledger-0.8.1/django_ledger/templates/django_ledger/data_import/tags/data_import_job_txs_table.html +107 -0
  168. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/entity/entity_dashboard.html +6 -6
  169. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/entity/includes/card_entity.html +13 -6
  170. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/estimate/estimate_detail.html +4 -4
  171. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/estimate/includes/card_estimate.html +5 -13
  172. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/estimate/includes/estimate_item_table.html +2 -2
  173. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/estimate/includes/estimate_table.html +3 -17
  174. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/expense/tags/expense_item_table.html +7 -0
  175. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/financial_statements/balance_sheet.html +11 -7
  176. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/financial_statements/cash_flow.html +16 -8
  177. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/financial_statements/income_statement.html +10 -5
  178. django_ledger-0.8.1/django_ledger/templates/django_ledger/financial_statements/tags/balance_sheet_statement.html +164 -0
  179. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/financial_statements/tags/cash_flow_statement.html +19 -7
  180. django_ledger-0.8.1/django_ledger/templates/django_ledger/financial_statements/tags/income_statement.html +434 -0
  181. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/includes/footer.html +2 -2
  182. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/includes/nav.html +15 -5
  183. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/includes/page_header.html +2 -2
  184. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/includes/widget_ic.html +1 -1
  185. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/includes/widget_ratios.html +18 -24
  186. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/invoice/includes/card_invoice.html +74 -45
  187. django_ledger-0.8.1/django_ledger/templates/django_ledger/invoice/invoice_create.html +52 -0
  188. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/invoice/invoice_detail.html +35 -10
  189. django_ledger-0.8.1/django_ledger/templates/django_ledger/invoice/invoice_list.html +116 -0
  190. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/invoice/invoice_update.html +6 -6
  191. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/invoice/tags/invoice_table.html +2 -2
  192. django_ledger-0.8.1/django_ledger/templates/django_ledger/journal_entry/includes/card_journal_entry.html +59 -0
  193. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/journal_entry/je_create.html +7 -4
  194. django_ledger-0.8.1/django_ledger/templates/django_ledger/journal_entry/je_delete.html +30 -0
  195. django_ledger-0.8.1/django_ledger/templates/django_ledger/journal_entry/je_detail.html +40 -0
  196. django_ledger-0.8.1/django_ledger/templates/django_ledger/journal_entry/je_detail_txs.html +91 -0
  197. django-ledger-0.5.2.6/django_ledger/templates/django_ledger/invoice/invoice_list.html → django_ledger-0.8.1/django_ledger/templates/django_ledger/journal_entry/je_list.html +44 -21
  198. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/journal_entry/je_update.html +2 -3
  199. django-ledger-0.5.2.6/django_ledger/templates/django_ledger/journal_entry/tags/jes_table.html → django_ledger-0.8.1/django_ledger/templates/django_ledger/journal_entry/tags/je_table.html +30 -24
  200. django_ledger-0.8.1/django_ledger/templates/django_ledger/journal_entry/tags/je_txs_table.html +69 -0
  201. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/layouts/base.html +14 -4
  202. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/layouts/content_layout_1.html +1 -1
  203. django_ledger-0.8.1/django_ledger/templates/django_ledger/ledger/ledger_delete.html +31 -0
  204. django_ledger-0.8.1/django_ledger/templates/django_ledger/ledger/ledger_list.html +146 -0
  205. django_ledger-0.8.1/django_ledger/templates/django_ledger/ledger/tags/ledgers_table.html +142 -0
  206. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/product/product_delete.html +1 -11
  207. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/product/product_list.html +2 -4
  208. django-ledger-0.5.2.6/django_ledger/templates/django_ledger/product/tags/pns_table.html → django_ledger-0.8.1/django_ledger/templates/django_ledger/product/tags/product_table.html +13 -11
  209. django_ledger-0.8.1/django_ledger/templates/django_ledger/receipt/customer_receipt_report.html +115 -0
  210. django_ledger-0.8.1/django_ledger/templates/django_ledger/receipt/receipt_delete.html +30 -0
  211. django_ledger-0.8.1/django_ledger/templates/django_ledger/receipt/receipt_detail.html +89 -0
  212. django_ledger-0.8.1/django_ledger/templates/django_ledger/receipt/receipt_list.html +134 -0
  213. django_ledger-0.8.1/django_ledger/templates/django_ledger/receipt/vendor_receipt_report.html +115 -0
  214. django_ledger-0.8.1/django_ledger/templates/django_ledger/service/service_create.html +38 -0
  215. django_ledger-0.8.1/django_ledger/templates/django_ledger/service/service_delete.html +32 -0
  216. django_ledger-0.8.1/django_ledger/templates/django_ledger/service/service_list.html +23 -0
  217. django_ledger-0.8.1/django_ledger/templates/django_ledger/service/service_update.html +34 -0
  218. django_ledger-0.8.1/django_ledger/templates/django_ledger/service/tags/services_table.html +55 -0
  219. {django-ledger-0.5.2.6/django_ledger/templates/django_ledger/transaction → django_ledger-0.8.1/django_ledger/templates/django_ledger/transactions}/tags/txs_table.html +18 -15
  220. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/unit/unit_list.html +2 -5
  221. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/vendor/tags/vendor_table.html +35 -3
  222. django_ledger-0.8.1/django_ledger/templates/django_ledger/vendor/vendor_detail.html +86 -0
  223. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templatetags/django_ledger.py +442 -233
  224. django_ledger-0.8.1/django_ledger/tests/base.py +296 -0
  225. django_ledger-0.8.1/django_ledger/tests/test_accounts.py +151 -0
  226. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/tests/test_auth.py +6 -8
  227. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/tests/test_bill.py +62 -68
  228. django_ledger-0.8.1/django_ledger/tests/test_chart_of_accounts.py +46 -0
  229. django_ledger-0.8.1/django_ledger/tests/test_closing_entry.py +65 -0
  230. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/tests/test_entity.py +46 -19
  231. django_ledger-0.8.1/django_ledger/tests/test_io.py +214 -0
  232. django_ledger-0.8.1/django_ledger/tests/test_io_ofx/tests.py +52 -0
  233. django_ledger-0.8.1/django_ledger/tests/test_purchase_order.py +184 -0
  234. django_ledger-0.8.1/django_ledger/tests/test_transactions.py +289 -0
  235. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/urls/__init__.py +4 -2
  236. django_ledger-0.8.1/django_ledger/urls/account.py +50 -0
  237. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/urls/bill.py +3 -3
  238. django_ledger-0.8.1/django_ledger/urls/chart_of_accounts.py +33 -0
  239. django_ledger-0.8.1/django_ledger/urls/closing_entry.py +39 -0
  240. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/urls/customer.py +3 -0
  241. django_ledger-0.8.1/django_ledger/urls/data_import.py +24 -0
  242. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/urls/djl_api.py +0 -1
  243. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/urls/entity.py +1 -1
  244. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/urls/financial_statement.py +54 -37
  245. django_ledger-0.8.1/django_ledger/urls/item.py +42 -0
  246. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/urls/journal_entry.py +16 -4
  247. django_ledger-0.8.1/django_ledger/urls/ledger.py +60 -0
  248. django_ledger-0.8.1/django_ledger/urls/receipt.py +102 -0
  249. django_ledger-0.8.1/django_ledger/urls/transactions.py +5 -0
  250. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/urls/unit.py +1 -1
  251. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/urls/vendor.py +1 -0
  252. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/utils.py +11 -62
  253. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/views/__init__.py +7 -4
  254. django_ledger-0.8.1/django_ledger/views/account.py +259 -0
  255. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/views/auth.py +1 -1
  256. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/views/bank_account.py +18 -24
  257. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/views/bill.py +148 -152
  258. django_ledger-0.8.1/django_ledger/views/chart_of_accounts.py +128 -0
  259. django_ledger-0.8.1/django_ledger/views/closing_entry.py +221 -0
  260. django_ledger-0.8.1/django_ledger/views/customer.py +140 -0
  261. django_ledger-0.8.1/django_ledger/views/data_import.py +270 -0
  262. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/views/djl_api.py +13 -11
  263. django_ledger-0.8.1/django_ledger/views/entity.py +250 -0
  264. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/views/estimate.py +44 -53
  265. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/views/feedback.py +1 -1
  266. django_ledger-0.8.1/django_ledger/views/financial_statement.py +199 -0
  267. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/views/home.py +1 -1
  268. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/views/inventory.py +23 -22
  269. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/views/invoice.py +46 -48
  270. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/views/item.py +220 -98
  271. django_ledger-0.8.1/django_ledger/views/journal_entry.py +291 -0
  272. django_ledger-0.8.1/django_ledger/views/ledger.py +346 -0
  273. django_ledger-0.8.1/django_ledger/views/mixins.py +643 -0
  274. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/views/purchase_order.py +41 -55
  275. django_ledger-0.8.1/django_ledger/views/receipt.py +294 -0
  276. django_ledger-0.8.1/django_ledger/views/transactions.py +7 -0
  277. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/views/unit.py +88 -64
  278. django_ledger-0.8.1/django_ledger/views/vendor.py +135 -0
  279. django_ledger-0.8.1/django_ledger.egg-info/PKG-INFO +275 -0
  280. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger.egg-info/SOURCES.txt +135 -58
  281. django_ledger-0.8.1/django_ledger.egg-info/requires.txt +7 -0
  282. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger.egg-info/top_level.txt +1 -2
  283. django_ledger-0.8.1/pyproject.toml +84 -0
  284. django-ledger-0.5.2.6/PKG-INFO +0 -276
  285. django-ledger-0.5.2.6/README.md +0 -250
  286. django-ledger-0.5.2.6/dev_env/asgi.py +0 -7
  287. django-ledger-0.5.2.6/dev_env/settings.py +0 -148
  288. django-ledger-0.5.2.6/dev_env/urls.py +0 -22
  289. django-ledger-0.5.2.6/dev_env/wsgi.py +0 -7
  290. django-ledger-0.5.2.6/django_ledger/admin.py +0 -160
  291. django-ledger-0.5.2.6/django_ledger/contrib/django_ledger_graphene/accounts/schema.py +0 -33
  292. django-ledger-0.5.2.6/django_ledger/contrib/django_ledger_graphene/api.py +0 -55
  293. django-ledger-0.5.2.6/django_ledger/contrib/django_ledger_graphene/apps.py +0 -6
  294. django-ledger-0.5.2.6/django_ledger/contrib/django_ledger_graphene/auth/mutations.py +0 -49
  295. django-ledger-0.5.2.6/django_ledger/contrib/django_ledger_graphene/auth/schema.py +0 -6
  296. django-ledger-0.5.2.6/django_ledger/contrib/django_ledger_graphene/bank_account/mutations.py +0 -62
  297. django-ledger-0.5.2.6/django_ledger/contrib/django_ledger_graphene/bank_account/schema.py +0 -34
  298. django-ledger-0.5.2.6/django_ledger/contrib/django_ledger_graphene/bill/mutations.py +0 -0
  299. django-ledger-0.5.2.6/django_ledger/contrib/django_ledger_graphene/bill/schema.py +0 -34
  300. django-ledger-0.5.2.6/django_ledger/contrib/django_ledger_graphene/coa/mutations.py +0 -0
  301. django-ledger-0.5.2.6/django_ledger/contrib/django_ledger_graphene/coa/schema.py +0 -44
  302. django-ledger-0.5.2.6/django_ledger/contrib/django_ledger_graphene/customers/mutations.py +0 -71
  303. django-ledger-0.5.2.6/django_ledger/contrib/django_ledger_graphene/customers/schema.py +0 -45
  304. django-ledger-0.5.2.6/django_ledger/contrib/django_ledger_graphene/data_import/mutations.py +0 -0
  305. django-ledger-0.5.2.6/django_ledger/contrib/django_ledger_graphene/data_import/schema.py +0 -0
  306. django-ledger-0.5.2.6/django_ledger/contrib/django_ledger_graphene/entity/mutations.py +0 -0
  307. django-ledger-0.5.2.6/django_ledger/contrib/django_ledger_graphene/entity/schema.py +0 -34
  308. django-ledger-0.5.2.6/django_ledger/contrib/django_ledger_graphene/item/mutations.py +0 -0
  309. django-ledger-0.5.2.6/django_ledger/contrib/django_ledger_graphene/item/schema.py +0 -29
  310. django-ledger-0.5.2.6/django_ledger/contrib/django_ledger_graphene/journal_entry/mutations.py +0 -0
  311. django-ledger-0.5.2.6/django_ledger/contrib/django_ledger_graphene/journal_entry/schema.py +0 -36
  312. django-ledger-0.5.2.6/django_ledger/contrib/django_ledger_graphene/ledger/mutations.py +0 -0
  313. django-ledger-0.5.2.6/django_ledger/contrib/django_ledger_graphene/ledger/schema.py +0 -31
  314. django-ledger-0.5.2.6/django_ledger/contrib/django_ledger_graphene/purchase_order/mutations.py +0 -0
  315. django-ledger-0.5.2.6/django_ledger/contrib/django_ledger_graphene/purchase_order/schema.py +0 -30
  316. django-ledger-0.5.2.6/django_ledger/contrib/django_ledger_graphene/transaction/mutations.py +0 -0
  317. django-ledger-0.5.2.6/django_ledger/contrib/django_ledger_graphene/transaction/schema.py +0 -33
  318. django-ledger-0.5.2.6/django_ledger/contrib/django_ledger_graphene/unit/mutations.py +0 -0
  319. django-ledger-0.5.2.6/django_ledger/contrib/django_ledger_graphene/unit/schema.py +0 -26
  320. django-ledger-0.5.2.6/django_ledger/contrib/django_ledger_graphene/vendor/mutations.py +0 -0
  321. django-ledger-0.5.2.6/django_ledger/contrib/django_ledger_graphene/vendor/schema.py +0 -35
  322. django-ledger-0.5.2.6/django_ledger/forms/account.py +0 -144
  323. django-ledger-0.5.2.6/django_ledger/forms/coa.py +0 -52
  324. django-ledger-0.5.2.6/django_ledger/forms/data_import.py +0 -105
  325. django-ledger-0.5.2.6/django_ledger/forms/journal_entry.py +0 -51
  326. django-ledger-0.5.2.6/django_ledger/io/financial_statements.py +0 -126
  327. django-ledger-0.5.2.6/django_ledger/io/io_context.py +0 -206
  328. django-ledger-0.5.2.6/django_ledger/io/io_mixin.py +0 -509
  329. django-ledger-0.5.2.6/django_ledger/io/ofx.py +0 -49
  330. django-ledger-0.5.2.6/django_ledger/migrations/0002_alter_entitymodel_default_coa.py +0 -19
  331. django-ledger-0.5.2.6/django_ledger/models/accounts.py +0 -279
  332. django-ledger-0.5.2.6/django_ledger/models/bank_account.py +0 -149
  333. django-ledger-0.5.2.6/django_ledger/models/coa.py +0 -161
  334. django-ledger-0.5.2.6/django_ledger/models/coa_default.py +0 -159
  335. django-ledger-0.5.2.6/django_ledger/models/customer.py +0 -182
  336. django-ledger-0.5.2.6/django_ledger/models/data_import.py +0 -108
  337. django-ledger-0.5.2.6/django_ledger/models/entity.py +0 -1219
  338. django-ledger-0.5.2.6/django_ledger/models/estimate.py +0 -735
  339. django-ledger-0.5.2.6/django_ledger/models/items.py +0 -895
  340. django-ledger-0.5.2.6/django_ledger/models/journal_entry.py +0 -517
  341. django-ledger-0.5.2.6/django_ledger/models/ledger.py +0 -129
  342. django-ledger-0.5.2.6/django_ledger/models/mixins.py +0 -771
  343. django-ledger-0.5.2.6/django_ledger/models/purchase_order.py +0 -576
  344. django-ledger-0.5.2.6/django_ledger/models/transactions.py +0 -233
  345. django-ledger-0.5.2.6/django_ledger/models/unit.py +0 -104
  346. django-ledger-0.5.2.6/django_ledger/models/utils.py +0 -142
  347. django-ledger-0.5.2.6/django_ledger/models/vendor.py +0 -144
  348. django-ledger-0.5.2.6/django_ledger/settings.py +0 -117
  349. django-ledger-0.5.2.6/django_ledger/static/django_ledger/bundle/djetler.bundle.js +0 -2
  350. django-ledger-0.5.2.6/django_ledger/static/django_ledger/bundle/styles.bundle.js +0 -1
  351. django-ledger-0.5.2.6/django_ledger/static/django_ledger/img/django_ledger_screenshot.png +0 -0
  352. django-ledger-0.5.2.6/django_ledger/templates/django_ledger/account/account_create.html +0 -21
  353. django-ledger-0.5.2.6/django_ledger/templates/django_ledger/account/account_list.html +0 -16
  354. django-ledger-0.5.2.6/django_ledger/templates/django_ledger/account/account_update.html +0 -25
  355. django-ledger-0.5.2.6/django_ledger/templates/django_ledger/account/tags/accounts_table.html +0 -90
  356. django-ledger-0.5.2.6/django_ledger/templates/django_ledger/bank_account/bank_account_create.html +0 -27
  357. django-ledger-0.5.2.6/django_ledger/templates/django_ledger/bills/bill_create.html +0 -46
  358. django-ledger-0.5.2.6/django_ledger/templates/django_ledger/components/icon.html +0 -1
  359. django-ledger-0.5.2.6/django_ledger/templates/django_ledger/components/menu.html +0 -61
  360. django-ledger-0.5.2.6/django_ledger/templates/django_ledger/data_import/tags/data_import_job_txs_imported.html +0 -31
  361. django-ledger-0.5.2.6/django_ledger/templates/django_ledger/data_import/tags/data_import_job_txs_table.html +0 -66
  362. django-ledger-0.5.2.6/django_ledger/templates/django_ledger/financial_statements/tags/balance_sheet_statement.html +0 -168
  363. django-ledger-0.5.2.6/django_ledger/templates/django_ledger/financial_statements/tags/income_statement.html +0 -100
  364. django-ledger-0.5.2.6/django_ledger/templates/django_ledger/invoice/invoice_create.html +0 -45
  365. django-ledger-0.5.2.6/django_ledger/templates/django_ledger/journal_entry/includes/card_journal_entry.html +0 -27
  366. django-ledger-0.5.2.6/django_ledger/templates/django_ledger/journal_entry/je_detail.html +0 -27
  367. django-ledger-0.5.2.6/django_ledger/templates/django_ledger/journal_entry/je_list.html +0 -18
  368. django-ledger-0.5.2.6/django_ledger/templates/django_ledger/ledger/ledger_list.html +0 -13
  369. django-ledger-0.5.2.6/django_ledger/templates/django_ledger/ledger/tags/ledgers_table.html +0 -52
  370. django-ledger-0.5.2.6/django_ledger/templates/django_ledger/transaction/txs.html +0 -56
  371. django-ledger-0.5.2.6/django_ledger/tests/base.py +0 -150
  372. django-ledger-0.5.2.6/django_ledger/urls/account.py +0 -33
  373. django-ledger-0.5.2.6/django_ledger/urls/chart_of_accounts.py +0 -7
  374. django-ledger-0.5.2.6/django_ledger/urls/data_import.py +0 -15
  375. django-ledger-0.5.2.6/django_ledger/urls/item.py +0 -34
  376. django-ledger-0.5.2.6/django_ledger/urls/ledger.py +0 -8
  377. django-ledger-0.5.2.6/django_ledger/urls/transactions.py +0 -9
  378. django-ledger-0.5.2.6/django_ledger/views/account.py +0 -216
  379. django-ledger-0.5.2.6/django_ledger/views/coa.py +0 -41
  380. django-ledger-0.5.2.6/django_ledger/views/customer.py +0 -105
  381. django-ledger-0.5.2.6/django_ledger/views/data_import.py +0 -269
  382. django-ledger-0.5.2.6/django_ledger/views/entity.py +0 -456
  383. django-ledger-0.5.2.6/django_ledger/views/journal_entry.py +0 -191
  384. django-ledger-0.5.2.6/django_ledger/views/ledger.py +0 -212
  385. django-ledger-0.5.2.6/django_ledger/views/mixins.py +0 -450
  386. django-ledger-0.5.2.6/django_ledger/views/transactions.py +0 -98
  387. django-ledger-0.5.2.6/django_ledger/views/vendor.py +0 -101
  388. django-ledger-0.5.2.6/django_ledger.egg-info/PKG-INFO +0 -276
  389. django-ledger-0.5.2.6/django_ledger.egg-info/requires.txt +0 -27
  390. django-ledger-0.5.2.6/docs/source/conf.py +0 -67
  391. django-ledger-0.5.2.6/pyproject.toml +0 -49
  392. django-ledger-0.5.2.6/setup.py +0 -5
  393. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/LICENSE +0 -0
  394. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/apps.py +0 -0
  395. {django-ledger-0.5.2.6/dev_env → django_ledger-0.8.1/django_ledger/contrib}/__init__.py +0 -0
  396. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/forms/__init__.py +0 -0
  397. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/forms/app_filters.py +0 -0
  398. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/forms/auth.py +0 -0
  399. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/forms/feedback.py +0 -0
  400. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/forms/unit.py +0 -0
  401. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/forms/utils.py +0 -0
  402. {django-ledger-0.5.2.6/django_ledger/contrib → django_ledger-0.8.1/django_ledger/management}/__init__.py +0 -0
  403. {django-ledger-0.5.2.6/django_ledger/contrib/django_ledger_graphene → django_ledger-0.8.1/django_ledger/management/commands}/__init__.py +0 -0
  404. {django-ledger-0.5.2.6/django_ledger/contrib/django_ledger_graphene/customers → django_ledger-0.8.1/django_ledger/migrations}/__init__.py +0 -0
  405. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/models/schemas/__init__.py +0 -0
  406. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/models/schemas/digest.py +0 -0
  407. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/models/schemas/net_payable.py +0 -0
  408. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/models/schemas/net_receivable.py +0 -0
  409. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/models/schemas/pnl.py +0 -0
  410. {django-ledger-0.5.2.6/django_ledger/migrations → django_ledger-0.8.1/django_ledger/report}/__init__.py +0 -0
  411. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/static/django_ledger/img/daniel-weiss-aj2Os9mYgJU-unsplash.jpg +0 -0
  412. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/static/django_ledger/img/made-with-bulma.png +0 -0
  413. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/static/django_ledger/logo/django-ledger-logo.png +0 -0
  414. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/static/django_ledger/logo/django-ledger-logo@2x.png +0 -0
  415. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/static/django_ledger/logo/django-ledger-logo@3x.png +0 -0
  416. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/static/django_ledger/logo/django-ledger-logo@4x.png +0 -0
  417. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/static/django_ledger/logo/django-ledger-logo_1.png +0 -0
  418. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/static/django_ledger/logo/django-ledger-logo_1@2x.png +0 -0
  419. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/static/django_ledger/logo/django-ledger-logo_1@3x.png +0 -0
  420. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/static/django_ledger/logo/django-ledger-logo_1@4x.png +0 -0
  421. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/static/django_ledger/logo/django-ledger-tagline.png +0 -0
  422. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/static/django_ledger/logo/django-ledger-tagline@2x.png +0 -0
  423. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/static/django_ledger/logo/django-ledger-tagline@3x.png +0 -0
  424. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/static/django_ledger/logo/django-ledger-tagline@4x.png +0 -0
  425. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/static/django_ledger/logo/django-ledger-text.png +0 -0
  426. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/static/django_ledger/logo/django-ledger-text@2x.png +0 -0
  427. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/static/django_ledger/logo/django-ledger-text@3x.png +0 -0
  428. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/static/django_ledger/logo/django-ledger-text@4x.png +0 -0
  429. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/static/django_ledger/logo/favicon.png +0 -0
  430. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/account/account_create_child.html +0 -0
  431. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/account/account_detail.html +0 -0
  432. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/bank_account/bank_account_list.html +0 -0
  433. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/bank_account/bank_account_update.html +0 -0
  434. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/bills/bill_delete.html +0 -0
  435. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/bills/bill_void.html +0 -0
  436. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/bills/tags/bill_item_formset.html +0 -0
  437. {django-ledger-0.5.2.6/django_ledger/templates/django_ledger/bills/includes → django_ledger-0.8.1/django_ledger/templates/django_ledger/bills/tags}/bill_table.html +0 -0
  438. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/components/activity_form.html +0 -0
  439. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/components/breadcrumbs.html +0 -0
  440. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/components/chart_container.html +0 -0
  441. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/components/date_picker.html +0 -0
  442. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/components/default_entity.html +0 -0
  443. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/components/feedback_button.html +0 -0
  444. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/components/filters.html +0 -0
  445. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/components/modals.html +0 -0
  446. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/components/modals_v2.html +0 -0
  447. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/customer/customer_create.html +0 -0
  448. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/customer/customer_update.html +0 -0
  449. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/customer/includes/card_customer.html +0 -0
  450. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/data_import/data_import_job_list.html +0 -0
  451. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/entity/entitiy_list.html +0 -0
  452. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/entity/entity_create.html +0 -0
  453. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/entity/entity_delete.html +0 -0
  454. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/entity/entity_update.html +0 -0
  455. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/entity/home.html +0 -0
  456. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/estimate/estimate_create.html +0 -0
  457. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/estimate/estimate_list.html +0 -0
  458. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/estimate/estimate_update.html +0 -0
  459. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/estimate/tags/ce_item_formset.html +0 -0
  460. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/expense/expense_create.html +0 -0
  461. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/expense/expense_list.html +0 -0
  462. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/expense/expense_update.html +0 -0
  463. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/includes/breadcrumbs.html +0 -0
  464. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/includes/card_markdown.html +0 -0
  465. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/includes/messages.html +0 -0
  466. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/includes/widget_bs.html +0 -0
  467. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/inventory/inventory_item_create.html +0 -0
  468. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/inventory/inventory_item_list.html +0 -0
  469. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/inventory/inventory_item_update.html +0 -0
  470. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/inventory/inventory_list.html +0 -0
  471. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/inventory/inventory_recount.html +0 -0
  472. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/inventory/tags/inventory_item_table.html +0 -0
  473. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/inventory/tags/inventory_table.html +0 -0
  474. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/invoice/invoice_delete.html +0 -0
  475. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/invoice/tags/invoice_item_formset.html +0 -0
  476. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/layouts/content_layout_2.html +0 -0
  477. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/ledger/ledger_create.html +0 -0
  478. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/ledger/ledger_update.html +0 -0
  479. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/product/product_create.html +0 -0
  480. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/product/product_update.html +0 -0
  481. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/purchase_order/includes/card_po.html +0 -0
  482. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/purchase_order/includes/po_item_formset.html +0 -0
  483. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/purchase_order/includes/po_table.html +0 -0
  484. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/purchase_order/po_create.html +0 -0
  485. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/purchase_order/po_delete.html +0 -0
  486. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/purchase_order/po_detail.html +0 -0
  487. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/purchase_order/po_list.html +0 -0
  488. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/purchase_order/po_update.html +0 -0
  489. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/purchase_order/tags/po_item_table.html +0 -0
  490. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/unit/unit_create.html +0 -0
  491. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/unit/unit_detail.html +0 -0
  492. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/unit/unit_update.html +0 -0
  493. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/uom/tags/uom_table.html +0 -0
  494. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/uom/uom_create.html +0 -0
  495. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/uom/uom_delete.html +0 -0
  496. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/uom/uom_list.html +0 -0
  497. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/uom/uom_update.html +0 -0
  498. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/vendor/includes/card_vendor.html +0 -0
  499. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/vendor/vendor_create.html +0 -0
  500. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/vendor/vendor_list.html +0 -0
  501. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templates/django_ledger/vendor/vendor_update.html +0 -0
  502. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/templatetags/__init__.py +0 -0
  503. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/tests/__init__.py +0 -0
  504. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/tests/bdd/__init__.py +0 -0
  505. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/tests/bdd/features/steps/README.py +0 -0
  506. /django-ledger-0.5.2.6/django_ledger/contrib/django_ledger_graphene/accounts/mutations.py → /django_ledger-0.8.1/django_ledger/tests/test_io_ofx/__init__.py +0 -0
  507. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/urls/auth.py +0 -0
  508. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/urls/bank_account.py +0 -0
  509. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/urls/estimate.py +0 -0
  510. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/urls/feedback.py +0 -0
  511. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/urls/home.py +0 -0
  512. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/urls/inventory.py +0 -0
  513. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/urls/invoice.py +0 -0
  514. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger/urls/purchase_order.py +0 -0
  515. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/django_ledger.egg-info/dependency_links.txt +0 -0
  516. {django-ledger-0.5.2.6 → django_ledger-0.8.1}/setup.cfg +0 -0
@@ -7,12 +7,18 @@ Django Ledger was created by [Miguel Sanda](https://github.com/elarroba).
7
7
  ### Project Maintainers
8
8
  * Miguel Sanda [@elarroba](https://github.com/elarroba)
9
9
 
10
- ### Developers & Contributors
10
+ ### Developers
11
11
  * Miguel Sanda [@elarroba](https://github.com/elarroba)
12
+
13
+ ### Contributors
12
14
  * Michael Noel [@mnooel](https://github.com/mnooel)
13
15
  * Eric Owuor [@Ericpaul](https://github.com/25-do)
16
+ * Pranav P Tulshyan
14
17
 
15
18
  ### Accountants, CPAs & Bookkeepers
16
19
  * Miguel Sanda [@elarroba](https://github.com/elarroba)
17
20
  * Albert Salazar [@Beachwood619](https://github.com/Beachwood619)
18
- * Michael Noel, CPA [@mnooel](https://github.com/mnooel)
21
+ * Michael Noel, CPA [@mnooel](https://github.com/mnooel)
22
+
23
+ ### Documentation Contributors
24
+ * Miguel Sanda [@elarroba](https://github.com/elarroba)
@@ -0,0 +1,8 @@
1
+ recursive-include django_ledger/templates *
2
+ recursive-include django_ledger/static *
3
+
4
+ prune dev_env
5
+ prune docs
6
+ prune assets
7
+ prune docs.source
8
+ prune notebooks
@@ -0,0 +1,275 @@
1
+ Metadata-Version: 2.4
2
+ Name: django-ledger
3
+ Version: 0.8.1
4
+ Summary: Double entry accounting system built on the Django Web Framework.
5
+ Author-email: Miguel Sanda <msanda@arrobalytics.com>
6
+ Maintainer-email: Miguel Sanda <msanda@arrobalytics.com>
7
+ License: GPLv3 License
8
+ Project-URL: Homepage, https://www.djangoledger.com
9
+ Project-URL: Bug Tracker, https://github.com/arrobalytics/django-ledger/issues
10
+ Project-URL: Documentation, https://django-ledger.readthedocs.io/en/latest/
11
+ Project-URL: Source Code, https://github.com/arrobalytics/django-ledger
12
+ Keywords: django,finance,bookkeeping,accounting,balance sheet,income statement,general ledger,money,engine
13
+ Classifier: Programming Language :: Python :: 3
14
+ Classifier: Programming Language :: Python :: Implementation :: CPython
15
+ Classifier: Topic :: Office/Business :: Financial :: Accounting
16
+ Classifier: Framework :: Django :: 4.0
17
+ Classifier: Framework :: Django :: 5.0
18
+ Classifier: Intended Audience :: Financial and Insurance Industry
19
+ Classifier: Intended Audience :: End Users/Desktop
20
+ Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
21
+ Requires-Python: >=3.11
22
+ Description-Content-Type: text/markdown
23
+ License-File: LICENSE
24
+ License-File: AUTHORS.md
25
+ Requires-Dist: django>=4.2
26
+ Requires-Dist: django-treebeard>=4.7.1
27
+ Requires-Dist: faker>=37.6.0
28
+ Requires-Dist: fpdf2>=2.8.4
29
+ Requires-Dist: markdown>=3.9
30
+ Requires-Dist: ofxtools>=0.9.5
31
+ Requires-Dist: pillow>=11.3.0
32
+ Dynamic: license-file
33
+
34
+ ![django ledger logo](https://us-east-1.linodeobjects.com/django-ledger/logo/django-ledger-logo@2x.png)
35
+
36
+ # Django Ledger
37
+
38
+ ## A Double Entry Accounting Engine for Django
39
+
40
+ Django Ledger is a powerful financial management system built on the Django Web Framework. It offers a simplified API
41
+ for handling complex accounting tasks in financially driven applications.
42
+
43
+ Created and developed by [Miguel Sanda](https://www.miguelsanda.com).
44
+
45
+ [FREE Get Started Guide](https://www.djangoledger.com/get-started) | [Join our Discord](https://discord.gg/c7PZcbYgrc) | [Documentation](https://django-ledger.readthedocs.io/en/latest/) | [QuickStart Notebook](https://github.com/arrobalytics/django-ledger/blob/develop/notebooks/QuickStart%20Notebook.ipynb)
46
+
47
+ ## Key Features
48
+
49
+ - High-level API
50
+ - Double entry accounting
51
+ - Hierarchical Chart of Accounts
52
+ - Financial statements (Income Statement, Balance Sheet, Cash Flow)
53
+ - Purchase Orders, Sales Orders, Bills, and Invoices
54
+ - Financial ratio calculations
55
+ - Multi-tenancy support
56
+ - Ledgers, Journal Entries & Transactions
57
+ - OFX & QFX file import
58
+ - Closing Entries
59
+ - Inventory management
60
+ - Unit of Measures
61
+ - Bank account information
62
+ - Django Admin integration
63
+ - Built-in Entity Management UI
64
+
65
+ ## Getting Involved
66
+
67
+ All pull requests are welcome, as long as they address bugfixes, enhancements, new ideas, or add value to the project in
68
+ any shape or form.
69
+
70
+ Please refrain from submitting pull requests that focus solely on code linting, auto-generated code,
71
+ refactoring, or similar cosmetic non-value add changes.
72
+
73
+ - **Feature Requests/Bug Reports**: Open an issue in the repository
74
+ - **For software customization, advanced features and consulting services**:
75
+ [Contact us](https://www.miguelsanda.com/work-with-me/) or email msanda@arrobalytics.com
76
+ - **Contribute**: See
77
+ our [contribution guidelines](https://github.com/arrobalytics/django-ledger/blob/master/Contribute.md)
78
+
79
+ ## Who Should Contribute?
80
+
81
+ We're looking for contributors with:
82
+
83
+ - Python and Django programming skills
84
+ - Finance and accounting expertise
85
+ - Interest in developing a robust accounting engine API
86
+
87
+ If you have relevant experience, especially in accounting, we welcome your pull requests or direct contact.
88
+
89
+ # Installation
90
+
91
+ Django Ledger is a [Django](https://www.djangoproject.com/) application. If you haven't, you need working knowledge of
92
+ Django and a working Django project before you can use Django Ledger. A good place to start
93
+ is [here](https://docs.djangoproject.com/en/4.2/intro/tutorial01/#creating-a-project).
94
+
95
+ Make sure you refer to the django version you are using.
96
+
97
+ The easiest way to start is to use the zero-config Django Ledger starter template. See
98
+ details [here](https://github.com/arrobalytics/django-ledger-starter).
99
+ Otherwise, you may create your project from scratch.
100
+
101
+ ## Adding Django Ledger to an existing project.
102
+
103
+ ### Add django_ledger to INSTALLED_APPS in you new Django Project.
104
+
105
+ ```python
106
+ INSTALLED_APPS = [
107
+ ...,
108
+ 'django_ledger',
109
+ ...,
110
+ ]
111
+ ```
112
+
113
+ ### Add Django Ledger Context Preprocessor
114
+
115
+ ```python
116
+ TEMPLATES = [
117
+ {
118
+ 'OPTIONS': {
119
+ 'context_processors': [
120
+ '...',
121
+ 'django_ledger.context.django_ledger_context' # Add this line to a context_processors list..
122
+ ],
123
+ },
124
+ },
125
+ ]
126
+ ```
127
+
128
+ ### Perform database migrations:
129
+
130
+ ```shell
131
+ python manage.py migrate
132
+ ```
133
+
134
+ * Add URLs to your project's __urls.py__:
135
+
136
+ ```python
137
+ from django.urls import include, path
138
+
139
+ urlpatterns = [
140
+ ...,
141
+ path('ledger/', include('django_ledger.urls', namespace='django_ledger')),
142
+ ...,
143
+ ]
144
+ ```
145
+
146
+ ### Run your project:
147
+
148
+ ```shell
149
+ python manage.py runserver
150
+ ```
151
+
152
+ * Navigate to Django Ledger root view assigned in your project urlpatterns setting (
153
+ typically http://127.0.0.1:8000/ledger
154
+ if you followed this installation guide).
155
+ * Use your superuser credentials to login.
156
+
157
+ ## Deprecated behavior setting (v0.8.0+)
158
+
159
+ Starting with version v0.8.0, Django Ledger introduces the DJANGO_LEDGER_USE_DEPRECATED_BEHAVIOR setting to control
160
+ access to deprecated features and legacy behaviors.
161
+
162
+ - Default: False (deprecated features are disabled by default)
163
+ - To temporarily keep using deprecated features while you transition, set this to True in your Django settings.
164
+
165
+ ## Setting Up Django Ledger for Development
166
+
167
+ Django Ledger comes with a basic development environment already configured under __dev_env/__ folder not to be used
168
+ for production environments. If you want to contribute to the project perform the following steps:
169
+
170
+ 1. Navigate to your projects directory.
171
+ 2. Clone the repo from github and CD into project.
172
+
173
+ ```shell
174
+ git clone https://github.com/arrobalytics/django-ledger.git && cd django-ledger
175
+ ```
176
+
177
+ 3. Install PipEnv, if not already installed:
178
+
179
+ ```shell
180
+ pip install -U pipenv
181
+ ```
182
+
183
+ 4. Create virtual environment.
184
+
185
+ ```shell
186
+ pipenv install
187
+ ```
188
+
189
+ If using a specific version of Python you may specify the path.
190
+
191
+ ```shell
192
+ pipenv install --python PATH_TO_INTERPRETER
193
+ ```
194
+
195
+ 5. Activate environment.
196
+
197
+ ```shell
198
+ pipenv shell
199
+ ```
200
+
201
+ 6. Apply migrations.
202
+
203
+ ```shell
204
+ python manage.py migrate
205
+ ```
206
+
207
+ 7. Create a Development Django user.
208
+
209
+ ```shell
210
+ python manage.py createsuperuser
211
+ ```
212
+
213
+ 8. Run development server.
214
+
215
+ ```shell
216
+ python manage.py runserver
217
+ ```
218
+
219
+ # How To Set Up Django Ledger for Development using Docker
220
+
221
+ 1. Navigate to your projects directory.
222
+
223
+ 2. Give executable permissions to entrypoint.sh
224
+
225
+ ```shell
226
+ sudo chmod +x entrypoint.sh
227
+ ```
228
+
229
+ 3. Add host '0.0.0.0' into ALLOWED_HOSTS in settings.py.
230
+
231
+ 4. Build the image and run the container.
232
+
233
+ ```shell
234
+ docker compose up --build
235
+ ```
236
+
237
+ 5. Add Django Superuser by running command in seprate terminal
238
+
239
+ ```shell
240
+ docker ps
241
+ ```
242
+
243
+ Select container id of running container and execute following command
244
+
245
+ ```shell
246
+ docker exec -it containerId /bin/sh
247
+ ```
248
+
249
+ ```shell
250
+ python manage.py createsuperuser
251
+ ```
252
+
253
+ 6. Navigate to http://0.0.0.0:8000/ on browser.
254
+
255
+ # Run Test Suite
256
+
257
+ After setting up your development environment you may run tests.
258
+
259
+ ```shell
260
+ python manage.py test django_ledger
261
+ ```
262
+
263
+ # Screenshots
264
+
265
+ ![django ledger entity dashboard](https://us-east-1.linodeobjects.com/django-ledger/public/img/django_ledger_entity_dashboard.png)
266
+ ![django ledger balance sheet](https://us-east-1.linodeobjects.com/django-ledger/public/img/django_ledger_income_statement.png)
267
+ ![django ledger income statement](https://us-east-1.linodeobjects.com/django-ledger/public/img/django_ledger_balance_sheet.png)
268
+ ![django ledger bill](https://us-east-1.linodeobjects.com/django-ledger/public/img/django_ledger_bill.png)
269
+ ![django ledger invoice](https://us-east-1.linodeobjects.com/django-ledger/public/img/django_ledger_invoice.png)
270
+
271
+ # Financial Statements Screenshots
272
+
273
+ ![balance_sheet_report](https://django-ledger.us-east-1.linodeobjects.com/public/img/BalanceSheetStatement.png)
274
+ ![income_statement_report](https://django-ledger.us-east-1.linodeobjects.com/public/img/IncomeStatement.png)
275
+ ![cash_flow_statement_report](https://django-ledger.us-east-1.linodeobjects.com/public/img/CashFlowStatement.png)
@@ -0,0 +1,242 @@
1
+ ![django ledger logo](https://us-east-1.linodeobjects.com/django-ledger/logo/django-ledger-logo@2x.png)
2
+
3
+ # Django Ledger
4
+
5
+ ## A Double Entry Accounting Engine for Django
6
+
7
+ Django Ledger is a powerful financial management system built on the Django Web Framework. It offers a simplified API
8
+ for handling complex accounting tasks in financially driven applications.
9
+
10
+ Created and developed by [Miguel Sanda](https://www.miguelsanda.com).
11
+
12
+ [FREE Get Started Guide](https://www.djangoledger.com/get-started) | [Join our Discord](https://discord.gg/c7PZcbYgrc) | [Documentation](https://django-ledger.readthedocs.io/en/latest/) | [QuickStart Notebook](https://github.com/arrobalytics/django-ledger/blob/develop/notebooks/QuickStart%20Notebook.ipynb)
13
+
14
+ ## Key Features
15
+
16
+ - High-level API
17
+ - Double entry accounting
18
+ - Hierarchical Chart of Accounts
19
+ - Financial statements (Income Statement, Balance Sheet, Cash Flow)
20
+ - Purchase Orders, Sales Orders, Bills, and Invoices
21
+ - Financial ratio calculations
22
+ - Multi-tenancy support
23
+ - Ledgers, Journal Entries & Transactions
24
+ - OFX & QFX file import
25
+ - Closing Entries
26
+ - Inventory management
27
+ - Unit of Measures
28
+ - Bank account information
29
+ - Django Admin integration
30
+ - Built-in Entity Management UI
31
+
32
+ ## Getting Involved
33
+
34
+ All pull requests are welcome, as long as they address bugfixes, enhancements, new ideas, or add value to the project in
35
+ any shape or form.
36
+
37
+ Please refrain from submitting pull requests that focus solely on code linting, auto-generated code,
38
+ refactoring, or similar cosmetic non-value add changes.
39
+
40
+ - **Feature Requests/Bug Reports**: Open an issue in the repository
41
+ - **For software customization, advanced features and consulting services**:
42
+ [Contact us](https://www.miguelsanda.com/work-with-me/) or email msanda@arrobalytics.com
43
+ - **Contribute**: See
44
+ our [contribution guidelines](https://github.com/arrobalytics/django-ledger/blob/master/Contribute.md)
45
+
46
+ ## Who Should Contribute?
47
+
48
+ We're looking for contributors with:
49
+
50
+ - Python and Django programming skills
51
+ - Finance and accounting expertise
52
+ - Interest in developing a robust accounting engine API
53
+
54
+ If you have relevant experience, especially in accounting, we welcome your pull requests or direct contact.
55
+
56
+ # Installation
57
+
58
+ Django Ledger is a [Django](https://www.djangoproject.com/) application. If you haven't, you need working knowledge of
59
+ Django and a working Django project before you can use Django Ledger. A good place to start
60
+ is [here](https://docs.djangoproject.com/en/4.2/intro/tutorial01/#creating-a-project).
61
+
62
+ Make sure you refer to the django version you are using.
63
+
64
+ The easiest way to start is to use the zero-config Django Ledger starter template. See
65
+ details [here](https://github.com/arrobalytics/django-ledger-starter).
66
+ Otherwise, you may create your project from scratch.
67
+
68
+ ## Adding Django Ledger to an existing project.
69
+
70
+ ### Add django_ledger to INSTALLED_APPS in you new Django Project.
71
+
72
+ ```python
73
+ INSTALLED_APPS = [
74
+ ...,
75
+ 'django_ledger',
76
+ ...,
77
+ ]
78
+ ```
79
+
80
+ ### Add Django Ledger Context Preprocessor
81
+
82
+ ```python
83
+ TEMPLATES = [
84
+ {
85
+ 'OPTIONS': {
86
+ 'context_processors': [
87
+ '...',
88
+ 'django_ledger.context.django_ledger_context' # Add this line to a context_processors list..
89
+ ],
90
+ },
91
+ },
92
+ ]
93
+ ```
94
+
95
+ ### Perform database migrations:
96
+
97
+ ```shell
98
+ python manage.py migrate
99
+ ```
100
+
101
+ * Add URLs to your project's __urls.py__:
102
+
103
+ ```python
104
+ from django.urls import include, path
105
+
106
+ urlpatterns = [
107
+ ...,
108
+ path('ledger/', include('django_ledger.urls', namespace='django_ledger')),
109
+ ...,
110
+ ]
111
+ ```
112
+
113
+ ### Run your project:
114
+
115
+ ```shell
116
+ python manage.py runserver
117
+ ```
118
+
119
+ * Navigate to Django Ledger root view assigned in your project urlpatterns setting (
120
+ typically http://127.0.0.1:8000/ledger
121
+ if you followed this installation guide).
122
+ * Use your superuser credentials to login.
123
+
124
+ ## Deprecated behavior setting (v0.8.0+)
125
+
126
+ Starting with version v0.8.0, Django Ledger introduces the DJANGO_LEDGER_USE_DEPRECATED_BEHAVIOR setting to control
127
+ access to deprecated features and legacy behaviors.
128
+
129
+ - Default: False (deprecated features are disabled by default)
130
+ - To temporarily keep using deprecated features while you transition, set this to True in your Django settings.
131
+
132
+ ## Setting Up Django Ledger for Development
133
+
134
+ Django Ledger comes with a basic development environment already configured under __dev_env/__ folder not to be used
135
+ for production environments. If you want to contribute to the project perform the following steps:
136
+
137
+ 1. Navigate to your projects directory.
138
+ 2. Clone the repo from github and CD into project.
139
+
140
+ ```shell
141
+ git clone https://github.com/arrobalytics/django-ledger.git && cd django-ledger
142
+ ```
143
+
144
+ 3. Install PipEnv, if not already installed:
145
+
146
+ ```shell
147
+ pip install -U pipenv
148
+ ```
149
+
150
+ 4. Create virtual environment.
151
+
152
+ ```shell
153
+ pipenv install
154
+ ```
155
+
156
+ If using a specific version of Python you may specify the path.
157
+
158
+ ```shell
159
+ pipenv install --python PATH_TO_INTERPRETER
160
+ ```
161
+
162
+ 5. Activate environment.
163
+
164
+ ```shell
165
+ pipenv shell
166
+ ```
167
+
168
+ 6. Apply migrations.
169
+
170
+ ```shell
171
+ python manage.py migrate
172
+ ```
173
+
174
+ 7. Create a Development Django user.
175
+
176
+ ```shell
177
+ python manage.py createsuperuser
178
+ ```
179
+
180
+ 8. Run development server.
181
+
182
+ ```shell
183
+ python manage.py runserver
184
+ ```
185
+
186
+ # How To Set Up Django Ledger for Development using Docker
187
+
188
+ 1. Navigate to your projects directory.
189
+
190
+ 2. Give executable permissions to entrypoint.sh
191
+
192
+ ```shell
193
+ sudo chmod +x entrypoint.sh
194
+ ```
195
+
196
+ 3. Add host '0.0.0.0' into ALLOWED_HOSTS in settings.py.
197
+
198
+ 4. Build the image and run the container.
199
+
200
+ ```shell
201
+ docker compose up --build
202
+ ```
203
+
204
+ 5. Add Django Superuser by running command in seprate terminal
205
+
206
+ ```shell
207
+ docker ps
208
+ ```
209
+
210
+ Select container id of running container and execute following command
211
+
212
+ ```shell
213
+ docker exec -it containerId /bin/sh
214
+ ```
215
+
216
+ ```shell
217
+ python manage.py createsuperuser
218
+ ```
219
+
220
+ 6. Navigate to http://0.0.0.0:8000/ on browser.
221
+
222
+ # Run Test Suite
223
+
224
+ After setting up your development environment you may run tests.
225
+
226
+ ```shell
227
+ python manage.py test django_ledger
228
+ ```
229
+
230
+ # Screenshots
231
+
232
+ ![django ledger entity dashboard](https://us-east-1.linodeobjects.com/django-ledger/public/img/django_ledger_entity_dashboard.png)
233
+ ![django ledger balance sheet](https://us-east-1.linodeobjects.com/django-ledger/public/img/django_ledger_income_statement.png)
234
+ ![django ledger income statement](https://us-east-1.linodeobjects.com/django-ledger/public/img/django_ledger_balance_sheet.png)
235
+ ![django ledger bill](https://us-east-1.linodeobjects.com/django-ledger/public/img/django_ledger_bill.png)
236
+ ![django ledger invoice](https://us-east-1.linodeobjects.com/django-ledger/public/img/django_ledger_invoice.png)
237
+
238
+ # Financial Statements Screenshots
239
+
240
+ ![balance_sheet_report](https://django-ledger.us-east-1.linodeobjects.com/public/img/BalanceSheetStatement.png)
241
+ ![income_statement_report](https://django-ledger.us-east-1.linodeobjects.com/public/img/IncomeStatement.png)
242
+ ![cash_flow_statement_report](https://django-ledger.us-east-1.linodeobjects.com/public/img/CashFlowStatement.png)
@@ -1,15 +1,12 @@
1
1
  """
2
2
  Django Ledger created by Miguel Sanda <msanda@arrobalytics.com>.
3
3
  Copyright© EDMA Group Inc licensed under the GPLv3 Agreement.
4
-
5
- Contributions to this module:
6
- Miguel Sanda <msanda@arrobalytics.com>
7
4
  """
8
5
 
9
6
  default_app_config = 'django_ledger.apps.DjangoLedgerConfig'
10
7
 
11
8
  """Django Ledger"""
12
- __version__ = '0.5.2.6'
9
+ __version__ = '0.8.1'
13
10
  __license__ = 'GPLv3 License'
14
11
 
15
12
  __author__ = 'Miguel Sanda'
@@ -0,0 +1,10 @@
1
+ from django.contrib import admin
2
+
3
+ from django_ledger.admin.chart_of_accounts import ChartOfAccountsModelAdmin
4
+ from django_ledger.admin.entity import EntityModelAdmin
5
+ from django_ledger.admin.ledger import LedgerModelAdmin
6
+ from django_ledger.models import EntityModel, ChartOfAccountModel, LedgerModel
7
+
8
+ admin.site.register(EntityModel, EntityModelAdmin)
9
+ admin.site.register(ChartOfAccountModel, ChartOfAccountsModelAdmin)
10
+ admin.site.register(LedgerModel, LedgerModelAdmin)