Compare commits

..

7 Commits

Author SHA1 Message Date
Anand Doshi
10e1452450 [fix] injection 2015-12-01 17:16:55 +05:30
Nabin Hait
8320f758be Merge pull request #3317 from vedusha/patch-5
Update payment_period_based_on_invoice_date.py
2015-05-25 17:18:47 +05:30
vedusha
093a3ecb43 Update payment_period_based_on_invoice_date.py
This update will provide respective link to the type of invoice on the 'Against Invoice' column. Previously, all invoice in the 'Against Invoice' column,be it Sales or Purchase, they were all being linked to purchase invoices. This update should fix this issue.
2015-05-22 10:03:26 +08:00
Nabin Hait
8e261d2da7 Merge pull request #3285 from nabinhait/v4.x.x
rounding of outstanding amount in payment tool
2015-05-19 12:07:02 +05:30
Nabin Hait
f0aa1cfad3 rounding of outstanding amount in payment tool 2015-05-19 12:04:34 +05:30
Nabin Hait
8570f785c7 Merge pull request #3282 from nabinhait/v4.x.x
landed cost voucher fix
2015-05-18 17:15:31 +05:30
Nabin Hait
e3e7309cbf landed cost voucher fix 2015-05-18 17:14:23 +05:30
4973 changed files with 300997 additions and 1058247 deletions

View File

@@ -1,14 +0,0 @@
# Root editor config file
root = true
# Common settings
[*]
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true
charset = utf-8
# python, js indentation settings
[{*.py,*.js}]
indent_style = tab
indent_size = 4

129
.eslintrc
View File

@@ -1,129 +0,0 @@
{
"env": {
"browser": true,
"node": true,
"es2022": true
},
"parserOptions": {
"sourceType": "module"
},
"extends": "eslint:recommended",
"rules": {
"indent": "off",
"brace-style": "off",
"no-mixed-spaces-and-tabs": "off",
"no-useless-escape": "off",
"space-unary-ops": ["error", { "words": true }],
"linebreak-style": "off",
"quotes": ["off"],
"semi": "off",
"camelcase": "off",
"no-unused-vars": "off",
"no-console": ["warn"],
"no-extra-boolean-cast": ["off"],
"no-control-regex": ["off"]
},
"root": true,
"globals": {
"frappe": true,
"Vue": true,
"SetVueGlobals": true,
"erpnext": true,
"hub": true,
"$": true,
"jQuery": true,
"moment": true,
"hljs": true,
"Awesomplete": true,
"CalHeatMap": true,
"Sortable": true,
"Showdown": true,
"Taggle": true,
"Gantt": true,
"Slick": true,
"PhotoSwipe": true,
"PhotoSwipeUI_Default": true,
"fluxify": true,
"io": true,
"c3": true,
"__": true,
"_p": true,
"_f": true,
"repl": true,
"Class": true,
"locals": true,
"cint": true,
"cstr": true,
"cur_frm": true,
"cur_dialog": true,
"cur_page": true,
"cur_list": true,
"cur_tree": true,
"cur_pos": true,
"msg_dialog": true,
"is_null": true,
"in_list": true,
"has_common": true,
"posthog": true,
"has_words": true,
"validate_email": true,
"open_web_template_values_editor": true,
"get_number_format": true,
"format_number": true,
"format_currency": true,
"round_based_on_smallest_currency_fraction": true,
"roundNumber": true,
"comment_when": true,
"replace_newlines": true,
"open_url_post": true,
"toTitle": true,
"lstrip": true,
"strip": true,
"strip_html": true,
"replace_all": true,
"flt": true,
"precision": true,
"md5": true,
"CREATE": true,
"AMEND": true,
"CANCEL": true,
"copy_dict": true,
"get_number_format_info": true,
"print_table": true,
"Layout": true,
"web_form_settings": true,
"$c": true,
"$a": true,
"$i": true,
"$bg": true,
"$y": true,
"$c_obj": true,
"$c_obj_csv": true,
"refresh_many": true,
"refresh_field": true,
"toggle_field": true,
"get_field_obj": true,
"get_query_params": true,
"unhide_field": true,
"hide_field": true,
"set_field_options": true,
"getCookie": true,
"getCookies": true,
"get_url_arg": true,
"get_server_fields": true,
"set_multiple": true,
"QUnit": true,
"Chart": true,
"Cypress": true,
"cy": true,
"describe": true,
"expect": true,
"it": true,
"context": true,
"before": true,
"beforeEach": true,
"onScan": true,
"extend_cscript": true,
"localforage": true
}
}

37
.flake8
View File

@@ -1,37 +0,0 @@
[flake8]
ignore =
E121,
E126,
E127,
E128,
E203,
E225,
E226,
E231,
E241,
E251,
E261,
E265,
E302,
E303,
E305,
E402,
E501,
E741,
W291,
W292,
W293,
W391,
W503,
W504,
F403,
B007,
B950,
W191,
E124, # closing bracket, irritating while writing QB code
E131, # continuation line unaligned for hanging indent
E123, # closing bracket does not match indentation of opening bracket's line
E101, # ensured by use of black
max-line-length = 200
exclude=.github/helper/semgrep_rules

View File

@@ -1,34 +0,0 @@
# Since version 2.23 (released in August 2019), git-blame has a feature
# to ignore or bypass certain commits.
#
# This file contains a list of commits that are not likely what you
# are looking for in a blame, such as mass reformatting or renaming.
# You can set this file as a default ignore file for blame by running
# the following command.
#
# $ git config blame.ignoreRevsFile .git-blame-ignore-revs
# Replace use of Class.extend with native JS class
1fe891b287a1b3f225d29ee3d07e7b1824aba9e7
# This commit just changes spaces to tabs for indentation in some files
5f473611bd6ed57703716244a054d3fb5ba9cd23
# Whitespace fix throughout codebase
4551d7d6029b6f587f6c99d4f8df5519241c6a86
b147b85e6ac19a9220cd1e2958a6ebd99373283a
# sort and cleanup imports
915b34391c2066dfc83e60a5813c5a877cebe7ac
# removing six compatibility layer
8fe5feb6a4372bf5f2dfaf65fca41bbcc25c8ce7
# bulk format python code with black
494bd9ef78313436f0424b918f200dab8fc7c20b
# bulk format python code with black
baec607ff5905b1c67531096a9cf50ec7ff00a5d
# bulk refactor with sourcery
eb9ee3f79b94e594fc6dfa4f6514580e125eee8c

View File

@@ -1,36 +0,0 @@
### Introduction (first timers)
Thank you for your interest in raising an Issue with ERPNext. An Issue could mean a bug report or a request for a missing feature. By raising a bug report, you are contributing to the development of ERPNext and this is the first step of participating in the community. Bug reports are very helpful for developers as they quickly fix the issue before other users start facing it.
Feature requests are also a great way to take the product forward. New ideas can come in any user scenario and the issue list also acts a roadmap of future features.
When you are raising an Issue, you should keep a few things in mind. Remember that the developer does not have access to your machine so you must give all the information you can while raising an Issue. If you are suggesting a feature, you should be very clear about what you want.
The Issue list is not the right place to ask a question or start a general discussion. If you want to do that , then the right place is the forum [https://discuss.erpnext.com](https://discuss.erpnext.com).
### Reply and Closing Policy
If your issue is not clear or does not meet the guidelines, then it will be closed. If it is closed, please supply the information asked and re-open it.
### General Issue Guidelines
1. **Search existing Issues:** Before raising a Issue, search if it has been raised before. Maybe add a 👍 or give additional help by creating a mockup if it is not already created.
1. **Report each issue separately:** Don't club multiple, unreleated issues in one note.
1. **Brief:** Please don't include long explanations. Use screenshots and bullet points instead of descriptive paragraphs.
### Bug Report Guidelines
1. **Steps to Reproduce:** The bug report must have a list of steps needed to reproduce a bug. If we cannot reproduce it, then we cannot solve it.
1. **Version Number:** Please add the version number in your report. Often a bug is fixed in the latest version
1. **Clear Title:** Add a clear subject to your bug report like "Unable to submit Purchase Order without Basic Rate" instead of just "Cannot Submit"
1. **Screenshots:** Screenshots are a great way of communicating issues. Try adding annotations or using LiceCAP to take a screencast in `gif`.
### Feature Request Guidelines
1. **Clarity:** Clearly specify how do you want the feature to behave. Don't just say "I would like multiple PDF formats", say that "Ability to add multiple print formats for customers with different languages".
1. **Solution:** Try and identify how the feature should look like.
1. **Mockups:** Mockups are a great way to explain your requirement.
### What if my Issue is closed
Don't worry, take the feedback, supply the correct information and re-open it!

View File

@@ -1,89 +0,0 @@
name: Bug Report
description: Report a bug encountered while using ERPNext
labels: ["bug"]
body:
- type: markdown
attributes:
value: |
Welcome to ERPNext issue tracker! Before creating an issue, please heed the following:
1. This tracker should only be used to report bugs and request features / enhancements to ERPNext
- For questions and general support, checkout the [user manual](https://docs.erpnext.com/) or use [forum](https://discuss.erpnext.com)
- For documentation issues, propose edit on [documentation site](https://docs.erpnext.com/) directly.
2. When making a bug report, make sure you provide all required information. The easier it is for
maintainers to reproduce, the faster it'll be fixed.
3. If you think you know what the reason for the bug is, share it with us. Maybe put in a PR 😉
- type: textarea
id: bug-info
attributes:
label: Information about bug
description: Also tell us, what did you expect to happen?
placeholder: Please provide as much information as possible.
validations:
required: true
- type: dropdown
id: module
attributes:
label: Module
description: Select affected module of ERPNext.
multiple: true
options:
- accounts
- stock
- buying
- selling
- ecommerce
- manufacturing
- HR
- projects
- support
- CRM
- assets
- integrations
- quality
- regional
- portal
- agriculture
- education
- non-profit
- other
validations:
required: true
- type: textarea
id: exact-version
attributes:
label: Version
description: Share exact version number of Frappe and ERPNext you are using.
placeholder: |
Frappe version -
ERPNext Verion -
validations:
required: true
- type: dropdown
id: install-method
attributes:
label: Installation method
options:
- docker
- easy-install
- manual install
- FrappeCloud
validations:
required: false
- type: textarea
id: logs
attributes:
label: Relevant log output / Stack trace / Full Error Message.
description: Please copy and paste any relevant log output. This will be automatically formatted.
render: shell
- type: markdown
attributes:
value: |
By submitting this issue, you agree to follow our [Code of Conduct](https://github.com/frappe/erpnext/blob/develop/CODE_OF_CONDUCT.md)

View File

@@ -1,5 +0,0 @@
blank_issues_enabled: false
contact_links:
- name: Community Forum
url: https://discuss.erpnext.com/
about: For general QnA, discussions and community help.

View File

@@ -1,39 +0,0 @@
---
name: Feature request
about: Suggest an idea to improve ERPNext
title: ''
labels: feature-request
assignees: ''
---
<!--
Welcome to ERPNext issue tracker! Before creating an issue, please heed the following:
1. This tracker should only be used to report bugs and request features / enhancements to ERPNext
- For questions and general support, checkout the manual https://erpnext.com/docs/user/manual/en or use https://discuss.erpnext.com
2. Use the search function before creating a new issue. Duplicates will be closed and directed to
the original discussion.
3. When making a feature request, make sure to be as verbose as possible. The better you convey your message, the greater the drive to make it happen.
Please keep in mind that we get many many requests and we can't possibly work on all of them, we prioritize development based on the goals of the product and organization. Feature requests are still welcome as it helps us in research when we do decide to work on the requested feature.
If you're in urgent need to a feature, please try the following channels to get paid developments done quickly:
1. Certified ERPNext partners: https://erpnext.com/partners
2. Developer community on ERPNext forums: https://discuss.erpnext.com/c/developers/5
3. Telegram group for ERPNext/Frappe development work: https://t.me/erpnext_opps
-->
**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
**Describe the solution you'd like**
A clear and concise description of what you want to happen.
**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.
**Additional context**
Add any other context or screenshots about the feature request here.

View File

@@ -1,33 +0,0 @@
<!--
Some key notes before you open a PR:
1. Select which branch should this PR be merged in?
2. PR name follows [convention](http://karma-runner.github.io/4.0/dev/git-commit-msg.html)
3. All tests pass locally, UI and Unit tests
4. All business logic and validations must be on the server-side
5. Update necessary Documentation
6. Put `closes #XXXX` in your comment to auto-close the issue that your PR fixes
Also, if you're new here
- Documentation Guidelines => https://github.com/frappe/erpnext/wiki/Updating-Documentation
- Contribution Guide => https://github.com/frappe/erpnext/blob/develop/.github/CONTRIBUTING.md
- Pull Request Checklist => https://github.com/frappe/erpnext/wiki/Pull-Request-Checklist
-->
> Please provide enough information so that others can review your pull request:
<!-- You can skip this if you're fixing a typo or updating existing documentation -->
> Explain the **details** for making this change. What existing problem does the pull request solve?
<!-- Example: When "Adding a function to do X", explain why it is necessary to have a way to do X. -->
> Screenshots/GIFs
<!-- Add images/recordings to better visualize the change: expected/current behviour -->

View File

@@ -1,74 +0,0 @@
[flake8]
ignore =
B007,
B009,
B010,
B950,
E101,
E111,
E114,
E116,
E117,
E121,
E122,
E123,
E124,
E125,
E126,
E127,
E128,
E131,
E201,
E202,
E203,
E211,
E221,
E222,
E223,
E224,
E225,
E226,
E228,
E231,
E241,
E242,
E251,
E261,
E262,
E265,
E266,
E271,
E272,
E273,
E274,
E301,
E302,
E303,
E305,
E306,
E402,
E501,
E502,
E701,
E702,
E703,
E741,
F403,
W191,
W291,
W292,
W293,
W391,
W503,
W504,
E711,
E129,
F841,
E713,
E712,
B023,
B028
max-line-length = 200
exclude=.github/helper/semgrep_rules,test_*.py

View File

@@ -1,73 +0,0 @@
import sys
import requests
from urllib.parse import urlparse
WEBSITE_REPOS = [
"erpnext_com",
"frappe_io",
]
DOCUMENTATION_DOMAINS = [
"docs.erpnext.com",
"frappeframework.com",
]
def is_valid_url(url: str) -> bool:
parts = urlparse(url)
return all((parts.scheme, parts.netloc, parts.path))
def is_documentation_link(word: str) -> bool:
if not word.startswith("http") or not is_valid_url(word):
return False
parsed_url = urlparse(word)
if parsed_url.netloc in DOCUMENTATION_DOMAINS:
return True
if parsed_url.netloc == "github.com":
parts = parsed_url.path.split("/")
if len(parts) == 5 and parts[1] == "frappe" and parts[2] in WEBSITE_REPOS:
return True
return False
def contains_documentation_link(body: str) -> bool:
return any(
is_documentation_link(word)
for line in body.splitlines()
for word in line.split()
)
def check_pull_request(number: str) -> "tuple[int, str]":
response = requests.get(f"https://api.github.com/repos/frappe/erpnext/pulls/{number}")
if not response.ok:
return 1, "Pull Request Not Found! ⚠️"
payload = response.json()
title = (payload.get("title") or "").lower().strip()
head_sha = (payload.get("head") or {}).get("sha")
body = (payload.get("body") or "").lower()
if (
not title.startswith("feat")
or not head_sha
or "no-docs" in body
or "backport" in body
):
return 0, "Skipping documentation checks... 🏃"
if contains_documentation_link(body):
return 0, "Documentation Link Found. You're Awesome! 🎉"
return 1, "Documentation Link Not Found! ⚠️"
if __name__ == "__main__":
exit_code, message = check_pull_request(sys.argv[1])
print(message)
sys.exit(exit_code)

View File

@@ -1,75 +0,0 @@
#!/bin/bash
set -e
cd ~ || exit
sudo apt update
sudo apt remove mysql-server mysql-client
sudo apt install libcups2-dev redis-server mariadb-client-10.6
pip install frappe-bench
githubbranch=${GITHUB_BASE_REF:-${GITHUB_REF##*/}}
frappeuser=${FRAPPE_USER:-"frappe"}
frappebranch=${FRAPPE_BRANCH:-$githubbranch}
git clone "https://github.com/${frappeuser}/frappe" --branch "${frappebranch}" --depth 1
bench init --skip-assets --frappe-path ~/frappe --python "$(which python)" frappe-bench
mkdir ~/frappe-bench/sites/test_site
if [ "$DB" == "mariadb" ];then
cp -r "${GITHUB_WORKSPACE}/.github/helper/site_config_mariadb.json" ~/frappe-bench/sites/test_site/site_config.json
else
cp -r "${GITHUB_WORKSPACE}/.github/helper/site_config_postgres.json" ~/frappe-bench/sites/test_site/site_config.json
fi
if [ "$DB" == "mariadb" ];then
mariadb --host 127.0.0.1 --port 3306 -u root -proot -e "SET GLOBAL character_set_server = 'utf8mb4'"
mariadb --host 127.0.0.1 --port 3306 -u root -proot -e "SET GLOBAL collation_server = 'utf8mb4_unicode_ci'"
mariadb --host 127.0.0.1 --port 3306 -u root -proot -e "CREATE USER 'test_frappe'@'localhost' IDENTIFIED BY 'test_frappe'"
mariadb --host 127.0.0.1 --port 3306 -u root -proot -e "CREATE DATABASE test_frappe"
mariadb --host 127.0.0.1 --port 3306 -u root -proot -e "GRANT ALL PRIVILEGES ON \`test_frappe\`.* TO 'test_frappe'@'localhost'"
mariadb --host 127.0.0.1 --port 3306 -u root -proot -e "FLUSH PRIVILEGES"
fi
if [ "$DB" == "postgres" ];then
echo "travis" | psql -h 127.0.0.1 -p 5432 -c "CREATE DATABASE test_frappe" -U postgres;
echo "travis" | psql -h 127.0.0.1 -p 5432 -c "CREATE USER test_frappe WITH PASSWORD 'test_frappe'" -U postgres;
fi
install_whktml() {
if [ "$(lsb_release -rs)" = "22.04" ]; then
wget -O /tmp/wkhtmltox.deb https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6.1-2/wkhtmltox_0.12.6.1-2.jammy_amd64.deb
sudo apt install /tmp/wkhtmltox.deb
else
echo "Please update this script to support wkhtmltopdf for $(lsb_release -ds)"
exit 1
fi
}
install_whktml &
wkpid=$!
cd ~/frappe-bench || exit
sed -i 's/watch:/# watch:/g' Procfile
sed -i 's/schedule:/# schedule:/g' Procfile
sed -i 's/socketio:/# socketio:/g' Procfile
sed -i 's/redis_socketio:/# redis_socketio:/g' Procfile
bench get-app payments --branch ${githubbranch%"-hotfix"}
bench get-app erpnext "${GITHUB_WORKSPACE}"
if [ "$TYPE" == "server" ]; then bench setup requirements --dev; fi
wait $wkpid
bench start &>> ~/frappe-bench/bench_start.log &
CI=Yes bench build --app frappe &
bench --site test_site reinstall --yes

View File

@@ -1,16 +0,0 @@
{
"db_host": "127.0.0.1",
"db_port": 3306,
"db_name": "test_frappe",
"db_password": "test_frappe",
"auto_email_id": "test@example.com",
"mail_server": "smtp.example.com",
"mail_login": "test@example.com",
"mail_password": "test",
"admin_password": "admin",
"root_login": "root",
"root_password": "root",
"host_name": "http://test_site:8000",
"install_apps": ["payments", "erpnext"],
"throttle_user_limit": 100
}

View File

@@ -1,18 +0,0 @@
{
"db_host": "127.0.0.1",
"db_port": 5432,
"db_name": "test_frappe",
"db_password": "test_frappe",
"db_type": "postgres",
"allow_tests": true,
"auto_email_id": "test@example.com",
"mail_server": "smtp.example.com",
"mail_login": "test@example.com",
"mail_password": "test",
"admin_password": "admin",
"root_login": "postgres",
"root_password": "travis",
"host_name": "http://test_site:8000",
"install_apps": ["erpnext"],
"throttle_user_limit": 100
}

View File

@@ -1,60 +0,0 @@
import re
import sys
errors_encounter = 0
pattern = re.compile(r"_\(([\"']{,3})(?P<message>((?!\1).)*)\1(\s*,\s*context\s*=\s*([\"'])(?P<py_context>((?!\5).)*)\5)*(\s*,(\s*?.*?\n*?)*(,\s*([\"'])(?P<js_context>((?!\11).)*)\11)*)*\)")
words_pattern = re.compile(r"_{1,2}\([\"'`]{1,3}.*?[a-zA-Z]")
start_pattern = re.compile(r"_{1,2}\([f\"'`]{1,3}")
f_string_pattern = re.compile(r"_\(f[\"']")
starts_with_f_pattern = re.compile(r"_\(f")
# skip first argument
files = sys.argv[1:]
files_to_scan = [_file for _file in files if _file.endswith(('.py', '.js'))]
for _file in files_to_scan:
with open(_file, 'r') as f:
print(f'Checking: {_file}')
file_lines = f.readlines()
for line_number, line in enumerate(file_lines, 1):
if 'frappe-lint: disable-translate' in line:
continue
start_matches = start_pattern.search(line)
if start_matches:
starts_with_f = starts_with_f_pattern.search(line)
if starts_with_f:
has_f_string = f_string_pattern.search(line)
if has_f_string:
errors_encounter += 1
print(f'\nF-strings are not supported for translations at line number {line_number}\n{line.strip()[:100]}')
continue
else:
continue
match = pattern.search(line)
error_found = False
if not match and line.endswith((',\n', '[\n')):
# concat remaining text to validate multiline pattern
line = "".join(file_lines[line_number - 1:])
line = line[start_matches.start() + 1:]
match = pattern.match(line)
if not match:
error_found = True
print(f'\nTranslation syntax error at line number {line_number}\n{line.strip()[:100]}')
if not error_found and not words_pattern.search(line):
error_found = True
print(f'\nTranslation is useless because it has no words at line number {line_number}\n{line.strip()[:100]}')
if error_found:
errors_encounter += 1
if errors_encounter > 0:
print('\nVisit "https://frappeframework.com/docs/user/en/translations" to learn about valid translation strings.')
sys.exit(1)
else:
print('\nGood To Go!')

55
.github/labeler.yml vendored
View File

@@ -1,55 +0,0 @@
accounts:
- erpnext/accounts/*
- erpnext/controllers/accounts_controller.py
- erpnext/controllers/taxes_and_totals.py
stock:
- erpnext/stock/*
- erpnext/controllers/stock_controller.py
- erpnext/controllers/item_variant.py
assets:
- erpnext/assets/*
regional:
- erpnext/regional/*
selling:
- erpnext/selling/*
- erpnext/controllers/selling_controller.py
buying:
- erpnext/buying/*
- erpnext/controllers/buying_controller.py
support:
- erpnext/support/*
POS:
- pos*
ecommerce:
- erpnext/e_commerce/*
maintenance:
- erpnext/maintenance/*
manufacturing:
- erpnext/manufacturing/*
crm:
- erpnext/crm/*
HR:
- erpnext/hr/*
payroll:
- erpnext/payroll*
projects:
- erpnext/projects/*
# Any python files modifed but no test files modified
needs-tests:
- any: ['erpnext/**/*.py']
all: ['!erpnext/**/test*.py']

27
.github/stale.yml vendored
View File

@@ -1,27 +0,0 @@
# Configuration for probot-stale - https://github.com/probot/stale
# Label to use when marking as stale
staleLabel: inactive
# Limit the number of actions per hour, from 1-30. Default is 30
limitPerRun: 10
# Set to true to ignore issues in a project (defaults to false)
exemptProjects: true
# Set to true to ignore issues in a milestone (defaults to false)
exemptMilestones: true
pulls:
daysUntilStale: 15
daysUntilClose: 3
exemptLabels:
- hotfix
markComment: >
This pull request has been automatically marked as inactive because it has
not had recent activity. It will be closed within 3 days if no further
activity occurs, but it only takes a comment to keep a contribution alive
:) Also, even if it is closed, you can always reopen the PR when you're
ready. Thank you for contributing.
only: pulls

View File

@@ -1,32 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="4 2 193 52">
<g filter="url(#filter0_dd)">
<rect x="4" y="2" width="193" height="52" rx="6" fill="#2490EF"/>
<path d="M28 22.2891H32.8786V35.5H36.2088V22.2891H41.0874V19.5H28V22.2891Z" fill="white"/>
<path d="M41.6982 35.5H45.0129V28.7109C45.0129 27.2344 46.0866 26.2188 47.5494 26.2188C48.0085 26.2188 48.6388 26.2969 48.95 26.3984V23.4453C48.6543 23.375 48.2419 23.3281 47.9074 23.3281C46.5691 23.3281 45.472 24.1094 45.0362 25.5938H44.9117V23.5H41.6982V35.5Z" fill="white"/>
<path d="M52.8331 40C55.2996 40 56.6068 38.7344 57.2837 36.7969L61.9289 23.5156L58.4197 23.5L55.9221 32.3125H55.7976L53.3233 23.5H49.8374L54.1247 35.8437L53.9302 36.3516C53.4944 37.4766 52.6619 37.5312 51.4947 37.1719L50.7478 39.6562C51.2224 39.8594 51.9927 40 52.8331 40Z" fill="white"/>
<path d="M73.6142 35.7344C77.2401 35.7344 79.4966 33.2422 79.4966 29.5469C79.4966 25.8281 77.2401 23.3438 73.6142 23.3438C69.9883 23.3438 67.7319 25.8281 67.7319 29.5469C67.7319 33.2422 69.9883 35.7344 73.6142 35.7344ZM73.6298 33.1562C71.9569 33.1562 71.101 31.6171 71.101 29.5233C71.101 27.4296 71.9569 25.8827 73.6298 25.8827C75.2715 25.8827 76.1274 27.4296 76.1274 29.5233C76.1274 31.6171 75.2715 33.1562 73.6298 33.1562Z" fill="white"/>
<path d="M84.7253 28.5625C84.7331 27.0156 85.6512 26.1094 86.9895 26.1094C88.3201 26.1094 89.1215 26.9844 89.1137 28.4531V35.5H92.4284V27.8594C92.4284 25.0625 90.7945 23.3438 88.3046 23.3438C86.5306 23.3438 85.2466 24.2187 84.7097 25.6172H84.5697V23.5H81.4106V35.5H84.7253V28.5625Z" fill="white"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M102.429 19.5H113.429V22.3141H102.429V19.5ZM102.429 35.5V26.6794H112.699V29.4982H105.94V35.5H102.429Z" fill="white"/>
<path d="M131.584 24.9625C131.09 21.5057 128.345 19.5 124.785 19.5C120.589 19.5 117.429 22.463 117.429 27.4924C117.429 32.5142 120.55 35.4848 124.785 35.4848C128.604 35.4848 131.137 33.0916 131.584 30.1211L128.651 30.1059C128.282 31.9293 126.745 32.9549 124.824 32.9549C122.22 32.9549 120.354 31.0632 120.354 27.4924C120.354 23.9824 122.204 22.0299 124.832 22.0299C126.784 22.0299 128.314 23.1011 128.651 24.9625H131.584Z" fill="white"/>
<path d="M136.409 19.7124H133.571V35.2718H136.409V19.7124Z" fill="white"/>
<path d="M144.031 35.5001C147.56 35.5001 149.803 33.0917 149.803 29.483C149.803 25.8667 147.56 23.4507 144.031 23.4507C140.502 23.4507 138.259 25.8667 138.259 29.483C138.259 33.0917 140.502 35.5001 144.031 35.5001ZM144.047 33.2969C142.094 33.2969 141.137 31.6103 141.137 29.4754C141.137 27.3406 142.094 25.6312 144.047 25.6312C145.968 25.6312 146.925 27.3406 146.925 29.4754C146.925 31.6103 145.968 33.2969 144.047 33.2969Z" fill="white"/>
<path d="M159.338 30.3641C159.338 32.1419 158.028 33.0232 156.773 33.0232C155.409 33.0232 154.499 32.0887 154.499 30.6072V23.6025H151.66V31.0327C151.66 33.8361 153.307 35.4239 155.675 35.4239C157.479 35.4239 158.749 34.5046 159.298 33.1979H159.424V35.272H162.176V23.6025H159.338V30.3641Z" fill="white"/>
<path d="M169.014 35.4769C171.084 35.4769 172.017 34.2841 172.464 33.4332H172.637V35.2718H175.429V19.7124H172.582V25.532H172.464C172.033 24.6887 171.147 23.4503 169.022 23.4503C166.238 23.4503 164.05 25.5624 164.05 29.4522C164.05 33.2965 166.175 35.4769 169.014 35.4769ZM169.806 33.2205C167.931 33.2205 166.943 31.6251 166.943 29.437C166.943 27.2642 167.916 25.7067 169.806 25.7067C171.633 25.7067 172.637 27.173 172.637 29.437C172.637 31.701 171.617 33.2205 169.806 33.2205Z" fill="white"/>
</g>
<defs>
<filter id="filter0_dd" x="0" y="0" width="201" height="60" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
<feOffset/>
<feGaussianBlur stdDeviation="0.25"/>
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.5 0"/>
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow"/>
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
<feOffset dy="2"/>
<feGaussianBlur stdDeviation="2"/>
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.13 0"/>
<feBlend mode="normal" in2="effect1_dropShadow" result="effect2_dropShadow"/>
<feBlend mode="normal" in="SourceGraphic" in2="effect2_dropShadow" result="shape"/>
</filter>
</defs>
</svg>

Before

Width:  |  Height:  |  Size: 4.3 KiB

View File

@@ -1,26 +0,0 @@
name: Backport
on:
pull_request_target:
types:
- closed
- labeled
jobs:
main:
runs-on: ubuntu-latest
timeout-minutes: 60
steps:
- name: Checkout Actions
uses: actions/checkout@v2
with:
repository: "frappe/backport"
path: ./actions
ref: develop
- name: Install Actions
run: npm install --production --prefix ./actions
- name: Run backport
uses: ./actions/backport
with:
token: ${{secrets.RELEASE_TOKEN}}
labelsToAdd: "backport"
title: "{{originalTitle}}"

View File

@@ -1,14 +0,0 @@
name: Trigger Docker build on release
on:
release:
types: [released]
jobs:
curl:
runs-on: ubuntu-latest
container:
image: alpine:latest
steps:
- name: curl
run: |
apk add curl bash
curl -X POST -H "Accept: application/vnd.github.v3+json" -H "Authorization: Bearer ${{ secrets.CI_PAT }}" https://api.github.com/repos/frappe/frappe_docker/actions/workflows/build_stable.yml/dispatches -d '{"ref":"main"}'

View File

@@ -1,25 +0,0 @@
name: 'Documentation Required'
on:
pull_request:
types: [ opened, synchronize, reopened, edited ]
jobs:
build:
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- name: 'Setup Environment'
uses: actions/setup-python@v2
with:
python-version: '3.10'
- name: 'Clone repo'
uses: actions/checkout@v2
- name: Validate Docs
env:
PR_NUMBER: ${{ github.event.number }}
run: |
pip install requests --quiet
python $GITHUB_WORKSPACE/.github/helper/documentation.py $PR_NUMBER

View File

@@ -1,32 +0,0 @@
# This workflow is agnostic to branches. Only maintain on develop branch.
# To add/remove versions just modify the matrix.
name: Create weekly release pull requests
on:
schedule:
# 9:30 UTC => 3 PM IST Tuesday
- cron: "30 9 * * 2"
workflow_dispatch:
jobs:
stable-release:
name: Release
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
version: ["14", "15"]
steps:
- uses: octokit/request-action@v2.x
with:
route: POST /repos/{owner}/{repo}/pulls
owner: frappe
repo: erpnext
title: |-
"chore: release v${{ matrix.version }}"
body: "Automated weekly release."
base: version-${{ matrix.version }}
head: version-${{ matrix.version }}-hotfix
env:
GITHUB_TOKEN: ${{ secrets.RELEASE_TOKEN }}

View File

@@ -1,12 +0,0 @@
name: "Pull Request Labeler"
on:
pull_request_target:
types: [opened, reopened]
jobs:
triage:
runs-on: ubuntu-latest
steps:
- uses: actions/labeler@v3
with:
repo-token: "${{ secrets.GITHUB_TOKEN }}"

View File

@@ -1,30 +0,0 @@
name: Linters
on:
pull_request: { }
jobs:
linters:
name: linters
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set up Python 3.10
uses: actions/setup-python@v4
with:
python-version: '3.10'
cache: pip
- name: Install and Run Pre-commit
uses: pre-commit/action@v3.0.0
- name: Download Semgrep rules
run: git clone --depth 1 https://github.com/frappe/semgrep-rules.git frappe-semgrep-rules
- name: Download semgrep
run: pip install semgrep
- name: Run Semgrep rules
run: semgrep ci --config ./frappe-semgrep-rules/rules --config r/python.lang.correctness

View File

@@ -1,21 +0,0 @@
name: 'Lock threads'
on:
schedule:
- cron: '0 0 * * *'
workflow_dispatch:
permissions:
issues: write
pull-requests: write
jobs:
lock:
runs-on: ubuntu-latest
steps:
- uses: dessant/lock-threads@v5
with:
github-token: ${{ github.token }}
issue-inactive-days: 14
pr-inactive-days: 14

View File

@@ -1,160 +0,0 @@
name: Patch
on:
pull_request:
paths-ignore:
- '**.js'
- '**.css'
- '**.md'
- '**.html'
- '**.csv'
workflow_dispatch:
concurrency:
group: patch-develop-${{ github.event_name }}-${{ github.event.number || github.event_name == 'workflow_dispatch' && github.run_id || '' }}
cancel-in-progress: true
jobs:
test:
runs-on: ubuntu-latest
timeout-minutes: 60
name: Patch Test
services:
mysql:
image: mariadb:10.6
env:
MARIADB_ROOT_PASSWORD: 'root'
ports:
- 3306:3306
options: --health-cmd="mariadb-admin ping" --health-interval=5s --health-timeout=2s --health-retries=3
steps:
- name: Clone
uses: actions/checkout@v2
- name: Check for valid Python & Merge Conflicts
run: |
python -m compileall -f "${GITHUB_WORKSPACE}"
if grep -lr --exclude-dir=node_modules "^<<<<<<< " "${GITHUB_WORKSPACE}"
then echo "Found merge conflicts"
exit 1
fi
- name: Setup Python
uses: "actions/setup-python@v4"
with:
python-version: '3.10'
- name: Setup Node
uses: actions/setup-node@v2
with:
node-version: 18
check-latest: true
- name: Add to Hosts
run: echo "127.0.0.1 test_site" | sudo tee -a /etc/hosts
- name: Cache pip
uses: actions/cache@v2
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('**/*requirements.txt', '**/pyproject.toml') }}
restore-keys: |
${{ runner.os }}-pip-
${{ runner.os }}-
- name: Cache node modules
uses: actions/cache@v2
env:
cache-name: cache-node-modules
with:
path: ~/.npm
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-build-${{ env.cache-name }}-
${{ runner.os }}-build-
${{ runner.os }}-
- name: Get yarn cache directory path
id: yarn-cache-dir-path
run: echo "::set-output name=dir::$(yarn cache dir)"
- uses: actions/cache@v2
id: yarn-cache
with:
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-yarn-
- name: Install
run: |
pip install frappe-bench
bash ${GITHUB_WORKSPACE}/.github/helper/install.sh
env:
DB: mariadb
TYPE: server
- name: Run Patch Tests
run: |
cd ~/frappe-bench/
bench remove-app payments --force
jq 'del(.install_apps)' ~/frappe-bench/sites/test_site/site_config.json > tmp.json
mv tmp.json ~/frappe-bench/sites/test_site/site_config.json
wget https://erpnext.com/files/v13-erpnext.sql.gz
bench --site test_site --force restore ~/frappe-bench/v13-erpnext.sql.gz
git -C "apps/frappe" remote set-url upstream https://github.com/frappe/frappe.git
git -C "apps/erpnext" remote set-url upstream https://github.com/frappe/erpnext.git
function update_to_version() {
version=$1
branch_name="version-$version-hotfix"
echo "Updating to v$version"
# Fetch and checkout branches
git -C "apps/frappe" fetch --depth 1 upstream $branch_name:$branch_name
git -C "apps/erpnext" fetch --depth 1 upstream $branch_name:$branch_name
git -C "apps/frappe" checkout -q -f $branch_name
git -C "apps/erpnext" checkout -q -f $branch_name
# Resetup env and install apps
pgrep honcho | xargs kill
rm -rf ~/frappe-bench/env
bench -v setup env
bench pip install -e ./apps/erpnext
bench start &>> ~/frappe-bench/bench_start.log &
bench --site test_site migrate
}
update_to_version 14
update_to_version 15
echo "Updating to latest version"
git -C "apps/frappe" checkout -q -f "${GITHUB_BASE_REF:-${GITHUB_REF##*/}}"
git -C "apps/erpnext" checkout -q -f "$GITHUB_SHA"
pgrep honcho | xargs kill
rm -rf ~/frappe-bench/env
bench -v setup env
bench pip install -e ./apps/erpnext
bench start &>> ~/frappe-bench/bench_start.log &
bench --site test_site migrate
- name: Show bench output
if: ${{ always() }}
run: |
cd ~/frappe-bench
cat bench_start.log || true
cd logs
for f in ./*.log*; do
echo "Printing log: $f";
cat $f
done

View File

@@ -1,31 +0,0 @@
name: Generate Semantic Release
on:
push:
branches:
- version-13
jobs:
release:
name: Release
runs-on: ubuntu-latest
steps:
- name: Checkout Entire Repository
uses: actions/checkout@v2
with:
fetch-depth: 0
persist-credentials: false
- name: Setup Node.js
uses: actions/setup-node@v2
with:
node-version: 18
- name: Setup dependencies
run: |
npm install @semantic-release/git @semantic-release/exec --no-save
- name: Create Release
env:
GH_TOKEN: ${{ secrets.RELEASE_TOKEN }}
GITHUB_TOKEN: ${{ secrets.RELEASE_TOKEN }}
GIT_AUTHOR_NAME: "Frappe PR Bot"
GIT_AUTHOR_EMAIL: "developers@frappe.io"
GIT_COMMITTER_NAME: "Frappe PR Bot"
GIT_COMMITTER_EMAIL: "developers@frappe.io"
run: npx semantic-release

View File

@@ -1,38 +0,0 @@
# This action:
#
# 1. Generates release notes using github API.
# 2. Strips unnecessary info like chore/style etc from notes.
# 3. Updates release info.
# This action needs to be maintained on all branches that do releases.
name: 'Release Notes'
on:
workflow_dispatch:
inputs:
tag_name:
description: 'Tag of release like v13.0.0'
required: true
type: string
release:
types: [released]
permissions:
contents: read
jobs:
regen-notes:
name: 'Regenerate release notes'
runs-on: ubuntu-latest
steps:
- name: Update notes
run: |
NEW_NOTES=$(gh api --method POST -H "Accept: application/vnd.github+json" /repos/frappe/erpnext/releases/generate-notes -f tag_name=$RELEASE_TAG | jq -r '.body' | sed -E '/^\* (chore|ci|test|docs|style)/d' )
RELEASE_ID=$(gh api -H "Accept: application/vnd.github+json" /repos/frappe/erpnext/releases/tags/$RELEASE_TAG | jq -r '.id')
gh api --method PATCH -H "Accept: application/vnd.github+json" /repos/frappe/erpnext/releases/$RELEASE_ID -f body="$NEW_NOTES"
env:
GH_TOKEN: ${{ secrets.RELEASE_TOKEN }}
RELEASE_TAG: ${{ github.event.inputs.tag_name || github.event.release.tag_name }}

View File

@@ -1,30 +0,0 @@
name: Semantic Commits
on:
pull_request: {}
permissions:
contents: read
concurrency:
group: commitcheck-erpnext-${{ github.event.number }}
cancel-in-progress: true
jobs:
commitlint:
name: Check Commit Titles
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 200
- uses: actions/setup-node@v3
with:
node-version: 18
check-latest: true
- name: Check commit titles
run: |
npm install @commitlint/cli @commitlint/config-conventional
npx commitlint --verbose --from ${{ github.event.pull_request.base.sha }} --to ${{ github.event.pull_request.head.sha }}

View File

@@ -1,152 +0,0 @@
name: Server (Mariadb)
on:
pull_request:
paths-ignore:
- '**.js'
- '**.css'
- '**.md'
- '**.html'
schedule:
# Run everday at midnight UTC / 5:30 IST
- cron: "0 0 * * *"
workflow_dispatch:
inputs:
user:
description: 'Frappe Framework repository user (add your username for forks)'
required: true
default: 'frappe'
type: string
branch:
description: 'Frappe Framework branch'
default: 'develop'
required: false
type: string
concurrency:
group: server-mariadb-develop-${{ github.event_name }}-${{ github.event.number || github.event_name == 'workflow_dispatch' && github.run_id || '' }}
cancel-in-progress: true
jobs:
test:
runs-on: ubuntu-latest
timeout-minutes: 60
strategy:
fail-fast: false
matrix:
container: [1, 2, 3, 4]
name: Python Unit Tests
services:
mysql:
image: mariadb:10.6
env:
MARIADB_ROOT_PASSWORD: 'root'
ports:
- 3306:3306
options: --health-cmd="mariadb-admin ping" --health-interval=5s --health-timeout=2s --health-retries=3
steps:
- name: Clone
uses: actions/checkout@v2
- name: Setup Python
uses: actions/setup-python@v2
with:
python-version: '3.11'
- name: Check for valid Python & Merge Conflicts
run: |
python -m compileall -f "${GITHUB_WORKSPACE}"
if grep -lr --exclude-dir=node_modules "^<<<<<<< " "${GITHUB_WORKSPACE}"
then echo "Found merge conflicts"
exit 1
fi
- name: Setup Node
uses: actions/setup-node@v2
with:
node-version: 18
check-latest: true
- name: Add to Hosts
run: echo "127.0.0.1 test_site" | sudo tee -a /etc/hosts
- name: Cache pip
uses: actions/cache@v2
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('**/*requirements.txt', '**/pyproject.toml') }}
restore-keys: |
${{ runner.os }}-pip-
${{ runner.os }}-
- name: Cache node modules
uses: actions/cache@v2
env:
cache-name: cache-node-modules
with:
path: ~/.npm
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-build-${{ env.cache-name }}-
${{ runner.os }}-build-
${{ runner.os }}-
- name: Get yarn cache directory path
id: yarn-cache-dir-path
run: echo "::set-output name=dir::$(yarn cache dir)"
- uses: actions/cache@v2
id: yarn-cache
with:
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-yarn-
- name: Install
run: bash ${GITHUB_WORKSPACE}/.github/helper/install.sh
env:
DB: mariadb
TYPE: server
FRAPPE_USER: ${{ github.event.inputs.user }}
FRAPPE_BRANCH: ${{ github.event.inputs.branch }}
- name: Run Tests
run: 'cd ~/frappe-bench/ && bench --site test_site run-parallel-tests --app erpnext --with-coverage --total-builds 4 --build-number ${{ matrix.container }}'
env:
TYPE: server
CI_BUILD_ID: ${{ github.run_id }}
ORCHESTRATOR_URL: http://test-orchestrator.frappe.io
- name: Show bench output
if: ${{ always() }}
run: cat ~/frappe-bench/bench_start.log || true
- name: Upload coverage data
uses: actions/upload-artifact@v3
with:
name: coverage-${{ matrix.container }}
path: /home/runner/frappe-bench/sites/coverage.xml
coverage:
name: Coverage Wrap Up
needs: test
runs-on: ubuntu-latest
steps:
- name: Clone
uses: actions/checkout@v2
- name: Download artifacts
uses: actions/download-artifact@v3
- name: Upload coverage data
uses: codecov/codecov-action@v2
with:
name: MariaDB
fail_ci_if_error: true
verbose: true

View File

@@ -1,112 +0,0 @@
name: Server (Postgres)
on:
pull_request:
paths-ignore:
- '**.js'
- '**.md'
- '**.html'
types: [opened, labelled, synchronize, reopened]
concurrency:
group: server-postgres-develop-${{ github.event_name }}-${{ github.event.number || github.event_name == 'workflow_dispatch' && github.run_id || '' }}
cancel-in-progress: true
jobs:
test:
if: ${{ contains(github.event.pull_request.labels.*.name, 'postgres') }}
runs-on: ubuntu-latest
timeout-minutes: 60
strategy:
fail-fast: false
matrix:
container: [1]
name: Python Unit Tests
services:
postgres:
image: postgres:13.3
env:
POSTGRES_PASSWORD: travis
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
ports:
- 5432:5432
steps:
- name: Clone
uses: actions/checkout@v2
- name: Setup Python
uses: actions/setup-python@v2
with:
python-version: '3.10'
- name: Check for valid Python & Merge Conflicts
run: |
python -m compileall -f "${GITHUB_WORKSPACE}"
if grep -lr --exclude-dir=node_modules "^<<<<<<< " "${GITHUB_WORKSPACE}"
then echo "Found merge conflicts"
exit 1
fi
- name: Setup Node
uses: actions/setup-node@v2
with:
node-version: 18
check-latest: true
- name: Add to Hosts
run: echo "127.0.0.1 test_site" | sudo tee -a /etc/hosts
- name: Cache pip
uses: actions/cache@v2
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('**/*requirements.txt', '**/pyproject.toml') }}
restore-keys: |
${{ runner.os }}-pip-
${{ runner.os }}-
- name: Cache node modules
uses: actions/cache@v2
env:
cache-name: cache-node-modules
with:
path: ~/.npm
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-build-${{ env.cache-name }}-
${{ runner.os }}-build-
${{ runner.os }}-
- name: Get yarn cache directory path
id: yarn-cache-dir-path
run: echo "::set-output name=dir::$(yarn cache dir)"
- uses: actions/cache@v2
id: yarn-cache
with:
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-yarn-
- name: Install
run: bash ${GITHUB_WORKSPACE}/.github/helper/install.sh
env:
DB: postgres
TYPE: server
- name: Run Tests
run: cd ~/frappe-bench/ && bench --site test_site run-parallel-tests --app erpnext --use-orchestrator
env:
TYPE: server
CI_BUILD_ID: ${{ github.run_id }}
ORCHESTRATOR_URL: http://test-orchestrator.frappe.io

10
.gitignore vendored
View File

@@ -7,13 +7,3 @@ latest_updates.json
.wnf-lang-status
*.egg-info
dist/
erpnext/public/dist
erpnext/docs/current
*.swp
*.swo
__pycache__
*~
.idea/
.vscode/
node_modules/
.backportrc.json

View File

@@ -1,101 +0,0 @@
pull_request_rules:
- name: Auto-close PRs on stable branch
conditions:
- and:
- and:
- author!=surajshetty3416
- author!=gavindsouza
- author!=rohitwaghchaure
- author!=nabinhait
- author!=ankush
- author!=deepeshgarg007
- author!=frappe-pr-bot
- author!=mergify[bot]
- or:
- base=version-13
- base=version-12
- base=version-14
- base=version-15
- base=version-16
actions:
close:
comment:
message: |
@{{author}}, thanks for the contribution, but we do not accept pull requests on a stable branch. Please raise PR on an appropriate hotfix branch.
https://github.com/frappe/erpnext/wiki/Pull-Request-Checklist#which-branch
- name: backport to develop
conditions:
- label="backport develop"
actions:
backport:
branches:
- develop
assignees:
- "{{ author }}"
- name: backport to version-14-hotfix
conditions:
- label="backport version-14-hotfix"
actions:
backport:
branches:
- version-14-hotfix
assignees:
- "{{ author }}"
- name: backport to version-15-hotfix
conditions:
- label="backport version-15-hotfix"
actions:
backport:
branches:
- version-15-hotfix
assignees:
- "{{ author }}"
- name: backport to version-13-hotfix
conditions:
- label="backport version-13-hotfix"
actions:
backport:
branches:
- version-13-hotfix
assignees:
- "{{ author }}"
- name: Automatic merge on CI success and review
conditions:
- status-success=linters
- status-success=Sider
- status-success=Semantic Pull Request
- status-success=Patch Test
- status-success=Python Unit Tests (1)
- status-success=Python Unit Tests (2)
- status-success=Python Unit Tests (3)
- label!=dont-merge
- label!=squash
- "#approved-reviews-by>=1"
actions:
merge:
method: merge
- name: Automatic squash on CI success and review
conditions:
- status-success=linters
- status-success=Sider
- status-success=Patch Test
- status-success=Python Unit Tests (1)
- status-success=Python Unit Tests (2)
- status-success=Python Unit Tests (3)
- label!=dont-merge
- label=squash
- "#approved-reviews-by>=1"
actions:
merge:
method: squash
commit_message_template: |
{{ title }} (#{{ number }})
{{ body }}

View File

@@ -1,68 +0,0 @@
exclude: 'node_modules|.git'
default_stages: [commit]
fail_fast: false
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.3.0
hooks:
- id: trailing-whitespace
files: "erpnext.*"
exclude: ".*json$|.*txt$|.*csv|.*md"
- id: check-yaml
- id: no-commit-to-branch
args: ['--branch', 'develop']
- id: check-merge-conflict
- id: check-ast
- id: check-json
- id: check-toml
- id: check-yaml
- id: debug-statements
- repo: https://github.com/pre-commit/mirrors-eslint
rev: v8.44.0
hooks:
- id: eslint
types_or: [javascript]
args: ['--quiet']
# Ignore any files that might contain jinja / bundles
exclude: |
(?x)^(
erpnext/public/dist/.*|
cypress/.*|
.*node_modules.*|
.*boilerplate.*|
erpnext/public/js/controllers/.*|
erpnext/templates/pages/order.js|
erpnext/templates/includes/.*
)$
- repo: https://github.com/PyCQA/flake8
rev: 6.0.0
hooks:
- id: flake8
additional_dependencies: [
'flake8-bugbear',
'flake8-tuple',
]
args: ['--config', '.github/helper/.flake8_strict']
exclude: ".*setup.py$"
- repo: https://github.com/adityahase/black
rev: 9cb0a69f4d0030cdf687eddf314468b39ed54119
hooks:
- id: black
additional_dependencies: ['click==8.0.4']
- repo: https://github.com/PyCQA/isort
rev: 5.12.0
hooks:
- id: isort
exclude: ".*setup.py$"
ci:
autoupdate_schedule: weekly
skip: []
submodules: false

View File

@@ -1,24 +0,0 @@
{
"branches": ["version-13"],
"plugins": [
"@semantic-release/commit-analyzer", {
"preset": "angular",
"releaseRules": [
{"breaking": true, "release": false}
]
},
"@semantic-release/release-notes-generator",
[
"@semantic-release/exec", {
"prepareCmd": 'sed -ir "s/[0-9]*\.[0-9]*\.[0-9]*/${nextRelease.version}/" erpnext/__init__.py'
}
],
[
"@semantic-release/git", {
"assets": ["erpnext/__init__.py"],
"message": "chore(release): Bumped to Version ${nextRelease.version}\n\n${nextRelease.notes}"
}
],
"@semantic-release/github"
]
}

38
.travis.yml Normal file
View File

@@ -0,0 +1,38 @@
language: python
python:
- "2.7"
services:
- mysql
install:
- sudo service mysql stop
- sudo apt-get install python-software-properties
- sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xcbcb082a1bb943db
- sudo add-apt-repository 'deb http://ftp.osuosl.org/pub/mariadb/repo/10.0/ubuntu precise main'
- sudo apt-get update
- sudo apt-get purge -y mysql-common
- sudo apt-get install mariadb-server mariadb-common libmariadbclient-dev
- ./ci/fix-mariadb.sh
- sudo apt-get install xfonts-75dpi xfonts-base -y
- wget http://downloads.sourceforge.net/project/wkhtmltopdf/0.12.2.1/wkhtmltox-0.12.2.1_linux-precise-amd64.deb
- sudo dpkg -i wkhtmltox-0.12.2.1_linux-precise-amd64.deb
- CFLAGS=-O0 pip install git+https://github.com/frappe/frappe.git@v4.x.x
- CFLAGS=-O0 pip install --editable .
before_script:
- mysql -e 'create database test_frappe'
- echo "USE mysql;\nCREATE USER 'test_frappe'@'localhost' IDENTIFIED BY 'test_frappe';\nFLUSH PRIVILEGES;\n" | mysql -u root
- echo "USE mysql;\nGRANT ALL PRIVILEGES ON \`test_frappe\`.* TO 'test_frappe'@'localhost';\n" | mysql -u root
script:
- cd ./test_sites/
- frappe --use test_site
- frappe --reinstall
- frappe --install_app erpnext --verbose
- frappe -b
- frappe --build_website
- frappe --serve_test &
- frappe --verbose --run_tests --app erpnext

View File

@@ -1,24 +0,0 @@
# Each line is a file pattern followed by one or more owners.
# These owners will be the default owners for everything in
# the repo. Unless a later match takes precedence,
erpnext/accounts/ @deepeshgarg007 @ruthra-kumar
erpnext/assets/ @anandbaburajan @deepeshgarg007
erpnext/regional @deepeshgarg007 @ruthra-kumar
erpnext/selling @deepeshgarg007 @ruthra-kumar
erpnext/support/ @deepeshgarg007
pos*
erpnext/buying/ @rohitwaghchaure @s-aga-r
erpnext/maintenance/ @rohitwaghchaure @s-aga-r
erpnext/manufacturing/ @rohitwaghchaure @s-aga-r
erpnext/quality_management/ @rohitwaghchaure @s-aga-r
erpnext/stock/ @rohitwaghchaure @s-aga-r
erpnext/subcontracting @rohitwaghchaure @s-aga-r
erpnext/controllers/ @deepeshgarg007 @rohitwaghchaure
erpnext/patches/ @deepeshgarg007
.github/ @deepeshgarg007
pyproject.toml @phot0n

View File

@@ -1,46 +0,0 @@
# Contributor Covenant Code of Conduct
## Our Pledge
In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.
## Our Standards
Examples of behavior that contributes to creating a positive environment include:
* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
* Gracefully accepting constructive criticism
* Focusing on what is best for the community
* Showing empathy towards other community members
Examples of unacceptable behavior by participants include:
* The use of sexualized language or imagery and unwelcome sexual attention or advances
* Trolling, insulting/derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or electronic address, without explicit permission
* Other conduct which could reasonably be considered inappropriate in a professional setting
## Our Responsibilities
Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.
Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.
## Scope
This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.
## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at hello@frappe.io. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.
Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.
## Attribution
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version]
[homepage]: http://contributor-covenant.org
[version]: http://contributor-covenant.org/version/1/4/

53
CONTRIBUTING.md Normal file
View File

@@ -0,0 +1,53 @@
# Contributing to Frappe / ERPNext
### Update 16-Sep-14
Please send pull requests to branch v5.0
## Reporting issues
We only accept issues that are bug reports or feature requests. Bugs must be isolated and reproducible problems. Please read the following guidelines before opening any issue.
1. **Search for existing issues:** We want to avoid duplication, and you'd help us out a lot by first checking if someone else has reported the same issue. The issue may have already been resolved with a fix available.
1. **Report each issue separately:** Don't club multiple, unreleated issues in one note.
1. **Mention the version number:** Please mention the application, browser and platform version numbers.
### Issues
1. **Share as much information as possible:** Include operating system and version, browser and version, when did you last update ERPNext, how is it customized, etc. where appropriate. Also include steps to reproduce the bug.
1. **Include Screenshots if possible:** Consider adding screenshots annotated with what goes wrong.
1. **Find and post the trace for bugs:** If you are reporting an issue from the browser, Open the Javascript Console and paste us any error messages you see.
### Feature Requests
1. We need as much information you can to consider a feature request.
1. Think about **how** you want us to build the feature. Consider including:
1. Mockups (wireframes of features)
1. Screenshots (annotated with what should change)
1. Screenshots from other products if you want us to implement features present in other products.
1. Basically, the more you help us, the faster your request is likely to be completed.
1. A one line feature request like **Implement Capacity Planning** will be closed.
## Pull Requests
General guidelines for sending pull requests:
#### Don't Repeat Yourself (DRY)
We believe that the most effective way to manage a product like this is to ensure that
there is minimum repetition of code. So before contributing a function, please make sure
that such a feature or function does not exist else where. If it does, the try and extend
that function to accommodate your use case.
#### Don't create new DocTypes Unless Absolutely Necessary
DocTypes are easy to create but hard to maintain. If you find that there is a another DocType with a similar functionality, then please try and extend that functionality. For example, by adding a "type" field to classify the new type of record.
#### Tabs or spaces?
Tabs!
### Copyright
Please see README.md

20
MANIFEST.in Normal file
View File

@@ -0,0 +1,20 @@
include MANIFEST.in
include requirements.txt
include *.json
include *.md
include *.py
include *.txt
include .travis.yml
recursive-include erpnext *.txt
recursive-include erpnext *.css
recursive-include erpnext *.csv
recursive-include erpnext *.html
recursive-include erpnext *.ico
recursive-include erpnext *.js
recursive-include erpnext *.json
recursive-include erpnext *.md
recursive-include erpnext *.png
recursive-include erpnext *.py
recursive-include erpnext *.svg
recursive-include erpnext/public *
recursive-exclude * *.pyc

117
README.md
View File

@@ -1,87 +1,76 @@
<div align="center">
<a href="https://erpnext.com">
<img src="https://raw.githubusercontent.com/frappe/erpnext/develop/erpnext/public/images/erpnext-logo.png" height="128">
</a>
<h2>ERPNext</h2>
<p align="center">
<p>ERP made simple</p>
</p>
# ERPNext - Open source ERP for small and medium-size business [![Build Status](https://travis-ci.org/frappe/erpnext.png)](https://travis-ci.org/frappe/erpnext)
[![CI](https://github.com/frappe/erpnext/actions/workflows/server-tests.yml/badge.svg?branch=develop)](https://github.com/frappe/erpnext/actions/workflows/server-tests.yml)
[![UI](https://github.com/erpnext/erpnext_ui_tests/actions/workflows/ui-tests.yml/badge.svg?branch=develop&event=schedule)](https://github.com/erpnext/erpnext_ui_tests/actions/workflows/ui-tests.yml)
[![Open Source Helpers](https://www.codetriage.com/frappe/erpnext/badges/users.svg)](https://www.codetriage.com/frappe/erpnext)
[![codecov](https://codecov.io/gh/frappe/erpnext/branch/develop/graph/badge.svg?token=0TwvyUg3I5)](https://codecov.io/gh/frappe/erpnext)
[![docker pulls](https://img.shields.io/docker/pulls/frappe/erpnext-worker.svg)](https://hub.docker.com/r/frappe/erpnext-worker)
[![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/frappe/erpnext?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
[https://erpnext.com](https://erpnext.com)
</div>
Includes: Accounting, Inventory, CRM, Sales, Purchase, Projects, HRMS. Requires MariaDB.
ERPNext as a monolith includes the following areas for managing businesses:
ERPNext is built on the [Frappe](https://github.com/frappe/frappe) Framework, a full-stack web app framework in Python & Javascript.
1. [Accounting](https://erpnext.com/open-source-accounting)
1. [Warehouse Management](https://erpnext.com/distribution/warehouse-management-system)
1. [CRM](https://erpnext.com/open-source-crm)
1. [Sales](https://erpnext.com/open-source-sales-purchase)
1. [Purchase](https://erpnext.com/open-source-sales-purchase)
1. [HRMS](https://erpnext.com/open-source-hrms)
1. [Project Management](https://erpnext.com/open-source-projects)
1. [Support](https://erpnext.com/open-source-help-desk-software)
1. [Asset Management](https://erpnext.com/open-source-asset-management-software)
1. [Quality Management](https://erpnext.com/docs/user/manual/en/quality-management)
1. [Manufacturing](https://erpnext.com/open-source-manufacturing-erp-software)
1. [Website Management](https://erpnext.com/open-source-website-builder-software)
1. [Customize ERPNext](https://erpnext.com/docs/user/manual/en/customize-erpnext)
1. [And More](https://erpnext.com/docs/user/manual/en/)
- [User Guide](https://erpnext.com/user-guide)
- [Getting Help](http://erpnext.org/getting-help.html)
- [Discussion Forum](https://discuss.frappe.io/)
ERPNext is built on the [Frappe Framework](https://github.com/frappe/frappe), a full-stack web app framework built with Python & JavaScript.
---
## Installation
### Full Install
<div align="center" style="max-height: 40px;">
<a href="https://frappecloud.com/erpnext/signup">
<img src=".github/try-on-f-cloud-button.svg" height="40">
</a>
<a href="https://labs.play-with-docker.com/?stack=https://raw.githubusercontent.com/frappe/frappe_docker/main/pwd.yml">
<img src="https://raw.githubusercontent.com/play-with-docker/stacks/master/assets/images/button.png" alt="Try in PWD" height="37"/>
</a>
</div>
> Login for the PWD site: (username: Administrator, password: admin)
### Containerized Installation
Use docker to deploy ERPNext in production or for development of [Frappe](https://github.com/frappe/frappe) apps. See https://github.com/frappe/frappe_docker for more details.
### Manual Install
The Easy Way: our install script for bench will install all dependencies (e.g. MariaDB). See https://github.com/frappe/bench for more details.
The Easy Way install script for bench will install all dependencies (e.g. MariaDB). See https://github.com/frappe/bench
New passwords will be created for the ERPNext "Administrator" user, the MariaDB root user, and the frappe user (the script displays the passwords and saves them to ~/frappe_passwords.txt).
### Virtual Image
## Learning and community
You can download a virtual image to run ERPNext in a virtual machine on your local system.
1. [Frappe School](https://frappe.school) - Learn Frappe Framework and ERPNext from the various courses by the maintainers or from the community.
2. [Official documentation](https://docs.erpnext.com/) - Extensive documentation for ERPNext.
3. [Discussion Forum](https://discuss.erpnext.com/) - Engage with community of ERPNext users and service providers.
4. [Telegram Group](https://erpnext_public.t.me) - Get instant help from huge community of users.
- [ERPNext Download](http://erpnext.com/download)
System and user credentials are listed on the download page.
## Contributing
1. [Issue Guidelines](https://github.com/frappe/erpnext/wiki/Issue-Guidelines)
1. [Report Security Vulnerabilities](https://erpnext.com/security)
1. [Pull Request Requirements](https://github.com/frappe/erpnext/wiki/Contribution-Guidelines)
---
## License
GNU/General Public License (see [license.txt](license.txt))
GNU/General Public License (see LICENSE.txt)
The ERPNext code is licensed as GNU General Public License (v3) and the Documentation is licensed as Creative Commons (CC-BY-SA-3.0) and the copyright is owned by Frappe Technologies Pvt Ltd (Frappe) and Contributors.
The ERPNext code is licensed as GNU General Public License (v3) and the Documentation is licensed as Creative Commons (CC-BY-SA-3.0) and the copyright is owned by Web Notes Technologies Pvt Ltd (Web Notes) and Contributors.
By contributing to ERPNext, you agree that your contributions will be licensed under its GNU General Public License (v3).
---
## Logo and Trademark Policy
## Logo and Trademark
Please read our [Logo and Trademark Policy](TRADEMARK_POLICY.md).
The brand name ERPNext and the logo are trademarks of Web Notes Technologies Pvt. Ltd.
### Introduction
Web Notes Technologies Pvt. Ltd. (Web Notes) owns and oversees the trademarks for the ERPNext name and logos. We have developed this trademark usage policy with the following goals in mind:
- Wed like to make it easy for anyone to use the ERPNext name or logo for community-oriented efforts that help spread and improve ERPNext.
- Wed like to make it clear how ERPNext-related businesses and projects can (and cannot) use the ERPNext name and logo.
- Wed like to make it hard for anyone to use the ERPNext name and logo to unfairly profit from, trick or confuse people who are looking for official ERPNext resources.
### Web Notes Trademark Usage Policy
Permission from Web Notes is required to use the ERPNext name or logo as part of any project, product, service, domain or company name.
We will grant permission to use the ERPNext name and logo for projects that meet the following criteria:
- The primary purpose of your project is to promote the spread and improvement of the ERPNext software.
- Your project is non-commercial in nature (it can make money to cover its costs or contribute to non-profit entities, but it cannot be run as a for-profit project or business).
Your project neither promotes nor is associated with entities that currently fail to comply with the GPL license under which ERPNext is distributed.
- If your project meets these criteria, you will be permitted to use the ERPNext name and logo to promote your project in any way you see fit with one exception: Please do not use ERPNext as part of a domain name.
Use of the ERPNext name and logo is additionally allowed in the following situations:
All other ERPNext-related businesses or projects can use the ERPNext name and logo to refer to and explain their services, but they cannot use them as part of a product, project, service, domain, or company name and they cannot use them in any way that suggests an affiliation with or endorsement by the ERPNext or WebNotes or the ERPNext open source project. For example, a consulting company can describe its business as “123 Web Services, offering ERPNext consulting for small businesses,” but cannot call its business “The ERPNext Consulting Company.”
Similarly, its OK to use the ERPNext logo as part of a page that describes your products or services, but it is not OK to use it as part of your company or product logo or branding itself. Under no circumstances is it permitted to use ERPNext as part of a top-level domain name.
We do not allow the use of the trademark in advertising, including AdSense/AdWords.
Please note that it is not the goal of this policy to limit commercial activity around ERPNext. We encourage ERPNext-based businesses, and we would love to see hundreds of them.
When in doubt about your use of the ERPNext name or logo, please contact the Web Notes Technologies for clarification.
(inspired from Wordpress)

View File

@@ -1,7 +0,0 @@
# Security Policy
The ERPNext team and community take security issues seriously. To report a security issue, fill out the form at [https://erpnext.com/security/report](https://erpnext.com/security/report).
You can help us make ERPNext and all it's users more secure by following the [Reporting guidelines](https://erpnext.com/security).
We appreciate your efforts to responsibly disclose your findings. We'll endeavor to respond quickly, and will keep you updated throughout the process.

View File

@@ -1,36 +0,0 @@
## Logo and Trademark Policy
The brand name ERPNext and the logo are trademarks of Frappe Technologies Pvt. Ltd.
### Introduction
Frappe Technologies Pvt. Ltd. (Frappe) owns and oversees the trademarks for the ERPNext name and logos. We have developed this trademark usage policy with the following goals in mind:
- Wed like to make it easy for anyone to use the ERPNext name or logo for community-oriented efforts that help spread and improve ERPNext.
- Wed like to make it clear how ERPNext-related businesses and projects can (and cannot) use the ERPNext name and logo.
- Wed like to make it hard for anyone to use the ERPNext name and logo to unfairly profit from, trick or confuse people who are looking for official ERPNext resources.
### Frappe Trademark Usage Policy
Permission from Frappe is required to use the ERPNext name or logo as part of any project, product, service, domain or company name.
We will grant permission to use the ERPNext name and logo for projects that meet the following criteria:
- The primary purpose of your project is to promote the spread and improvement of the ERPNext software.
- Your project is non-commercial in nature (it can make money to cover its costs or contribute to non-profit entities, but it cannot be run as a for-profit project or business).
Your project neither promotes nor is associated with entities that currently fail to comply with the GPL license under which ERPNext is distributed.
- If your project meets these criteria, you will be permitted to use the ERPNext name and logo to promote your project in any way you see fit with one exception: Please do not use ERPNext as part of a domain name.
Use of the ERPNext name and logo is additionally allowed in the following situations:
All other ERPNext-related businesses or projects can use the ERPNext name and logo to refer to and explain their services, but they cannot use them as part of a product, project, service, domain, or company name and they cannot use them in any way that suggests an affiliation with or endorsement by ERPNext or Frappe Technologies or the ERPNext open source project. For example, a consulting company can describe its business as “123 Web Services, offering ERPNext consulting for small businesses,” but cannot call its business “The ERPNext Consulting Company.”
Similarly, its OK to use the ERPNext logo as part of a page that describes your products or services, but it is not OK to use it as part of your company or product logo or branding itself. Under no circumstances is it permitted to use ERPNext as part of a top-level domain name.
We do not allow the use of the trademark in advertising, including AdSense/AdWords.
Please note that it is not the goal of this policy to limit commercial activity around ERPNext. We encourage ERPNext-based businesses, and we would love to see hundreds of them.
When in doubt about your use of the ERPNext name or logo, please contact Frappe Technologies for clarification.
(inspired by WordPress)

View File

@@ -1,7 +0,0 @@
## ERPNext includes these public works
For Frappe Framework, please see attributions.md at https://github.com/frappe/frappe/
#### Images
POS Icon: https://thenounproject.com/icon/41958 by hunotika

11
ci/fix-mariadb.sh Executable file
View File

@@ -0,0 +1,11 @@
#!/bin/bash
# stolen from http://cgit.drupalcode.org/octopus/commit/?id=db4f837
includedir=`mysql_config --variable=pkgincludedir`
thiscwd=`pwd`
_THIS_DB_VERSION=`mysql -V 2>&1 | tr -d "\n" | cut -d" " -f6 | awk '{ print $1}' | cut -d"-" -f1 | awk '{ print $1}' | sed "s/[\,']//g"`
if [ "$_THIS_DB_VERSION" = "5.5.40" ] && [ ! -e "$includedir-$_THIS_DB_VERSION-fixed.log" ] ; then
cd $includedir
sudo patch -p1 < $thiscwd/ci/my_config.h.patch &> /dev/null
sudo touch $includedir-$_THIS_DB_VERSION-fixed.log
fi

22
ci/my_config.h.patch Normal file
View File

@@ -0,0 +1,22 @@
diff -burp a/my_config.h b/my_config.h
--- a/my_config.h 2014-10-09 19:32:46.000000000 -0400
+++ b/my_config.h 2014-10-09 19:35:12.000000000 -0400
@@ -641,17 +641,4 @@
#define SIZEOF_TIME_T 8
/* #undef TIME_T_UNSIGNED */
-/*
- stat structure (from <sys/stat.h>) is conditionally defined
- to have different layout and size depending on the defined macros.
- The correct macro is defined in my_config.h, which means it MUST be
- included first (or at least before <features.h> - so, practically,
- before including any system headers).
-
- __GLIBC__ is defined in <features.h>
-*/
-#ifdef __GLIBC__
-#error <my_config.h> MUST be included first!
-#endif
-
#endif

View File

@@ -1,26 +0,0 @@
codecov:
require_ci_to_pass: yes
coverage:
status:
project:
default:
target: auto
threshold: 0.5%
patch:
default:
target: 85%
threshold: 0%
base: auto
branches:
- develop
if_ci_failed: ignore
only_pulls: true
comment:
layout: "diff, files"
require_changes: true
ignore:
- "erpnext/demo"

View File

@@ -1,25 +0,0 @@
module.exports = {
parserPreset: 'conventional-changelog-conventionalcommits',
rules: {
'subject-empty': [2, 'never'],
'type-case': [2, 'always', 'lower-case'],
'type-empty': [2, 'never'],
'type-enum': [
2,
'always',
[
'build',
'chore',
'ci',
'docs',
'feat',
'fix',
'perf',
'refactor',
'revert',
'style',
'test',
],
],
},
};

View File

@@ -1,9 +0,0 @@
{
"extends": ["stylelint-config-recommended"],
"plugins": ["stylelint-scss"],
"rules": {
"at-rule-no-unknown": null,
"scss/at-rule-no-unknown": true,
"no-descending-specificity": null
}
}

View File

@@ -1,153 +1 @@
import functools
import inspect
import frappe
__version__ = "16.0.0-dev"
def get_default_company(user=None):
"""Get default company for user"""
from frappe.defaults import get_user_default_as_list
if not user:
user = frappe.session.user
companies = get_user_default_as_list(user, "company")
if companies:
default_company = companies[0]
else:
default_company = frappe.db.get_single_value("Global Defaults", "default_company")
return default_company
def get_default_currency():
"""Returns the currency of the default company"""
company = get_default_company()
if company:
return frappe.get_cached_value("Company", company, "default_currency")
def get_default_cost_center(company):
"""Returns the default cost center of the company"""
if not company:
return None
if not frappe.flags.company_cost_center:
frappe.flags.company_cost_center = {}
if company not in frappe.flags.company_cost_center:
frappe.flags.company_cost_center[company] = frappe.get_cached_value(
"Company", company, "cost_center"
)
return frappe.flags.company_cost_center[company]
def get_company_currency(company):
"""Returns the default company currency"""
if not frappe.flags.company_currency:
frappe.flags.company_currency = {}
if company not in frappe.flags.company_currency:
frappe.flags.company_currency[company] = frappe.db.get_value(
"Company", company, "default_currency", cache=True
)
return frappe.flags.company_currency[company]
def set_perpetual_inventory(enable=1, company=None):
if not company:
company = "_Test Company" if frappe.flags.in_test else get_default_company()
company = frappe.get_doc("Company", company)
company.enable_perpetual_inventory = enable
company.save()
def encode_company_abbr(name, company=None, abbr=None):
"""Returns name encoded with company abbreviation"""
company_abbr = abbr or frappe.get_cached_value("Company", company, "abbr")
parts = name.rsplit(" - ", 1)
if parts[-1].lower() != company_abbr.lower():
parts.append(company_abbr)
return " - ".join(parts)
def is_perpetual_inventory_enabled(company):
if not company:
company = "_Test Company" if frappe.flags.in_test else get_default_company()
if not hasattr(frappe.local, "enable_perpetual_inventory"):
frappe.local.enable_perpetual_inventory = {}
if company not in frappe.local.enable_perpetual_inventory:
frappe.local.enable_perpetual_inventory[company] = (
frappe.get_cached_value("Company", company, "enable_perpetual_inventory") or 0
)
return frappe.local.enable_perpetual_inventory[company]
def get_default_finance_book(company=None):
if not company:
company = get_default_company()
if not hasattr(frappe.local, "default_finance_book"):
frappe.local.default_finance_book = {}
if company not in frappe.local.default_finance_book:
frappe.local.default_finance_book[company] = frappe.get_cached_value(
"Company", company, "default_finance_book"
)
return frappe.local.default_finance_book[company]
def get_party_account_type(party_type):
if not hasattr(frappe.local, "party_account_types"):
frappe.local.party_account_types = {}
if party_type not in frappe.local.party_account_types:
frappe.local.party_account_types[party_type] = (
frappe.db.get_value("Party Type", party_type, "account_type") or ""
)
return frappe.local.party_account_types[party_type]
def get_region(company=None):
"""Return the default country based on flag, company or global settings
You can also set global company flag in `frappe.flags.company`
"""
if not company:
company = frappe.local.flags.company
if company:
return frappe.get_cached_value("Company", company, "country")
return frappe.flags.country or frappe.get_system_settings("country")
def allow_regional(fn):
"""Decorator to make a function regionally overridable
Example:
@erpnext.allow_regional
def myfunction():
pass"""
@functools.wraps(fn)
def caller(*args, **kwargs):
overrides = frappe.get_hooks("regional_overrides", {}).get(get_region())
function_path = f"{inspect.getmodule(fn).__name__}.{fn.__name__}"
if not overrides or function_path not in overrides:
return fn(*args, **kwargs)
# Priority given to last installed app
return frappe.get_attr(overrides[function_path][-1])(*args, **kwargs)
return caller
from erpnext.__version__ import __version__

2
erpnext/__version__.py Normal file
View File

@@ -0,0 +1,2 @@
from __future__ import unicode_literals
__version__ = '4.25.7'

View File

@@ -6,46 +6,8 @@ Accounting heads are called "Accounts" and they can be groups in a tree like
Entries are:
- Journal Entries
- Journal Vouchers
- Sales Invoice (Itemised)
- Purchase Invoice (Itemised)
All accounting entries are stored in the `General Ledger`
## Payment Ledger
Transactions on Receivable and Payable Account types will also be stored in `Payment Ledger`. This is so that payment reconciliation process only requires update on this ledger.
### Key Fields
| Field | Description |
|----------------------|----------------------------------|
| `account_type` | Receivable/Payable |
| `account` | Accounting head |
| `party` | Party Name |
| `voucher_no` | Voucher No |
| `against_voucher_no` | Linked voucher(secondary effect) |
| `amount` | can be +ve/-ve |
### Design
`debit` and `credit` have been replaced with `account_type` and `amount`. `against_voucher_no` is populated for all entries. So, outstanding amount can be calculated by summing up amount only using `against_voucher_no`.
Ex:
1. Consider an invoice for ₹100 and a partial payment of ₹80 against that invoice. Payment Ledger will have following entries.
| voucher_no | against_voucher_no | amount |
|------------|--------------------|--------|
| SINV-01 | SINV-01 | 100 |
| PAY-01 | SINV-01 | -80 |
2. Reconcile a Credit Note against an invoice using a Journal Entry
An invoice for ₹100 partially reconciled against a credit of ₹70 using a Journal Entry. Payment Ledger will have the following entries.
| voucher_no | against_voucher_no | amount |
|------------|--------------------|--------|
| SINV-01 | SINV-01 | 100 |
| | | |
| CR-NOTE-01 | CR-NOTE-01 | -70 |
| | | |
| JE-01 | CR-NOTE-01 | +70 |
| JE-01 | SINV-01 | -70 |
All accounting entries are stored in the `General Ledger`

View File

@@ -1,58 +0,0 @@
{
"cards": [
{
"card": "Total Outgoing Bills"
},
{
"card": "Total Incoming Bills"
},
{
"card": "Total Incoming Payment"
},
{
"card": "Total Outgoing Payment"
}
],
"charts": [
{
"chart": "Profit and Loss",
"width": "Full"
},
{
"chart": "Incoming Bills (Purchase Invoice)",
"width": "Half"
},
{
"chart": "Outgoing Bills (Sales Invoice)",
"width": "Half"
},
{
"chart": "Accounts Receivable Ageing",
"width": "Half"
},
{
"chart": "Accounts Payable Ageing",
"width": "Half"
},
{
"chart": "Budget Variance",
"width": "Full"
},
{
"chart": "Bank Balance",
"width": "Full"
}
],
"creation": "2020-07-17 11:25:34.796608",
"dashboard_name": "Accounts",
"docstatus": 0,
"doctype": "Dashboard",
"idx": 0,
"is_default": 0,
"is_standard": 1,
"modified": "2020-07-22 13:07:34.540574",
"modified_by": "Administrator",
"module": "Accounts",
"name": "Accounts",
"owner": "Administrator"
}

View File

@@ -1,126 +0,0 @@
{
"custom_fields": [
{
"_assign": null,
"_comments": null,
"_liked_by": null,
"_user_tags": null,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"collapsible_depends_on": null,
"columns": 0,
"creation": "2018-12-28 22:29:21.828090",
"default": null,
"depends_on": null,
"description": null,
"docstatus": 0,
"dt": "Address",
"fetch_from": null,
"fetch_if_empty": 0,
"fieldname": "tax_category",
"fieldtype": "Link",
"hidden": 0,
"hide_border": 0,
"hide_days": 0,
"hide_seconds": 0,
"idx": 15,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_global_search": 0,
"in_list_view": 0,
"in_preview": 0,
"in_standard_filter": 0,
"insert_after": "fax",
"label": "Tax Category",
"length": 0,
"mandatory_depends_on": null,
"modified": "2018-12-28 22:29:21.828090",
"modified_by": "Administrator",
"name": "Address-tax_category",
"no_copy": 0,
"options": "Tax Category",
"owner": "Administrator",
"parent": null,
"parentfield": null,
"parenttype": null,
"permlevel": 0,
"precision": "",
"print_hide": 0,
"print_hide_if_no_value": 0,
"print_width": null,
"read_only": 0,
"read_only_depends_on": null,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
"translatable": 0,
"unique": 0,
"width": null
},
{
"_assign": null,
"_comments": null,
"_liked_by": null,
"_user_tags": null,
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"collapsible_depends_on": null,
"columns": 0,
"creation": "2020-10-14 17:41:40.878179",
"default": "0",
"depends_on": null,
"description": null,
"docstatus": 0,
"dt": "Address",
"fetch_from": null,
"fetch_if_empty": 0,
"fieldname": "is_your_company_address",
"fieldtype": "Check",
"hidden": 0,
"hide_border": 0,
"hide_days": 0,
"hide_seconds": 0,
"idx": 20,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_global_search": 0,
"in_list_view": 0,
"in_preview": 0,
"in_standard_filter": 0,
"insert_after": "linked_with",
"label": "Is Your Company Address",
"length": 0,
"mandatory_depends_on": null,
"modified": "2020-10-14 17:41:40.878179",
"modified_by": "Administrator",
"name": "Address-is_your_company_address",
"no_copy": 0,
"options": null,
"owner": "Administrator",
"parent": null,
"parentfield": null,
"parenttype": null,
"permlevel": 0,
"precision": "",
"print_hide": 0,
"print_hide_if_no_value": 0,
"print_width": null,
"read_only": 0,
"read_only_depends_on": null,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
"translatable": 0,
"unique": 0,
"width": null
}
],
"custom_perms": [],
"doctype": "Address",
"property_setters": [],
"sync_on_migrate": 1
}

View File

@@ -1,66 +0,0 @@
import frappe
from frappe import _
from frappe.contacts.doctype.address.address import (
Address,
get_address_display,
get_address_templates,
)
class ERPNextAddress(Address):
def validate(self):
self.validate_reference()
self.update_compnay_address()
super(ERPNextAddress, self).validate()
def link_address(self):
"""Link address based on owner"""
if self.is_your_company_address:
return
return super(ERPNextAddress, self).link_address()
def update_compnay_address(self):
for link in self.get("links"):
if link.link_doctype == "Company":
self.is_your_company_address = 1
def validate_reference(self):
if self.is_your_company_address and not [
row for row in self.links if row.link_doctype == "Company"
]:
frappe.throw(
_("Address needs to be linked to a Company. Please add a row for Company in the Links table."),
title=_("Company Not Linked"),
)
def on_update(self):
"""
After Address is updated, update the related 'Primary Address' on Customer.
"""
address_display = get_address_display(self.as_dict())
filters = {"customer_primary_address": self.name}
customers = frappe.db.get_all("Customer", filters=filters, as_list=True)
for customer_name in customers:
frappe.db.set_value("Customer", customer_name[0], "primary_address", address_display)
@frappe.whitelist()
def get_shipping_address(company, address=None):
filters = [
["Dynamic Link", "link_doctype", "=", "Company"],
["Dynamic Link", "link_name", "=", company],
["Address", "is_your_company_address", "=", 1],
]
fields = ["*"]
if address and frappe.db.get_value("Dynamic Link", {"parent": address, "link_name": company}):
filters.append(["Address", "name", "=", address])
if not address:
filters.append(["Address", "is_shipping_address", "=", 1])
address = frappe.get_all("Address", filters=filters, fields=fields) or {}
if address:
address_as_dict = address[0]
name, address_template = get_address_templates(address_as_dict)
return address_as_dict.get("name"), frappe.render_template(address_template, address_as_dict)

View File

@@ -1,23 +0,0 @@
{
"chart_name": "Accounts Payable Ageing",
"chart_type": "Report",
"creation": "2020-07-17 11:25:34.564015",
"docstatus": 0,
"doctype": "Dashboard Chart",
"dynamic_filters_json": "{\"company\":\"frappe.defaults.get_user_default(\\\"Company\\\")\",\"report_date\":\"frappe.datetime.now_date()\"}",
"filters_json": "{\"ageing_based_on\":\"Due Date\",\"range1\":30,\"range2\":60,\"range3\":90,\"range4\":120,\"group_by_party\":0,\"based_on_payment_terms\":0}",
"idx": 0,
"is_public": 1,
"is_standard": 1,
"modified": "2020-07-22 12:29:33.584419",
"modified_by": "Administrator",
"module": "Accounts",
"name": "Accounts Payable Ageing",
"number_of_groups": 0,
"owner": "Administrator",
"report_name": "Accounts Payable",
"timeseries": 0,
"type": "Donut",
"use_report_chart": 1,
"y_axis": []
}

View File

@@ -1,23 +0,0 @@
{
"chart_name": "Accounts Receivable Ageing",
"chart_type": "Report",
"creation": "2020-07-17 11:25:34.535388",
"docstatus": 0,
"doctype": "Dashboard Chart",
"dynamic_filters_json": "{\"company\":\"frappe.defaults.get_user_default(\\\"Company\\\")\",\"report_date\":\"frappe.datetime.now_date()\"}",
"filters_json": "{\"ageing_based_on\":\"Due Date\",\"range1\":30,\"range2\":60,\"range3\":90,\"range4\":120,\"group_by_party\":0,\"based_on_payment_terms\":0,\"show_future_payments\":0,\"show_delivery_notes\":0,\"show_sales_person\":0}",
"idx": 0,
"is_public": 1,
"is_standard": 1,
"modified": "2020-07-22 12:28:42.743551",
"modified_by": "Administrator",
"module": "Accounts",
"name": "Accounts Receivable Ageing",
"number_of_groups": 0,
"owner": "Administrator",
"report_name": "Accounts Receivable",
"timeseries": 0,
"type": "Donut",
"use_report_chart": 1,
"y_axis": []
}

View File

@@ -1,26 +0,0 @@
{
"chart_name": "Bank Balance",
"chart_type": "Custom",
"creation": "2020-07-17 11:25:34.620221",
"docstatus": 0,
"doctype": "Dashboard Chart",
"dynamic_filters_json": "{\"company\":\"frappe.defaults.get_user_default(\\\"Company\\\")\",\"account\":\"locals[\\\":Company\\\"][frappe.defaults.get_user_default(\\\"Company\\\")][\\\"default_bank_account\\\"]\"}",
"filters_json": "{}",
"idx": 0,
"is_public": 1,
"is_standard": 1,
"last_synced_on": "2020-07-22 12:19:59.879476",
"modified": "2020-07-22 12:21:48.780513",
"modified_by": "Administrator",
"module": "Accounts",
"name": "Bank Balance",
"number_of_groups": 0,
"owner": "Administrator",
"source": "Account Balance Timeline",
"time_interval": "Quarterly",
"timeseries": 0,
"timespan": "Last Year",
"type": "Line",
"use_report_chart": 0,
"y_axis": []
}

View File

@@ -1,24 +0,0 @@
{
"chart_name": "Budget Variance",
"chart_type": "Report",
"creation": "2020-07-17 11:25:34.593061",
"docstatus": 0,
"doctype": "Dashboard Chart",
"dynamic_filters_json": "{\"company\":\"frappe.defaults.get_user_default(\\\"Company\\\")\",\"from_fiscal_year\":\"erpnext.utils.get_fiscal_year()\",\"to_fiscal_year\":\"erpnext.utils.get_fiscal_year()\"}",
"filters_json": "{\"period\":\"Monthly\",\"budget_against\":\"Cost Center\",\"show_cumulative\":0}",
"idx": 0,
"is_public": 1,
"is_standard": 1,
"modified": "2023-07-19 13:13:13.307073",
"modified_by": "Administrator",
"module": "Accounts",
"name": "Budget Variance",
"number_of_groups": 0,
"owner": "Administrator",
"report_name": "Budget Variance Report",
"roles": [],
"timeseries": 0,
"type": "Bar",
"use_report_chart": 1,
"y_axis": []
}

View File

@@ -1,29 +0,0 @@
{
"based_on": "posting_date",
"chart_name": "Incoming Bills (Purchase Invoice)",
"chart_type": "Sum",
"color": "#a83333",
"creation": "2020-07-17 11:25:34.479703",
"docstatus": 0,
"doctype": "Dashboard Chart",
"document_type": "Purchase Invoice",
"dynamic_filters_json": "",
"filters_json": "[[\"Purchase Invoice\",\"docstatus\",\"=\",1]]",
"idx": 0,
"is_public": 1,
"is_standard": 1,
"last_synced_on": "2020-07-21 17:37:30.727306",
"modified": "2020-07-21 17:51:07.374917",
"modified_by": "Administrator",
"module": "Accounts",
"name": "Incoming Bills (Purchase Invoice)",
"number_of_groups": 0,
"owner": "Administrator",
"time_interval": "Monthly",
"timeseries": 1,
"timespan": "Last Year",
"type": "Bar",
"use_report_chart": 0,
"value_based_on": "base_net_total",
"y_axis": []
}

View File

@@ -1,28 +0,0 @@
{
"based_on": "posting_date",
"chart_name": "Outgoing Bills (Sales Invoice)",
"chart_type": "Sum",
"color": "#7b933d",
"creation": "2020-07-17 11:25:34.507547",
"docstatus": 0,
"doctype": "Dashboard Chart",
"document_type": "Sales Invoice",
"filters_json": "[[\"Sales Invoice\",\"docstatus\",\"=\",1]]",
"idx": 0,
"is_public": 1,
"is_standard": 1,
"last_synced_on": "2020-07-21 17:37:31.574666",
"modified": "2020-07-21 17:52:03.970530",
"modified_by": "Administrator",
"module": "Accounts",
"name": "Outgoing Bills (Sales Invoice)",
"number_of_groups": 0,
"owner": "Administrator",
"time_interval": "Monthly",
"timeseries": 1,
"timespan": "Last Year",
"type": "Bar",
"use_report_chart": 0,
"value_based_on": "base_net_total",
"y_axis": []
}

View File

@@ -1,24 +0,0 @@
{
"chart_name": "Profit and Loss",
"chart_type": "Report",
"creation": "2020-07-17 11:25:34.448572",
"docstatus": 0,
"doctype": "Dashboard Chart",
"dynamic_filters_json": "{\"company\":\"frappe.defaults.get_user_default(\\\"Company\\\")\",\"from_fiscal_year\":\"erpnext.utils.get_fiscal_year()\",\"to_fiscal_year\":\"erpnext.utils.get_fiscal_year()\"}",
"filters_json": "{\"filter_based_on\":\"Fiscal Year\",\"period_start_date\":\"2020-04-01\",\"period_end_date\":\"2021-03-31\",\"periodicity\":\"Yearly\",\"include_default_book_entries\":1}",
"idx": 0,
"is_public": 1,
"is_standard": 1,
"modified": "2023-07-19 13:08:56.470390",
"modified_by": "Administrator",
"module": "Accounts",
"name": "Profit and Loss",
"number_of_groups": 0,
"owner": "Administrator",
"report_name": "Profit and Loss Statement",
"roles": [],
"timeseries": 0,
"type": "Bar",
"use_report_chart": 1,
"y_axis": []
}

View File

@@ -1,22 +0,0 @@
frappe.provide('frappe.dashboards.chart_sources');
frappe.dashboards.chart_sources["Account Balance Timeline"] = {
method: "erpnext.accounts.dashboard_chart_source.account_balance_timeline.account_balance_timeline.get",
filters: [
{
fieldname: "company",
label: __("Company"),
fieldtype: "Link",
options: "Company",
default: frappe.defaults.get_user_default("Company"),
reqd: 1
},
{
fieldname: "account",
label: __("Account"),
fieldtype: "Link",
options: "Account",
reqd: 1
},
]
};

View File

@@ -1,13 +0,0 @@
{
"creation": "2019-02-06 07:57:10.377718",
"docstatus": 0,
"doctype": "Dashboard Chart Source",
"idx": 0,
"modified": "2019-04-09 18:30:49.943174",
"modified_by": "Administrator",
"module": "Accounts",
"name": "Account Balance Timeline",
"owner": "Administrator",
"source_name": "Account Balance Timeline",
"timeseries": 1
}

View File

@@ -1,140 +0,0 @@
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
# License: GNU General Public License v3. See license.txt
import frappe
from frappe import _
from frappe.utils import add_to_date, formatdate, get_link_to_form, getdate, nowdate
from frappe.utils.dashboard import cache_source
from frappe.utils.dateutils import get_from_date_from_timespan, get_period_ending
from frappe.utils.nestedset import get_descendants_of
@frappe.whitelist()
@cache_source
def get(
chart_name=None,
chart=None,
no_cache=None,
filters=None,
from_date=None,
to_date=None,
timespan=None,
time_interval=None,
heatmap_year=None,
):
if chart_name:
chart = frappe.get_doc("Dashboard Chart", chart_name)
else:
chart = frappe._dict(frappe.parse_json(chart))
timespan = chart.timespan
if chart.timespan == "Select Date Range":
from_date = chart.from_date
to_date = chart.to_date
timegrain = chart.time_interval
filters = frappe.parse_json(filters) or frappe.parse_json(chart.filters_json)
account = filters.get("account")
company = filters.get("company")
if not account and chart_name:
frappe.throw(
_("Account is not set for the dashboard chart {0}").format(
get_link_to_form("Dashboard Chart", chart_name)
)
)
if not frappe.db.exists("Account", account) and chart_name:
frappe.throw(
_("Account {0} does not exists in the dashboard chart {1}").format(
account, get_link_to_form("Dashboard Chart", chart_name)
)
)
if not to_date:
to_date = nowdate()
if not from_date:
if timegrain in ("Monthly", "Quarterly"):
from_date = get_from_date_from_timespan(to_date, timespan)
# fetch dates to plot
dates = get_dates_from_timegrain(from_date, to_date, timegrain)
# get all the entries for this account and its descendants
gl_entries = get_gl_entries(account, get_period_ending(to_date, timegrain))
# compile balance values
result = build_result(account, dates, gl_entries)
return {
"labels": [formatdate(r[0].strftime("%Y-%m-%d")) for r in result],
"datasets": [{"name": account, "values": [r[1] for r in result]}],
}
def build_result(account, dates, gl_entries):
result = [[getdate(date), 0.0] for date in dates]
root_type = frappe.get_cached_value("Account", account, "root_type")
# start with the first date
date_index = 0
# get balances in debit
for entry in gl_entries:
# entry date is after the current pointer, so move the pointer forward
while getdate(entry.posting_date) > result[date_index][0]:
date_index += 1
result[date_index][1] += entry.debit - entry.credit
# if account type is credit, switch balances
if root_type not in ("Asset", "Expense"):
for r in result:
r[1] = -1 * r[1]
# for balance sheet accounts, the totals are cumulative
if root_type in ("Asset", "Liability", "Equity"):
for i, r in enumerate(result):
if i > 0:
r[1] = r[1] + result[i - 1][1]
return result
def get_gl_entries(account, to_date):
child_accounts = get_descendants_of("Account", account, ignore_permissions=True)
child_accounts.append(account)
return frappe.db.get_all(
"GL Entry",
fields=["posting_date", "debit", "credit"],
filters=[
dict(posting_date=("<", to_date)),
dict(account=("in", child_accounts)),
dict(voucher_type=("!=", "Period Closing Voucher")),
],
order_by="posting_date asc",
)
def get_dates_from_timegrain(from_date, to_date, timegrain):
days = months = years = 0
if "Daily" == timegrain:
days = 1
elif "Weekly" == timegrain:
days = 7
elif "Monthly" == timegrain:
months = 1
elif "Quarterly" == timegrain:
months = 3
dates = [get_period_ending(from_date, timegrain)]
while getdate(dates[-1]) < getdate(to_date):
date = get_period_ending(
add_to_date(dates[-1], years=years, months=months, days=days), timegrain
)
dates.append(date)
return dates

View File

@@ -1,673 +0,0 @@
import frappe
from frappe import _
from frappe.email import sendmail_to_system_managers
from frappe.utils import (
add_days,
add_months,
cint,
date_diff,
flt,
get_first_day,
get_last_day,
get_link_to_form,
getdate,
rounded,
today,
)
from erpnext.accounts.doctype.accounting_dimension.accounting_dimension import (
get_accounting_dimensions,
)
from erpnext.accounts.utils import get_account_currency
def validate_service_stop_date(doc):
"""Validates service_stop_date for Purchase Invoice and Sales Invoice"""
enable_check = (
"enable_deferred_revenue" if doc.doctype == "Sales Invoice" else "enable_deferred_expense"
)
old_stop_dates = {}
old_doc = frappe.db.get_all(
"{0} Item".format(doc.doctype), {"parent": doc.name}, ["name", "service_stop_date"]
)
for d in old_doc:
old_stop_dates[d.name] = d.service_stop_date or ""
for item in doc.items:
if not item.get(enable_check):
continue
if item.service_stop_date:
if date_diff(item.service_stop_date, item.service_start_date) < 0:
frappe.throw(_("Service Stop Date cannot be before Service Start Date"))
if date_diff(item.service_stop_date, item.service_end_date) > 0:
frappe.throw(_("Service Stop Date cannot be after Service End Date"))
if (
old_stop_dates
and old_stop_dates.get(item.name)
and item.service_stop_date != old_stop_dates.get(item.name)
):
frappe.throw(_("Cannot change Service Stop Date for item in row {0}").format(item.idx))
def build_conditions(process_type, account, company):
conditions = ""
deferred_account = (
"item.deferred_revenue_account" if process_type == "Income" else "item.deferred_expense_account"
)
if account:
conditions += "AND %s='%s'" % (deferred_account, account)
elif company:
conditions += f"AND p.company = {frappe.db.escape(company)}"
return conditions
def convert_deferred_expense_to_expense(
deferred_process, start_date=None, end_date=None, conditions=""
):
# book the expense/income on the last day, but it will be trigger on the 1st of month at 12:00 AM
if not start_date:
start_date = add_months(today(), -1)
if not end_date:
end_date = add_days(today(), -1)
# check for the purchase invoice for which GL entries has to be done
invoices = frappe.db.sql_list(
"""
select distinct item.parent
from `tabPurchase Invoice Item` item, `tabPurchase Invoice` p
where item.service_start_date<=%s and item.service_end_date>=%s
and item.enable_deferred_expense = 1 and item.parent=p.name
and item.docstatus = 1 and ifnull(item.amount, 0) > 0
{0}
""".format(
conditions
),
(end_date, start_date),
) # nosec
# For each invoice, book deferred expense
for invoice in invoices:
doc = frappe.get_doc("Purchase Invoice", invoice)
book_deferred_income_or_expense(doc, deferred_process, end_date)
if frappe.flags.deferred_accounting_error:
send_mail(deferred_process)
def convert_deferred_revenue_to_income(
deferred_process, start_date=None, end_date=None, conditions=""
):
# book the expense/income on the last day, but it will be trigger on the 1st of month at 12:00 AM
if not start_date:
start_date = add_months(today(), -1)
if not end_date:
end_date = add_days(today(), -1)
# check for the sales invoice for which GL entries has to be done
invoices = frappe.db.sql_list(
"""
select distinct item.parent
from `tabSales Invoice Item` item, `tabSales Invoice` p
where item.service_start_date<=%s and item.service_end_date>=%s
and item.enable_deferred_revenue = 1 and item.parent=p.name
and item.docstatus = 1 and ifnull(item.amount, 0) > 0
{0}
""".format(
conditions
),
(end_date, start_date),
) # nosec
for invoice in invoices:
doc = frappe.get_doc("Sales Invoice", invoice)
book_deferred_income_or_expense(doc, deferred_process, end_date)
if frappe.flags.deferred_accounting_error:
send_mail(deferred_process)
def get_booking_dates(doc, item, posting_date=None, prev_posting_date=None):
if not posting_date:
posting_date = add_days(today(), -1)
last_gl_entry = False
deferred_account = (
"deferred_revenue_account" if doc.doctype == "Sales Invoice" else "deferred_expense_account"
)
if not prev_posting_date:
prev_gl_entry = frappe.db.sql(
"""
select name, posting_date from `tabGL Entry` where company=%s and account=%s and
voucher_type=%s and voucher_no=%s and voucher_detail_no=%s
and is_cancelled = 0
order by posting_date desc limit 1
""",
(doc.company, item.get(deferred_account), doc.doctype, doc.name, item.name),
as_dict=True,
)
prev_gl_via_je = frappe.db.sql(
"""
SELECT p.name, p.posting_date FROM `tabJournal Entry` p, `tabJournal Entry Account` c
WHERE p.name = c.parent and p.company=%s and c.account=%s
and c.reference_type=%s and c.reference_name=%s
and c.reference_detail_no=%s and c.docstatus < 2 order by posting_date desc limit 1
""",
(doc.company, item.get(deferred_account), doc.doctype, doc.name, item.name),
as_dict=True,
)
if prev_gl_via_je:
if (not prev_gl_entry) or (
prev_gl_entry and prev_gl_entry[0].posting_date < prev_gl_via_je[0].posting_date
):
prev_gl_entry = prev_gl_via_je
if prev_gl_entry:
start_date = getdate(add_days(prev_gl_entry[0].posting_date, 1))
else:
start_date = item.service_start_date
else:
start_date = getdate(add_days(prev_posting_date, 1))
end_date = get_last_day(start_date)
if end_date >= item.service_end_date:
end_date = item.service_end_date
last_gl_entry = True
elif item.service_stop_date and end_date >= item.service_stop_date:
end_date = item.service_stop_date
last_gl_entry = True
if end_date > getdate(posting_date):
end_date = posting_date
if getdate(start_date) <= getdate(end_date):
return start_date, end_date, last_gl_entry
else:
return None, None, None
def calculate_monthly_amount(
doc, item, last_gl_entry, start_date, end_date, total_days, total_booking_days, account_currency
):
amount, base_amount = 0, 0
if not last_gl_entry:
total_months = (
(item.service_end_date.year - item.service_start_date.year) * 12
+ (item.service_end_date.month - item.service_start_date.month)
+ 1
)
prorate_factor = flt(date_diff(item.service_end_date, item.service_start_date)) / flt(
date_diff(get_last_day(item.service_end_date), get_first_day(item.service_start_date))
)
actual_months = rounded(total_months * prorate_factor, 1)
already_booked_amount, already_booked_amount_in_account_currency = get_already_booked_amount(
doc, item
)
base_amount = flt(item.base_net_amount / actual_months, item.precision("base_net_amount"))
if base_amount + already_booked_amount > item.base_net_amount:
base_amount = item.base_net_amount - already_booked_amount
if account_currency == doc.company_currency:
amount = base_amount
else:
amount = flt(item.net_amount / actual_months, item.precision("net_amount"))
if amount + already_booked_amount_in_account_currency > item.net_amount:
amount = item.net_amount - already_booked_amount_in_account_currency
if get_first_day(start_date) != start_date or get_last_day(end_date) != end_date:
partial_month = flt(date_diff(end_date, start_date)) / flt(
date_diff(get_last_day(end_date), get_first_day(start_date))
)
base_amount = rounded(partial_month, 1) * base_amount
amount = rounded(partial_month, 1) * amount
else:
already_booked_amount, already_booked_amount_in_account_currency = get_already_booked_amount(
doc, item
)
base_amount = flt(
item.base_net_amount - already_booked_amount, item.precision("base_net_amount")
)
if account_currency == doc.company_currency:
amount = base_amount
else:
amount = flt(
item.net_amount - already_booked_amount_in_account_currency, item.precision("net_amount")
)
return amount, base_amount
def calculate_amount(doc, item, last_gl_entry, total_days, total_booking_days, account_currency):
amount, base_amount = 0, 0
if not last_gl_entry:
base_amount = flt(
item.base_net_amount * total_booking_days / flt(total_days), item.precision("base_net_amount")
)
if account_currency == doc.company_currency:
amount = base_amount
else:
amount = flt(
item.net_amount * total_booking_days / flt(total_days), item.precision("net_amount")
)
else:
already_booked_amount, already_booked_amount_in_account_currency = get_already_booked_amount(
doc, item
)
base_amount = flt(
item.base_net_amount - already_booked_amount, item.precision("base_net_amount")
)
if account_currency == doc.company_currency:
amount = base_amount
else:
amount = flt(
item.net_amount - already_booked_amount_in_account_currency, item.precision("net_amount")
)
return amount, base_amount
def get_already_booked_amount(doc, item):
if doc.doctype == "Sales Invoice":
total_credit_debit, total_credit_debit_currency = "debit", "debit_in_account_currency"
deferred_account = "deferred_revenue_account"
else:
total_credit_debit, total_credit_debit_currency = "credit", "credit_in_account_currency"
deferred_account = "deferred_expense_account"
gl_entries_details = frappe.db.sql(
"""
select sum({0}) as total_credit, sum({1}) as total_credit_in_account_currency, voucher_detail_no
from `tabGL Entry` where company=%s and account=%s and voucher_type=%s and voucher_no=%s and voucher_detail_no=%s
and is_cancelled = 0
group by voucher_detail_no
""".format(
total_credit_debit, total_credit_debit_currency
),
(doc.company, item.get(deferred_account), doc.doctype, doc.name, item.name),
as_dict=True,
)
journal_entry_details = frappe.db.sql(
"""
SELECT sum(c.{0}) as total_credit, sum(c.{1}) as total_credit_in_account_currency, reference_detail_no
FROM `tabJournal Entry` p , `tabJournal Entry Account` c WHERE p.name = c.parent and
p.company = %s and c.account=%s and c.reference_type=%s and c.reference_name=%s and c.reference_detail_no=%s
and p.docstatus < 2 group by reference_detail_no
""".format(
total_credit_debit, total_credit_debit_currency
),
(doc.company, item.get(deferred_account), doc.doctype, doc.name, item.name),
as_dict=True,
)
already_booked_amount = gl_entries_details[0].total_credit if gl_entries_details else 0
already_booked_amount += journal_entry_details[0].total_credit if journal_entry_details else 0
if doc.currency == doc.company_currency:
already_booked_amount_in_account_currency = already_booked_amount
else:
already_booked_amount_in_account_currency = (
gl_entries_details[0].total_credit_in_account_currency if gl_entries_details else 0
)
already_booked_amount_in_account_currency += (
journal_entry_details[0].total_credit_in_account_currency if journal_entry_details else 0
)
return already_booked_amount, already_booked_amount_in_account_currency
def book_deferred_income_or_expense(doc, deferred_process, posting_date=None):
enable_check = (
"enable_deferred_revenue" if doc.doctype == "Sales Invoice" else "enable_deferred_expense"
)
accounts_frozen_upto = frappe.db.get_single_value("Accounts Settings", "acc_frozen_upto")
def _book_deferred_revenue_or_expense(
item,
via_journal_entry,
submit_journal_entry,
book_deferred_entries_based_on,
prev_posting_date=None,
):
start_date, end_date, last_gl_entry = get_booking_dates(
doc, item, posting_date=posting_date, prev_posting_date=prev_posting_date
)
if not (start_date and end_date):
return
account_currency = get_account_currency(item.expense_account or item.income_account)
if doc.doctype == "Sales Invoice":
against_type = "Customer"
against, project = doc.customer, doc.project
credit_account, debit_account = item.income_account, item.deferred_revenue_account
else:
against_type = "Supplier"
against, project = doc.supplier, item.project
credit_account, debit_account = item.deferred_expense_account, item.expense_account
total_days = date_diff(item.service_end_date, item.service_start_date) + 1
total_booking_days = date_diff(end_date, start_date) + 1
if book_deferred_entries_based_on == "Months":
amount, base_amount = calculate_monthly_amount(
doc,
item,
last_gl_entry,
start_date,
end_date,
total_days,
total_booking_days,
account_currency,
)
else:
amount, base_amount = calculate_amount(
doc, item, last_gl_entry, total_days, total_booking_days, account_currency
)
if not amount:
return
gl_posting_date = end_date
prev_posting_date = None
# check if books nor frozen till endate:
if accounts_frozen_upto and getdate(end_date) <= getdate(accounts_frozen_upto):
gl_posting_date = get_last_day(add_days(accounts_frozen_upto, 1))
prev_posting_date = end_date
if via_journal_entry:
book_revenue_via_journal_entry(
doc,
credit_account,
debit_account,
amount,
base_amount,
gl_posting_date,
project,
account_currency,
item.cost_center,
item,
deferred_process,
submit_journal_entry,
)
else:
make_gl_entries(
doc,
credit_account,
debit_account,
against_type,
against,
amount,
base_amount,
gl_posting_date,
project,
account_currency,
item.cost_center,
item,
deferred_process,
)
# Returned in case of any errors because it tries to submit the same record again and again in case of errors
if frappe.flags.deferred_accounting_error:
return
if getdate(end_date) < getdate(posting_date) and not last_gl_entry:
_book_deferred_revenue_or_expense(
item,
via_journal_entry,
submit_journal_entry,
book_deferred_entries_based_on,
prev_posting_date,
)
via_journal_entry = cint(
frappe.db.get_singles_value("Accounts Settings", "book_deferred_entries_via_journal_entry")
)
submit_journal_entry = cint(
frappe.db.get_singles_value("Accounts Settings", "submit_journal_entries")
)
book_deferred_entries_based_on = frappe.db.get_singles_value(
"Accounts Settings", "book_deferred_entries_based_on"
)
for item in doc.get("items"):
if item.get(enable_check):
_book_deferred_revenue_or_expense(
item, via_journal_entry, submit_journal_entry, book_deferred_entries_based_on
)
def process_deferred_accounting(posting_date=None):
"""Converts deferred income/expense into income/expense
Executed via background jobs on every month end"""
if not posting_date:
posting_date = today()
if not cint(
frappe.db.get_singles_value(
"Accounts Settings", "automatically_process_deferred_accounting_entry"
)
):
return
start_date = add_months(today(), -1)
end_date = add_days(today(), -1)
companies = frappe.get_all("Company")
for company in companies:
for record_type in ("Income", "Expense"):
doc = frappe.get_doc(
dict(
doctype="Process Deferred Accounting",
company=company.name,
posting_date=posting_date,
start_date=start_date,
end_date=end_date,
type=record_type,
)
)
doc.insert()
doc.submit()
def make_gl_entries(
doc,
credit_account,
debit_account,
against_type,
against,
amount,
base_amount,
posting_date,
project,
account_currency,
cost_center,
item,
deferred_process=None,
):
# GL Entry for crediting the amount in the deferred expense
from erpnext.accounts.general_ledger import make_gl_entries
if amount == 0:
return
gl_entries = []
gl_entries.append(
doc.get_gl_dict(
{
"account": credit_account,
"against_type": against_type,
"against": against,
"against_link": against,
"credit": base_amount,
"credit_in_account_currency": amount,
"cost_center": cost_center,
"voucher_detail_no": item.name,
"posting_date": posting_date,
"project": project,
"against_voucher_type": "Process Deferred Accounting",
"against_voucher": deferred_process,
},
account_currency,
item=item,
)
)
# GL Entry to debit the amount from the expense
gl_entries.append(
doc.get_gl_dict(
{
"account": debit_account,
"against_type": against_type,
"against": against,
"against_link": against,
"debit": base_amount,
"debit_in_account_currency": amount,
"cost_center": cost_center,
"voucher_detail_no": item.name,
"posting_date": posting_date,
"project": project,
"against_voucher_type": "Process Deferred Accounting",
"against_voucher": deferred_process,
},
account_currency,
item=item,
)
)
if gl_entries:
try:
make_gl_entries(gl_entries, cancel=(doc.docstatus == 2), merge_entries=True)
frappe.db.commit()
except Exception as e:
if frappe.flags.in_test:
doc.log_error(f"Error while processing deferred accounting for Invoice {doc.name}")
raise e
else:
frappe.db.rollback()
doc.log_error(f"Error while processing deferred accounting for Invoice {doc.name}")
frappe.flags.deferred_accounting_error = True
def send_mail(deferred_process):
title = _("Error while processing deferred accounting for {0}").format(deferred_process)
link = get_link_to_form("Process Deferred Accounting", deferred_process)
content = _("Deferred accounting failed for some invoices:") + "\n"
content += _(
"Please check Process Deferred Accounting {0} and submit manually after resolving errors."
).format(link)
sendmail_to_system_managers(title, content)
def book_revenue_via_journal_entry(
doc,
credit_account,
debit_account,
amount,
base_amount,
posting_date,
project,
account_currency,
cost_center,
item,
deferred_process=None,
submit="No",
):
if amount == 0:
return
journal_entry = frappe.new_doc("Journal Entry")
journal_entry.posting_date = posting_date
journal_entry.company = doc.company
journal_entry.voucher_type = (
"Deferred Revenue" if doc.doctype == "Sales Invoice" else "Deferred Expense"
)
journal_entry.process_deferred_accounting = deferred_process
debit_entry = {
"account": credit_account,
"credit": base_amount,
"credit_in_account_currency": amount,
"account_currency": account_currency,
"reference_name": doc.name,
"reference_type": doc.doctype,
"reference_detail_no": item.name,
"cost_center": cost_center,
"project": project,
}
credit_entry = {
"account": debit_account,
"debit": base_amount,
"debit_in_account_currency": amount,
"account_currency": account_currency,
"reference_name": doc.name,
"reference_type": doc.doctype,
"reference_detail_no": item.name,
"cost_center": cost_center,
"project": project,
}
for dimension in get_accounting_dimensions():
debit_entry.update({dimension: item.get(dimension)})
credit_entry.update({dimension: item.get(dimension)})
journal_entry.append("accounts", debit_entry)
journal_entry.append("accounts", credit_entry)
try:
journal_entry.save()
if submit:
journal_entry.submit()
frappe.db.commit()
except Exception:
frappe.db.rollback()
doc.log_error(f"Error while processing deferred accounting for Invoice {doc.name}")
frappe.flags.deferred_accounting_error = True
def get_deferred_booking_accounts(doctype, voucher_detail_no, dr_or_cr):
if doctype == "Sales Invoice":
credit_account, debit_account = frappe.db.get_value(
"Sales Invoice Item",
{"name": voucher_detail_no},
["income_account", "deferred_revenue_account"],
)
else:
credit_account, debit_account = frappe.db.get_value(
"Purchase Invoice Item",
{"name": voucher_detail_no},
["deferred_expense_account", "expense_account"],
)
if dr_or_cr == "Debit":
return debit_account
else:
return credit_account

View File

@@ -0,0 +1 @@
from __future__ import unicode_literals

View File

@@ -0,0 +1 @@
from __future__ import unicode_literals

View File

@@ -1,214 +1,122 @@
// Copyright (c) 2017, Frappe Technologies Pvt. Ltd. and Contributors
// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
// License: GNU General Public License v3. See license.txt
frappe.ui.form.on("Account", {
setup: function (frm) {
frm.add_fetch("parent_account", "report_type", "report_type");
frm.add_fetch("parent_account", "root_type", "root_type");
},
onload: function (frm) {
frm.set_query("parent_account", function (doc) {
return {
filters: {
is_group: 1,
company: doc.company,
},
cur_frm.list_route = "Accounts Browser/Account";
cur_frm.cscript.refresh = function(doc, cdt, cdn) {
if(doc.__islocal) {
msgprint(__("Please create new account from Chart of Accounts."));
throw "cannot create";
}
cur_frm.toggle_display('account_name', doc.__islocal);
// hide fields if group
cur_frm.toggle_display(['account_type', 'master_type', 'master_name',
'credit_days', 'credit_limit', 'tax_rate'], doc.group_or_ledger=='Ledger')
// disable fields
cur_frm.toggle_enable(['account_name', 'group_or_ledger', 'company'], false);
if(doc.group_or_ledger=='Ledger') {
cur_frm.toggle_display('freeze_account', doc.__onload && doc.__onload.can_freeze_account);
}
// read-only for root accounts
if(!doc.parent_account) {
cur_frm.set_read_only();
cur_frm.set_intro(__("This is a root account and cannot be edited."));
} else {
// credit days and type if customer or supplier
cur_frm.set_intro(null);
cur_frm.toggle_display(['credit_days', 'credit_limit'], in_list(['Customer', 'Supplier'],
doc.master_type));
cur_frm.cscript.master_type(doc, cdt, cdn);
cur_frm.cscript.account_type(doc, cdt, cdn);
// show / hide convert buttons
cur_frm.cscript.add_toolbar_buttons(doc);
}
}
cur_frm.cscript.master_type = function(doc, cdt, cdn) {
cur_frm.toggle_display(['credit_days', 'credit_limit'], in_list(['Customer', 'Supplier'],
doc.master_type));
cur_frm.toggle_display('master_name', doc.account_type=='Warehouse' ||
in_list(['Customer', 'Supplier'], doc.master_type));
}
cur_frm.add_fetch('parent_account', 'report_type', 'report_type');
cur_frm.add_fetch('parent_account', 'root_type', 'root_type');
cur_frm.cscript.account_type = function(doc, cdt, cdn) {
if(doc.group_or_ledger=='Ledger') {
cur_frm.toggle_display(['tax_rate'], doc.account_type == 'Tax');
cur_frm.toggle_display('master_name', doc.account_type=='Warehouse' ||
in_list(['Customer', 'Supplier'], doc.master_type));
}
}
cur_frm.cscript.add_toolbar_buttons = function(doc) {
cur_frm.add_custom_button(__('Chart of Accounts'),
function() { frappe.set_route("Accounts Browser", "Account"); }, 'icon-sitemap')
if (cstr(doc.group_or_ledger) == 'Group') {
cur_frm.add_custom_button(__('Convert to Ledger'),
function() { cur_frm.cscript.convert_to_ledger(); }, 'icon-retweet', 'btn-default');
} else if (cstr(doc.group_or_ledger) == 'Ledger') {
cur_frm.add_custom_button(__('View Ledger'), function() {
frappe.route_options = {
"account": doc.name,
"from_date": sys_defaults.year_start_date,
"to_date": sys_defaults.year_end_date,
"company": doc.company
};
});
},
refresh: function (frm) {
frm.toggle_display("account_name", frm.is_new());
frappe.set_route("query-report", "General Ledger");
}, "icon-table");
// hide fields if group
frm.toggle_display(["tax_rate"], cint(frm.doc.is_group) == 0);
cur_frm.add_custom_button(__('Convert to Group'),
function() { cur_frm.cscript.convert_to_group(); }, 'icon-retweet', 'btn-default')
}
}
// disable fields
frm.toggle_enable(["is_group", "company"], false);
cur_frm.cscript.convert_to_ledger = function(doc, cdt, cdn) {
return $c_obj(cur_frm.doc,'convert_group_to_ledger','',function(r,rt) {
if(r.message == 1) {
cur_frm.refresh();
}
});
}
if (cint(frm.doc.is_group) == 0) {
frm.toggle_display(
"freeze_account",
frm.doc.__onload && frm.doc.__onload.can_freeze_account
);
}
cur_frm.cscript.convert_to_group = function(doc, cdt, cdn) {
return $c_obj(cur_frm.doc,'convert_ledger_to_group','',function(r,rt) {
if(r.message == 1) {
cur_frm.refresh();
}
});
}
// read-only for root accounts
if (!frm.is_new()) {
if (!frm.doc.parent_account) {
frm.set_read_only();
frm.set_intro(
__("This is a root account and cannot be edited.")
);
} else {
// credit days and type if customer or supplier
frm.set_intro(null);
frm.trigger("account_type");
// show / hide convert buttons
frm.trigger("add_toolbar_buttons");
}
if (frm.has_perm("write")) {
frm.add_custom_button(
__("Merge Account"),
function () {
frm.trigger("merge_account");
},
__("Actions")
);
frm.add_custom_button(
__("Update Account Name / Number"),
function () {
frm.trigger("update_account_number");
},
__("Actions")
);
cur_frm.fields_dict['master_name'].get_query = function(doc) {
if (doc.master_type || doc.account_type=="Warehouse") {
var dt = doc.master_type || "Warehouse";
return {
doctype: dt,
query: "erpnext.accounts.doctype.account.account.get_master_name",
filters: {
"master_type": dt,
"company": doc.company
}
}
},
account_type: function (frm) {
if (frm.doc.is_group == 0) {
frm.toggle_display(["tax_rate"], frm.doc.account_type == "Tax");
frm.toggle_display("warehouse", frm.doc.account_type == "Stock");
}
}
cur_frm.fields_dict['parent_account'].get_query = function(doc) {
return {
filters: {
"group_or_ledger": "Group",
"company": doc.company
}
},
add_toolbar_buttons: function (frm) {
frm.add_custom_button(
__("Chart of Accounts"),
() => {
frappe.set_route("Tree", "Account");
},
__("View")
);
if (frm.doc.is_group == 1) {
frm.add_custom_button(__('Convert to Non-Group'), function () {
return frappe.call({
doc: frm.doc,
method: 'convert_group_to_ledger',
callback: function() {
frm.refresh();
}
});
}, __('Actions'));
} else if (cint(frm.doc.is_group) == 0
&& frappe.boot.user.can_read.indexOf("GL Entry") !== -1) {
frm.add_custom_button(__('General Ledger'), function () {
frappe.route_options = {
"account": frm.doc.name,
"from_date": erpnext.utils.get_fiscal_year(frappe.datetime.get_today(), true)[1],
"to_date": erpnext.utils.get_fiscal_year(frappe.datetime.get_today(), true)[2],
"company": frm.doc.company
};
frappe.set_route("query-report", "General Ledger");
}, __('View'));
frm.add_custom_button(
__("Convert to Group"),
function () {
return frappe.call({
doc: frm.doc,
method: "convert_ledger_to_group",
callback: function () {
frm.refresh();
},
});
},
__("Actions")
);
}
},
merge_account: function (frm) {
var d = new frappe.ui.Dialog({
title: __("Merge with Existing Account"),
fields: [
{
label: "Name",
fieldname: "name",
fieldtype: "Data",
reqd: 1,
default: frm.doc.name,
},
],
primary_action: function () {
var data = d.get_values();
frappe.call({
method: "erpnext.accounts.doctype.account.account.merge_account",
args: {
old: frm.doc.name,
new: data.name,
},
callback: function (r) {
if (!r.exc) {
if (r.message) {
frappe.set_route("Form", "Account", r.message);
}
d.hide();
}
},
});
},
primary_action_label: __("Merge"),
});
d.show();
},
update_account_number: function (frm) {
var d = new frappe.ui.Dialog({
title: __("Update Account Number / Name"),
fields: [
{
label: "Account Name",
fieldname: "account_name",
fieldtype: "Data",
reqd: 1,
default: frm.doc.account_name,
},
{
label: "Account Number",
fieldname: "account_number",
fieldtype: "Data",
default: frm.doc.account_number,
},
],
primary_action: function () {
var data = d.get_values();
if (
data.account_number === frm.doc.account_number &&
data.account_name === frm.doc.account_name
) {
d.hide();
return;
}
frappe.call({
method: "erpnext.accounts.doctype.account.account.update_account_number",
args: {
account_number: data.account_number,
account_name: data.account_name,
name: frm.doc.name,
},
callback: function (r) {
if (!r.exc) {
if (r.message) {
frappe.set_route("Form", "Account", r.message);
} else {
frm.set_value(
"account_number",
data.account_number
);
frm.set_value(
"account_name",
data.account_name
);
}
d.hide();
}
},
});
},
primary_action_label: __("Update"),
});
d.show();
},
});
}
}

View File

@@ -1,107 +1,74 @@
{
"actions": [],
"allow_copy": 1,
"allow_import": 1,
"allow_rename": 1,
"creation": "2013-01-30 12:49:46",
"description": "Heads (or groups) against which Accounting Entries are made and balances are maintained.",
"docstatus": 0,
"doctype": "DocType",
"document_type": "Setup",
"engine": "InnoDB",
"field_order": [
"properties",
"column_break0",
"disabled",
"account_name",
"account_number",
"is_group",
"company",
"root_type",
"report_type",
"account_currency",
"column_break1",
"parent_account",
"account_type",
"tax_rate",
"freeze_account",
"balance_must_be",
"lft",
"rgt",
"old_parent",
"include_in_gross"
],
"document_type": "Master",
"fields": [
{
"fieldname": "properties",
"fieldtype": "Section Break",
"oldfieldtype": "Section Break"
"in_list_view": 0,
"label": "Account Details",
"oldfieldtype": "Section Break",
"permlevel": 0
},
{
"fieldname": "column_break0",
"fieldtype": "Column Break",
"in_list_view": 0,
"permlevel": 0,
"width": "50%"
},
{
"fieldname": "account_name",
"fieldtype": "Data",
"in_filter": 1,
"in_list_view": 1,
"label": "Account Name",
"no_copy": 1,
"oldfieldname": "account_name",
"oldfieldtype": "Data",
"reqd": 1
"permlevel": 0,
"read_only": 1,
"reqd": 1,
"search_index": 1
},
{
"fieldname": "account_number",
"fieldtype": "Data",
"default": "Ledger",
"fieldname": "group_or_ledger",
"fieldtype": "Select",
"in_filter": 1,
"in_list_view": 1,
"in_standard_filter": 1,
"label": "Account Number",
"read_only": 1
},
{
"default": "0",
"fieldname": "is_group",
"fieldtype": "Check",
"label": "Is Group"
"label": "Group or Ledger",
"oldfieldname": "group_or_ledger",
"oldfieldtype": "Select",
"options": "\nLedger\nGroup",
"permlevel": 0,
"read_only": 1,
"reqd": 1,
"search_index": 1
},
{
"fieldname": "company",
"fieldtype": "Link",
"in_standard_filter": 1,
"in_filter": 1,
"label": "Company",
"oldfieldname": "company",
"oldfieldtype": "Link",
"options": "Company",
"permlevel": 0,
"read_only": 1,
"remember_last_selected_value": 1,
"reqd": 1
},
{
"fieldname": "root_type",
"fieldtype": "Select",
"in_standard_filter": 1,
"label": "Root Type",
"options": "\nAsset\nLiability\nIncome\nExpense\nEquity",
"read_only": 1
},
{
"fieldname": "report_type",
"fieldtype": "Select",
"in_standard_filter": 1,
"label": "Report Type",
"options": "\nBalance Sheet\nProfit and Loss",
"read_only": 1
},
{
"depends_on": "eval:doc.is_group==0",
"fieldname": "account_currency",
"fieldtype": "Link",
"label": "Currency",
"options": "Currency"
"reqd": 1,
"search_index": 1
},
{
"fieldname": "column_break1",
"fieldtype": "Column Break",
"permlevel": 0,
"width": "50%"
},
{
@@ -112,6 +79,7 @@
"oldfieldname": "parent_account",
"oldfieldtype": "Link",
"options": "Account",
"permlevel": 0,
"reqd": 1,
"search_index": 1
},
@@ -119,19 +87,24 @@
"description": "Setting Account Type helps in selecting this Account in transactions.",
"fieldname": "account_type",
"fieldtype": "Select",
"in_standard_filter": 1,
"in_filter": 1,
"label": "Account Type",
"oldfieldname": "account_type",
"oldfieldtype": "Select",
"options": "\nAccumulated Depreciation\nAsset Received But Not Billed\nBank\nCash\nChargeable\nCapital Work in Progress\nCost of Goods Sold\nCurrent Asset\nCurrent Liability\nDepreciation\nDirect Expense\nDirect Income\nEquity\nExpense Account\nExpenses Included In Asset Valuation\nExpenses Included In Valuation\nFixed Asset\nIncome Account\nIndirect Expense\nIndirect Income\nLiability\nPayable\nReceivable\nRound Off\nStock\nStock Adjustment\nStock Received But Not Billed\nService Received But Not Billed\nTax\nTemporary"
"options": "\nBank\nCash\nTax\nChargeable\nWarehouse\nReceivable\nPayable\nEquity\nFixed Asset\nCost of Goods Sold\nExpense Account\nIncome Account\nStock Received But Not Billed\nExpenses Included In Valuation\nStock Adjustment\nStock",
"permlevel": 0,
"search_index": 0
},
{
"description": "Rate at which this tax is applied",
"fieldname": "tax_rate",
"fieldtype": "Float",
"hidden": 0,
"label": "Rate",
"oldfieldname": "tax_rate",
"oldfieldtype": "Currency"
"oldfieldtype": "Currency",
"permlevel": 0,
"reqd": 0
},
{
"description": "If the account is frozen, entries are allowed to restricted users.",
@@ -140,117 +113,220 @@
"label": "Frozen",
"oldfieldname": "freeze_account",
"oldfieldtype": "Select",
"options": "No\nYes"
"options": "No\nYes",
"permlevel": 0
},
{
"fieldname": "credit_days",
"fieldtype": "Int",
"hidden": 1,
"label": "Credit Days",
"oldfieldname": "credit_days",
"oldfieldtype": "Int",
"permlevel": 0,
"print_hide": 1
},
{
"fieldname": "credit_limit",
"fieldtype": "Currency",
"hidden": 1,
"label": "Credit Limit",
"oldfieldname": "credit_limit",
"oldfieldtype": "Currency",
"options": "Company:company:default_currency",
"permlevel": 0,
"print_hide": 1
},
{
"description": "If this Account represents a Customer, Supplier or Employee, set it here.",
"fieldname": "master_type",
"fieldtype": "Select",
"label": "Master Type",
"oldfieldname": "master_type",
"oldfieldtype": "Select",
"options": "\nSupplier\nCustomer\nEmployee",
"permlevel": 0
},
{
"fieldname": "master_name",
"fieldtype": "Link",
"label": "Master Name",
"oldfieldname": "master_name",
"oldfieldtype": "Link",
"options": "[Select]",
"permlevel": 0
},
{
"fieldname": "balance_must_be",
"fieldtype": "Select",
"label": "Balance must be",
"options": "\nDebit\nCredit"
"options": "\nDebit\nCredit",
"permlevel": 0
},
{
"fieldname": "root_type",
"fieldtype": "Select",
"label": "Root Type",
"options": "\nAsset\nLiability\nIncome\nExpense\nEquity",
"permlevel": 0,
"read_only": 1
},
{
"fieldname": "report_type",
"fieldtype": "Select",
"label": "Report Type",
"options": "\nBalance Sheet\nProfit and Loss",
"permlevel": 0,
"read_only": 1
},
{
"fieldname": "lft",
"fieldtype": "Int",
"hidden": 1,
"label": "Lft",
"permlevel": 0,
"print_hide": 1,
"read_only": 1,
"search_index": 1
"read_only": 1
},
{
"fieldname": "rgt",
"fieldtype": "Int",
"hidden": 1,
"label": "Rgt",
"permlevel": 0,
"print_hide": 1,
"read_only": 1,
"search_index": 1
"read_only": 1
},
{
"fieldname": "old_parent",
"fieldtype": "Data",
"hidden": 1,
"label": "Old Parent",
"permlevel": 0,
"print_hide": 1,
"read_only": 1
},
{
"default": "0",
"depends_on": "eval:(doc.report_type == 'Profit and Loss' && !doc.is_group)",
"fieldname": "include_in_gross",
"fieldtype": "Check",
"label": "Include in gross"
},
{
"default": "0",
"fieldname": "disabled",
"fieldtype": "Check",
"label": "Disable"
}
],
"icon": "fa fa-money",
"icon": "icon-money",
"idx": 1,
"is_tree": 1,
"links": [],
"modified": "2023-07-20 18:18:44.405723",
"in_create": 1,
"modified": "2014-06-19 18:27:58.109303",
"modified_by": "Administrator",
"module": "Accounts",
"name": "Account",
"nsm_parent_field": "parent_account",
"owner": "Administrator",
"permissions": [
{
"amend": 0,
"apply_user_permissions": 1,
"create": 1,
"delete": 1,
"email": 1,
"export": 1,
"import": 1,
"permlevel": 0,
"print": 1,
"read": 1,
"report": 1,
"role": "Accounts User",
"share": 1,
"submit": 0,
"write": 1
},
{
"amend": 0,
"apply_user_permissions": 1,
"create": 0,
"delete": 0,
"email": 1,
"permlevel": 0,
"print": 1,
"read": 1,
"report": 1,
"role": "Auditor"
"role": "Auditor",
"submit": 0,
"write": 0
},
{
"amend": 0,
"apply_user_permissions": 1,
"create": 0,
"delete": 0,
"email": 1,
"permlevel": 0,
"print": 1,
"read": 1,
"report": 1,
"role": "Sales User"
"role": "Sales User",
"submit": 0,
"write": 0
},
{
"amend": 0,
"apply_user_permissions": 1,
"create": 0,
"delete": 0,
"email": 1,
"permlevel": 0,
"print": 1,
"read": 1,
"report": 1,
"role": "Purchase User"
"role": "Purchase User",
"submit": 0,
"write": 0
},
{
"amend": 0,
"cancel": 0,
"create": 0,
"delete": 0,
"permlevel": 2,
"read": 1,
"report": 1,
"role": "Auditor",
"submit": 0,
"write": 0
},
{
"amend": 0,
"apply_user_permissions": 0,
"create": 1,
"delete": 1,
"email": 1,
"export": 1,
"import": 1,
"permlevel": 0,
"print": 1,
"read": 1,
"report": 1,
"role": "Accounts Manager",
"share": 1,
"set_user_permissions": 1,
"submit": 0,
"write": 1
},
{
"amend": 0,
"cancel": 0,
"create": 0,
"delete": 0,
"permlevel": 2,
"read": 1,
"report": 1,
"role": "Accounts Manager",
"submit": 0,
"write": 1
},
{
"amend": 0,
"cancel": 0,
"create": 0,
"delete": 0,
"permlevel": 2,
"read": 1,
"report": 1,
"role": "Accounts User",
"submit": 0,
"write": 0
}
],
"search_fields": "account_number",
"show_name_in_global_search": 1,
"sort_field": "modified",
"sort_order": "ASC",
"states": [],
"track_changes": 1
}
"search_fields": "group_or_ledger"
}

View File

@@ -1,378 +1,105 @@
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
# License: GNU General Public License v3. See license.txt
from __future__ import unicode_literals
import frappe
from frappe import _, throw
from frappe.utils import cint, cstr
from frappe.utils.nestedset import NestedSet, get_ancestors_of, get_descendants_of
from frappe.utils import flt, cstr, cint, getdate
from frappe import msgprint, throw, _
from frappe.model.document import Document
import erpnext
class RootNotEditable(frappe.ValidationError):
pass
class BalanceMismatchError(frappe.ValidationError):
pass
class InvalidAccountMergeError(frappe.ValidationError):
pass
class Account(NestedSet):
# begin: auto-generated types
# This code is auto-generated. Do not modify anything in this block.
from typing import TYPE_CHECKING
if TYPE_CHECKING:
from frappe.types import DF
account_currency: DF.Link | None
account_name: DF.Data
account_number: DF.Data | None
account_type: DF.Literal[
"",
"Accumulated Depreciation",
"Asset Received But Not Billed",
"Bank",
"Cash",
"Chargeable",
"Capital Work in Progress",
"Cost of Goods Sold",
"Current Asset",
"Current Liability",
"Depreciation",
"Direct Expense",
"Direct Income",
"Equity",
"Expense Account",
"Expenses Included In Asset Valuation",
"Expenses Included In Valuation",
"Fixed Asset",
"Income Account",
"Indirect Expense",
"Indirect Income",
"Liability",
"Payable",
"Receivable",
"Round Off",
"Stock",
"Stock Adjustment",
"Stock Received But Not Billed",
"Service Received But Not Billed",
"Tax",
"Temporary",
]
balance_must_be: DF.Literal["", "Debit", "Credit"]
company: DF.Link
disabled: DF.Check
freeze_account: DF.Literal["No", "Yes"]
include_in_gross: DF.Check
is_group: DF.Check
lft: DF.Int
old_parent: DF.Data | None
parent_account: DF.Link
report_type: DF.Literal["", "Balance Sheet", "Profit and Loss"]
rgt: DF.Int
root_type: DF.Literal["", "Asset", "Liability", "Income", "Expense", "Equity"]
tax_rate: DF.Float
# end: auto-generated types
nsm_parent_field = "parent_account"
def on_update(self):
if frappe.local.flags.ignore_update_nsm:
return
else:
super(Account, self).on_update()
class Account(Document):
nsm_parent_field = 'parent_account'
def onload(self):
frozen_accounts_modifier = frappe.db.get_single_value(
"Accounts Settings", "frozen_accounts_modifier"
)
if not frozen_accounts_modifier or frozen_accounts_modifier in frappe.get_roles():
self.set_onload("can_freeze_account", True)
frozen_accounts_modifier = frappe.db.get_value("Accounts Settings", "Accounts Settings",
"frozen_accounts_modifier")
if not frozen_accounts_modifier or frozen_accounts_modifier in frappe.user.get_roles():
self.get("__onload").can_freeze_account = True
def autoname(self):
from erpnext.accounts.utils import get_autoname_with_number
self.name = self.account_name.strip() + ' - ' + \
frappe.db.get_value("Company", self.company, "abbr")
self.name = get_autoname_with_number(self.account_number, self.account_name, self.company)
def get_address(self):
return {'address': frappe.db.get_value(self.master_type, self.master_name, "address")}
def validate(self):
from erpnext.accounts.utils import validate_field_number
if frappe.local.flags.allow_unverified_charts:
return
self.validate_master_name()
self.validate_parent()
self.validate_parent_child_account_type()
self.validate_root_details()
validate_field_number("Account", self.name, self.account_number, self.company, "account_number")
self.validate_group_or_ledger()
self.set_root_and_report_type()
self.validate_mandatory()
self.validate_warehouse_account()
self.validate_frozen_accounts_modifier()
self.validate_balance_must_be_debit_or_credit()
self.validate_account_currency()
self.validate_root_company_and_sync_account_to_children()
def validate_parent_child_account_type(self):
if self.parent_account:
if self.account_type in [
"Direct Income",
"Indirect Income",
"Current Asset",
"Current Liability",
"Direct Expense",
"Indirect Expense",
]:
parent_account_type = frappe.db.get_value("Account", self.parent_account, ["account_type"])
if parent_account_type == self.account_type:
throw(_("Only Parent can be of type {0}").format(self.account_type))
def validate_master_name(self):
if self.master_type in ('Customer', 'Supplier') or self.account_type == "Warehouse":
if not self.master_name:
msgprint(_("Please enter Master Name once the account is created."))
elif not frappe.db.exists(self.master_type or self.account_type, self.master_name):
throw(_("Invalid Master Name"))
def validate_parent(self):
"""Fetch Parent Details and validate parent account"""
if self.parent_account:
par = frappe.get_cached_value(
"Account", self.parent_account, ["name", "is_group", "company"], as_dict=1
)
par = frappe.db.get_value("Account", self.parent_account,
["name", "group_or_ledger", "report_type", "root_type", "company"], as_dict=1)
if not par:
throw(
_("Account {0}: Parent account {1} does not exist").format(self.name, self.parent_account)
)
throw(_("Account {0}: Parent account {1} does not exist").format(self.name, self.parent_account))
elif par.name == self.name:
throw(_("Account {0}: You can not assign itself as parent account").format(self.name))
elif not par.is_group:
throw(
_("Account {0}: Parent account {1} can not be a ledger").format(
self.name, self.parent_account
)
)
elif par.group_or_ledger != 'Group':
throw(_("Account {0}: Parent account {1} can not be a ledger").format(self.name, self.parent_account))
elif par.company != self.company:
throw(
_("Account {0}: Parent account {1} does not belong to company: {2}").format(
self.name, self.parent_account, self.company
)
)
def set_root_and_report_type(self):
if self.parent_account:
par = frappe.get_cached_value(
"Account", self.parent_account, ["report_type", "root_type"], as_dict=1
)
throw(_("Account {0}: Parent account {1} does not belong to company: {2}")
.format(self.name, self.parent_account, self.company))
if par.report_type:
self.report_type = par.report_type
if par.root_type:
self.root_type = par.root_type
if self.is_group:
db_value = self.get_doc_before_save()
if db_value:
if self.report_type != db_value.report_type:
frappe.db.sql(
"update `tabAccount` set report_type=%s where lft > %s and rgt < %s",
(self.report_type, self.lft, self.rgt),
)
if self.root_type != db_value.root_type:
frappe.db.sql(
"update `tabAccount` set root_type=%s where lft > %s and rgt < %s",
(self.root_type, self.lft, self.rgt),
)
if self.root_type and not self.report_type:
self.report_type = (
"Balance Sheet" if self.root_type in ("Asset", "Liability", "Equity") else "Profit and Loss"
)
def validate_root_details(self):
doc_before_save = self.get_doc_before_save()
if doc_before_save and not doc_before_save.parent_account:
throw(_("Root cannot be edited."), RootNotEditable)
if not self.parent_account and not self.is_group:
throw(_("The root account {0} must be a group").format(frappe.bold(self.name)))
def validate_root_company_and_sync_account_to_children(self):
# ignore validation while creating new compnay or while syncing to child companies
if (
frappe.local.flags.ignore_root_company_validation or self.flags.ignore_root_company_validation
):
return
ancestors = get_root_company(self.company)
if ancestors:
if frappe.get_cached_value(
"Company", self.company, "allow_account_creation_against_child_company"
):
return
if not frappe.db.get_value(
"Account", {"account_name": self.account_name, "company": ancestors[0]}, "name"
):
frappe.throw(_("Please add the account to root level Company - {}").format(ancestors[0]))
elif self.parent_account:
descendants = get_descendants_of("Company", self.company)
if not descendants:
return
parent_acc_name_map = {}
parent_acc_name, parent_acc_number = frappe.get_cached_value(
"Account", self.parent_account, ["account_name", "account_number"]
)
filters = {
"company": ["in", descendants],
"account_name": parent_acc_name,
}
if parent_acc_number:
filters["account_number"] = parent_acc_number
for d in frappe.db.get_values(
"Account", filters=filters, fieldname=["company", "name"], as_dict=True
):
parent_acc_name_map[d["company"]] = d["name"]
if not parent_acc_name_map:
return
self.create_account_for_child_company(parent_acc_name_map, descendants, parent_acc_name)
def validate_group_or_ledger(self):
doc_before_save = self.get_doc_before_save()
if not doc_before_save or cint(doc_before_save.is_group) == cint(self.is_group):
return
if self.check_gle_exists():
throw(_("Account with existing transaction cannot be converted to ledger"))
elif self.is_group:
if self.account_type and not self.flags.exclude_account_type_check:
throw(_("Cannot covert to Group because Account Type is selected."))
elif self.check_if_child_exists():
throw(_("Account with child nodes cannot be set as ledger"))
#does not exists parent
if frappe.db.exists("Account", self.name):
if not frappe.db.get_value("Account", self.name, "parent_account"):
throw(_("Root cannot be edited."))
def validate_frozen_accounts_modifier(self):
doc_before_save = self.get_doc_before_save()
if not doc_before_save or doc_before_save.freeze_account == self.freeze_account:
return
frozen_accounts_modifier = frappe.get_cached_value(
"Accounts Settings", "Accounts Settings", "frozen_accounts_modifier"
)
if not frozen_accounts_modifier or frozen_accounts_modifier not in frappe.get_roles():
throw(_("You are not authorized to set Frozen value"))
old_value = frappe.db.get_value("Account", self.name, "freeze_account")
if old_value and old_value != self.freeze_account:
frozen_accounts_modifier = frappe.db.get_value('Accounts Settings', None, 'frozen_accounts_modifier')
if not frozen_accounts_modifier or \
frozen_accounts_modifier not in frappe.user.get_roles():
throw(_("You are not authorized to set Frozen value"))
def validate_balance_must_be_debit_or_credit(self):
from erpnext.accounts.utils import get_balance_on
if not self.get("__islocal") and self.balance_must_be:
account_balance = get_balance_on(self.name)
if account_balance > 0 and self.balance_must_be == "Credit":
frappe.throw(
_(
"Account balance already in Debit, you are not allowed to set 'Balance Must Be' as 'Credit'"
)
)
frappe.throw(_("Account balance already in Debit, you are not allowed to set 'Balance Must Be' as 'Credit'"))
elif account_balance < 0 and self.balance_must_be == "Debit":
frappe.throw(
_(
"Account balance already in Credit, you are not allowed to set 'Balance Must Be' as 'Debit'"
)
)
frappe.throw(_("Account balance already in Credit, you are not allowed to set 'Balance Must Be' as 'Debit'"))
def validate_account_currency(self):
self.currency_explicitly_specified = True
if not self.account_currency:
self.account_currency = frappe.get_cached_value("Company", self.company, "default_currency")
self.currency_explicitly_specified = False
gl_currency = frappe.db.get_value("GL Entry", {"account": self.name}, "account_currency")
if gl_currency and self.account_currency != gl_currency:
if frappe.db.get_value("GL Entry", {"account": self.name}):
frappe.throw(_("Currency can not be changed after making entries using some other currency"))
def create_account_for_child_company(self, parent_acc_name_map, descendants, parent_acc_name):
for company in descendants:
company_bold = frappe.bold(company)
parent_acc_name_bold = frappe.bold(parent_acc_name)
if not parent_acc_name_map.get(company):
frappe.throw(
_(
"While creating account for Child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA"
).format(company_bold, parent_acc_name_bold),
title=_("Account Not Found"),
)
# validate if parent of child company account to be added is a group
if frappe.get_cached_value(
"Account", self.parent_account, "is_group"
) and not frappe.get_cached_value("Account", parent_acc_name_map[company], "is_group"):
msg = _(
"While creating account for Child Company {0}, parent account {1} found as a ledger account."
).format(company_bold, parent_acc_name_bold)
msg += "<br><br>"
msg += _(
"Please convert the parent account in corresponding child company to a group account."
)
frappe.throw(msg, title=_("Invalid Parent Account"))
filters = {"account_name": self.account_name, "company": company}
if self.account_number:
filters["account_number"] = self.account_number
child_account = frappe.db.get_value("Account", filters, "name")
if not child_account:
doc = frappe.copy_doc(self)
doc.flags.ignore_root_company_validation = True
doc.update(
{
"company": company,
# parent account's currency should be passed down to child account's curreny
# if currency explicitly specified by user, child will inherit. else, default currency will be used.
"account_currency": self.account_currency
if self.currency_explicitly_specified
else erpnext.get_company_currency(company),
"parent_account": parent_acc_name_map[company],
}
)
doc.save()
frappe.msgprint(_("Account {0} is added in the child company {1}").format(doc.name, company))
elif child_account:
# update the parent company's value in child companies
doc = frappe.get_doc("Account", child_account)
parent_value_changed = False
for field in ["account_type", "freeze_account", "balance_must_be"]:
if doc.get(field) != self.get(field):
parent_value_changed = True
doc.set(field, self.get(field))
if parent_value_changed:
doc.save()
@frappe.whitelist()
def convert_group_to_ledger(self):
if self.check_if_child_exists():
throw(_("Account with child nodes cannot be converted to ledger"))
elif self.check_gle_exists():
throw(_("Account with existing transaction cannot be converted to ledger"))
else:
self.is_group = 0
self.group_or_ledger = 'Ledger'
self.save()
return 1
@frappe.whitelist()
def convert_ledger_to_group(self):
if self.check_gle_exists():
throw(_("Account with existing transaction can not be converted to group."))
elif self.account_type and not self.flags.exclude_account_type_check:
throw(_("Cannot convert to Group because Account Type is selected."))
elif self.master_type or self.account_type:
throw(_("Cannot covert to Group because Master Type or Account Type is selected."))
else:
self.is_group = 1
self.group_or_ledger = 'Group'
self.save()
return 1
@@ -381,201 +108,127 @@ class Account(NestedSet):
return frappe.db.get_value("GL Entry", {"account": self.name})
def check_if_child_exists(self):
return frappe.db.sql(
"""select name from `tabAccount` where parent_account = %s
and docstatus != 2""",
self.name,
)
return frappe.db.sql("""select name from `tabAccount` where parent_account = %s
and docstatus != 2""", self.name)
def validate_mandatory(self):
if not self.root_type:
throw(_("Root Type is mandatory"))
if not self.report_type:
throw(_("Report Type is mandatory"))
def on_trash(self):
# checks gl entries and if child exists
if not self.root_type:
throw(_("Root Type is mandatory"))
def validate_warehouse_account(self):
if not cint(frappe.defaults.get_global_default("auto_accounting_for_stock")):
return
if self.account_type == "Warehouse":
old_warehouse = cstr(frappe.db.get_value("Account", self.name, "master_name"))
if old_warehouse != cstr(self.master_name):
if old_warehouse:
self.validate_warehouse(old_warehouse)
if self.master_name:
self.validate_warehouse(self.master_name)
else:
throw(_("Master Name is mandatory if account type is Warehouse"))
def validate_warehouse(self, warehouse):
if frappe.db.get_value("Stock Ledger Entry", {"warehouse": warehouse}):
throw(_("Stock entries exist against warehouse {0} cannot re-assign or modify 'Master Name'").format(warehouse))
def update_nsm_model(self):
"""update lft, rgt indices for nested set model"""
import frappe
import frappe.utils.nestedset
frappe.utils.nestedset.update_nsm(self)
def on_update(self):
self.update_nsm_model()
def get_authorized_user(self):
# Check logged-in user is authorized
if frappe.db.get_value('Accounts Settings', None, 'credit_controller') \
in frappe.user.get_roles():
return 1
def check_credit_limit(self, total_outstanding):
# Get credit limit
credit_limit_from = 'Customer'
cr_limit = frappe.db.sql("""select t1.credit_limit from tabCustomer t1, `tabAccount` t2
where t2.name=%s and t1.name = t2.master_name""", self.name)
credit_limit = cr_limit and flt(cr_limit[0][0]) or 0
if not credit_limit:
credit_limit = frappe.db.get_value('Company', self.company, 'credit_limit')
credit_limit_from = 'Company'
# If outstanding greater than credit limit and not authorized person raise exception
if credit_limit > 0 and flt(total_outstanding) > credit_limit \
and not self.get_authorized_user():
throw(_("{0} Credit limit {1} crossed").format(_(credit_limit_from), credit_limit))
def validate_due_date(self, posting_date, due_date):
credit_days = (self.credit_days or frappe.db.get_value("Company", self.company, "credit_days"))
posting_date, due_date = getdate(posting_date), getdate(due_date)
diff = (due_date - posting_date).days
if diff < 0:
frappe.throw(_("Due Date cannot be before Posting Date"))
elif credit_days is not None and diff > credit_days:
msgprint(_("Note: Due Date exceeds the allowed credit days by {0} day(s)").format(diff - credit_days))
def validate_trash(self):
"""checks gl entries and if child exists"""
if not self.parent_account:
throw(_("Root account can not be deleted"))
if self.check_gle_exists():
throw(_("Account with existing transaction can not be deleted"))
if self.check_if_child_exists():
throw(_("Child account exists for this account. You can not delete this account."))
super(Account, self).on_trash(True)
def on_trash(self):
self.validate_trash()
self.update_nsm_model()
def before_rename(self, old, new, merge=False):
# Add company abbr if not provided
from erpnext.setup.doctype.company.company import get_name_with_abbr
new_account = get_name_with_abbr(new, self.company)
# Validate properties before merging
if merge:
if not frappe.db.exists("Account", new):
throw(_("Account {0} does not exist").format(new))
val = list(frappe.db.get_value("Account", new_account,
["group_or_ledger", "root_type", "company"]))
if val != [self.group_or_ledger, self.root_type, self.company]:
throw(_("""Merging is only possible if following properties are same in both records. Group or Ledger, Root Type, Company"""))
return new_account
def after_rename(self, old, new, merge=False):
if not merge:
frappe.db.set_value("Account", new, "account_name",
" - ".join(new.split(" - ")[:-1]))
else:
from frappe.utils.nestedset import rebuild_tree
rebuild_tree("Account", "parent_account")
def get_master_name(doctype, txt, searchfield, start, page_len, filters):
conditions = (" and company='%s'"% filters["company"].replace("'", "\'")) if doctype == "Warehouse" else ""
return frappe.db.sql("""select name from `tab%s` where %s like %s %s
order by name limit %s, %s""" %
(filters["master_type"], searchfield, "%s", conditions, "%s", "%s"),
("%%%s%%" % txt, start, page_len), as_list=1)
@frappe.whitelist()
@frappe.validate_and_sanitize_search_inputs
def get_parent_account(doctype, txt, searchfield, start, page_len, filters):
return frappe.db.sql(
"""select name from tabAccount
where is_group = 1 and docstatus != 2 and company = %s
and %s like %s order by name limit %s offset %s"""
% ("%s", searchfield, "%s", "%s", "%s"),
(filters["company"], "%%%s%%" % txt, page_len, start),
as_list=1,
)
def get_account_currency(account):
"""Helper function to get account currency"""
if not account:
return
def generator():
account_currency, company = frappe.get_cached_value(
"Account", account, ["account_currency", "company"]
)
if not account_currency:
account_currency = frappe.get_cached_value("Company", company, "default_currency")
return account_currency
return frappe.local_cache("account_currency", account, generator)
def on_doctype_update():
frappe.db.add_index("Account", ["lft", "rgt"])
def get_account_autoname(account_number, account_name, company):
# first validate if company exists
company = frappe.get_cached_value("Company", company, ["abbr", "name"], as_dict=True)
if not company:
frappe.throw(_("Company {0} does not exist").format(company))
parts = [account_name.strip(), company.abbr]
if cstr(account_number).strip():
parts.insert(0, cstr(account_number).strip())
return " - ".join(parts)
def validate_account_number(name, account_number, company):
if account_number:
account_with_same_number = frappe.db.get_value(
"Account", {"account_number": account_number, "company": company, "name": ["!=", name]}
)
if account_with_same_number:
frappe.throw(
_("Account Number {0} already used in account {1}").format(
account_number, account_with_same_number
)
)
@frappe.whitelist()
def update_account_number(name, account_name, account_number=None, from_descendant=False):
account = frappe.get_cached_doc("Account", name)
if not account:
return
old_acc_name, old_acc_number = account.account_name, account.account_number
# check if account exists in parent company
ancestors = get_ancestors_of("Company", account.company)
allow_independent_account_creation = frappe.get_cached_value(
"Company", account.company, "allow_account_creation_against_child_company"
)
if ancestors and not allow_independent_account_creation:
for ancestor in ancestors:
old_name = frappe.db.get_value(
"Account",
{"account_number": old_acc_number, "account_name": old_acc_name, "company": ancestor},
"name",
)
if old_name:
# same account in parent company exists
allow_child_account_creation = _("Allow Account Creation Against Child Company")
message = _("Account {0} exists in parent company {1}.").format(
frappe.bold(old_acc_name), frappe.bold(ancestor)
)
message += "<br>"
message += _("Renaming it is only allowed via parent company {0}, to avoid mismatch.").format(
frappe.bold(ancestor)
)
message += "<br><br>"
message += _("To overrule this, enable '{0}' in company {1}").format(
allow_child_account_creation, frappe.bold(account.company)
)
frappe.throw(message, title=_("Rename Not Allowed"))
validate_account_number(name, account_number, account.company)
if account_number:
frappe.db.set_value("Account", name, "account_number", account_number.strip())
else:
frappe.db.set_value("Account", name, "account_number", "")
frappe.db.set_value("Account", name, "account_name", account_name.strip())
if not from_descendant:
# Update and rename in child company accounts as well
descendants = get_descendants_of("Company", account.company)
if descendants:
sync_update_account_number_in_child(
descendants, old_acc_name, account_name, account_number, old_acc_number
)
new_name = get_account_autoname(account_number, account_name, account.company)
if name != new_name:
frappe.rename_doc("Account", name, new_name, force=1)
return new_name
@frappe.whitelist()
def merge_account(old, new):
# Validate properties before merging
new_account = frappe.get_cached_doc("Account", new)
old_account = frappe.get_cached_doc("Account", old)
if not new_account:
throw(_("Account {0} does not exist").format(new))
if (
cint(new_account.is_group),
new_account.root_type,
new_account.company,
cstr(new_account.account_currency),
) != (
cint(old_account.is_group),
old_account.root_type,
old_account.company,
cstr(old_account.account_currency),
):
throw(
msg=_(
"""Merging is only possible if following properties are same in both records. Is Group, Root Type, Company and Account Currency"""
),
title=("Invalid Accounts"),
exc=InvalidAccountMergeError,
)
if old_account.is_group and new_account.parent_account == old:
new_account.db_set("parent_account", frappe.get_cached_value("Account", old, "parent_account"))
frappe.rename_doc("Account", old, new, merge=1, force=1)
return new
@frappe.whitelist()
def get_root_company(company):
# return the topmost company in the hierarchy
ancestors = get_ancestors_of("Company", company, "lft asc")
return [ancestors[0]] if ancestors else []
def sync_update_account_number_in_child(
descendants, old_acc_name, account_name, account_number=None, old_acc_number=None
):
filters = {
"company": ["in", descendants],
"account_name": old_acc_name,
}
if old_acc_number:
filters["account_number"] = old_acc_number
for d in frappe.db.get_values(
"Account", filters=filters, fieldname=["company", "name"], as_dict=True
):
update_account_number(d["name"], account_name, account_number, from_descendant=True)
return frappe.db.sql("""select name from tabAccount
where group_or_ledger = 'Group' and docstatus != 2 and company = %s
and %s like %s order by name limit %s, %s""" %
("%s", searchfield, "%s", "%s", "%s"),
(filters["company"], "%%%s%%" % txt, start, page_len), as_list=1)

View File

@@ -1,207 +0,0 @@
frappe.provide("frappe.treeview_settings")
frappe.treeview_settings["Account"] = {
breadcrumb: "Accounts",
title: __("Chart of Accounts"),
get_tree_root: false,
filters: [
{
fieldname: "company",
fieldtype:"Select",
options: erpnext.utils.get_tree_options("company"),
label: __("Company"),
default: erpnext.utils.get_tree_default("company"),
on_change: function() {
var me = frappe.treeview_settings['Account'].treeview;
var company = me.page.fields_dict.company.get_value();
if (!company) {
frappe.throw(__("Please set a Company"));
}
frappe.call({
method: "erpnext.accounts.doctype.account.account.get_root_company",
args: {
company: company,
},
callback: function(r) {
if(r.message) {
let root_company = r.message.length ? r.message[0] : "";
me.page.fields_dict.root_company.set_value(root_company);
frappe.db.get_value("Company", {"name": company}, "allow_account_creation_against_child_company", (r) => {
frappe.flags.ignore_root_company_validation = r.allow_account_creation_against_child_company;
});
}
}
});
}
},
{
fieldname: "root_company",
fieldtype:"Data",
label: __("Root Company"),
hidden: true,
disable_onchange: true
}
],
root_label: "Accounts",
get_tree_nodes: 'erpnext.accounts.utils.get_children',
on_get_node: function(nodes, deep=false) {
if (frappe.boot.user.can_read.indexOf("GL Entry") == -1) return;
let accounts = [];
if (deep) {
// in case of `get_all_nodes`
accounts = nodes.reduce((acc, node) => [...acc, ...node.data], []);
} else {
accounts = nodes;
}
frappe.db.get_single_value("Accounts Settings", "show_balance_in_coa").then((value) => {
if(value) {
const get_balances = frappe.call({
method: 'erpnext.accounts.utils.get_account_balances',
args: {
accounts: accounts,
company: cur_tree.args.company
},
});
get_balances.then(r => {
if (!r.message || r.message.length == 0) return;
for (let account of r.message) {
const node = cur_tree.nodes && cur_tree.nodes[account.value];
if (!node || node.is_root) continue;
// show Dr if positive since balance is calculated as debit - credit else show Cr
const balance = account.balance_in_account_currency || account.balance;
const dr_or_cr = balance > 0 ? __("Dr"): __("Cr");
const format = (value, currency) => format_currency(Math.abs(value), currency);
if (account.balance!==undefined) {
node.parent && node.parent.find('.balance-area').remove();
$('<span class="balance-area pull-right">'
+ (account.balance_in_account_currency ?
(format(account.balance_in_account_currency, account.account_currency) + " / ") : "")
+ format(account.balance, account.company_currency)
+ " " + dr_or_cr
+ '</span>').insertBefore(node.$ul);
}
}
});
}
});
},
add_tree_node: 'erpnext.accounts.utils.add_ac',
menu_items:[
{
label: __('New Company'),
action: function() { frappe.new_doc("Company", true) },
condition: 'frappe.boot.user.can_create.indexOf("Company") !== -1'
}
],
fields: [
{fieldtype:'Data', fieldname:'account_name', label:__('New Account Name'), reqd:true,
description: __("Name of new Account. Note: Please don't create accounts for Customers and Suppliers")},
{fieldtype:'Data', fieldname:'account_number', label:__('Account Number'),
description: __("Number of new Account, it will be included in the account name as a prefix")},
{fieldtype:'Check', fieldname:'is_group', label:__('Is Group'),
description: __('Further accounts can be made under Groups, but entries can be made against non-Groups')},
{fieldtype:'Select', fieldname:'root_type', label:__('Root Type'),
options: ['Asset', 'Liability', 'Equity', 'Income', 'Expense'].join('\n'),
depends_on: 'eval:doc.is_group && !doc.parent_account'},
{fieldtype:'Select', fieldname:'account_type', label:__('Account Type'),
options: frappe.get_meta("Account").fields.filter(d => d.fieldname=='account_type')[0].options,
description: __("Optional. This setting will be used to filter in various transactions.")
},
{fieldtype:'Float', fieldname:'tax_rate', label:__('Tax Rate'),
depends_on: 'eval:doc.is_group==0&&doc.account_type=="Tax"'},
{fieldtype:'Link', fieldname:'account_currency', label:__('Currency'), options:"Currency",
description: __("Optional. Sets company's default currency, if not specified.")}
],
ignore_fields:["parent_account"],
onload: function(treeview) {
frappe.treeview_settings['Account'].treeview = {};
$.extend(frappe.treeview_settings['Account'].treeview, treeview);
function get_company() {
return treeview.page.fields_dict.company.get_value();
}
// tools
treeview.page.add_inner_button(__("Chart of Cost Centers"), function() {
frappe.set_route('Tree', 'Cost Center', {company: get_company()});
}, __('View'));
treeview.page.add_inner_button(__("Opening Invoice Creation Tool"), function() {
frappe.set_route('Form', 'Opening Invoice Creation Tool', {company: get_company()});
}, __('View'));
treeview.page.add_inner_button(__("Period Closing Voucher"), function() {
frappe.set_route('List', 'Period Closing Voucher', {company: get_company()});
}, __('View'));
treeview.page.add_inner_button(__("Journal Entry"), function() {
frappe.new_doc('Journal Entry', {company: get_company()});
}, __('Create'));
treeview.page.add_inner_button(__("Company"), function() {
frappe.new_doc('Company');
}, __('Create'));
// financial statements
for (let report of ['Trial Balance', 'General Ledger', 'Balance Sheet',
'Profit and Loss Statement', 'Cash Flow Statement', 'Accounts Payable', 'Accounts Receivable']) {
treeview.page.add_inner_button(__(report), function() {
frappe.set_route('query-report', report, {company: get_company()});
}, __('Financial Statements'));
}
},
post_render: function(treeview) {
frappe.treeview_settings['Account'].treeview["tree"] = treeview.tree;
treeview.page.set_primary_action(__("New"), function() {
let root_company = treeview.page.fields_dict.root_company.get_value();
if(root_company) {
frappe.throw(__("Please add the account to root level Company - {0}"), [root_company]);
} else {
treeview.new_node();
}
}, "add");
},
toolbar: [
{
label:__("Add Child"),
condition: function(node) {
return frappe.boot.user.can_create.indexOf("Account") !== -1
&& (!frappe.treeview_settings['Account'].treeview.page.fields_dict.root_company.get_value()
|| frappe.flags.ignore_root_company_validation)
&& node.expandable && !node.hide_add;
},
click: function() {
var me = frappe.views.trees['Account'];
me.new_node();
},
btnClass: "hidden-xs"
},
{
condition: function(node) {
return !node.root && frappe.boot.user.can_read.indexOf("GL Entry") !== -1
},
label: __("View Ledger"),
click: function(node, btn) {
frappe.route_options = {
"account": node.label,
"from_date": erpnext.utils.get_fiscal_year(frappe.datetime.get_today(), true)[1],
"to_date": erpnext.utils.get_fiscal_year(frappe.datetime.get_today(), true)[2],
"company": frappe.treeview_settings['Account'].treeview.page.fields_dict.company.get_value()
};
frappe.set_route("query-report", "General Ledger");
},
btnClass: "hidden-xs"
}
],
extend_toolbar: true
}

View File

@@ -1,302 +0,0 @@
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
# License: GNU General Public License v3. See license.txt
import json
import os
import frappe
from frappe.utils import cstr
from frappe.utils.nestedset import rebuild_tree
from unidecode import unidecode
def create_charts(
company, chart_template=None, existing_company=None, custom_chart=None, from_coa_importer=None
):
chart = custom_chart or get_chart(chart_template, existing_company)
if chart:
accounts = []
def _import_accounts(children, parent, root_type, root_account=False):
for account_name, child in children.items():
if root_account:
root_type = child.get("root_type")
if account_name not in [
"account_name",
"account_number",
"account_type",
"root_type",
"is_group",
"tax_rate",
"account_currency",
]:
account_number = cstr(child.get("account_number")).strip()
account_name, account_name_in_db = add_suffix_if_duplicate(
account_name, account_number, accounts
)
is_group = identify_is_group(child)
report_type = (
"Balance Sheet" if root_type in ["Asset", "Liability", "Equity"] else "Profit and Loss"
)
account = frappe.get_doc(
{
"doctype": "Account",
"account_name": child.get("account_name") if from_coa_importer else account_name,
"company": company,
"parent_account": parent,
"is_group": is_group,
"root_type": root_type,
"report_type": report_type,
"account_number": account_number,
"account_type": child.get("account_type"),
"account_currency": child.get("account_currency")
or frappe.get_cached_value("Company", company, "default_currency"),
"tax_rate": child.get("tax_rate"),
}
)
if root_account or frappe.local.flags.allow_unverified_charts:
account.flags.ignore_mandatory = True
account.flags.ignore_permissions = True
account.insert()
accounts.append(account_name_in_db)
_import_accounts(child, account.name, root_type)
# Rebuild NestedSet HSM tree for Account Doctype
# after all accounts are already inserted.
frappe.local.flags.ignore_update_nsm = True
_import_accounts(chart, None, None, root_account=True)
rebuild_tree("Account")
frappe.local.flags.ignore_update_nsm = False
def add_suffix_if_duplicate(account_name, account_number, accounts):
if account_number:
account_name_in_db = unidecode(" - ".join([account_number, account_name.strip().lower()]))
else:
account_name_in_db = unidecode(account_name.strip().lower())
if account_name_in_db in accounts:
count = accounts.count(account_name_in_db)
account_name = account_name + " " + cstr(count)
return account_name, account_name_in_db
def identify_is_group(child):
if child.get("is_group"):
is_group = child.get("is_group")
elif len(
set(child.keys())
- set(
[
"account_name",
"account_type",
"root_type",
"is_group",
"tax_rate",
"account_number",
"account_currency",
]
)
):
is_group = 1
else:
is_group = 0
return is_group
def get_chart(chart_template, existing_company=None):
chart = {}
if existing_company:
return get_account_tree_from_existing_company(existing_company)
elif chart_template == "Standard":
from erpnext.accounts.doctype.account.chart_of_accounts.verified import (
standard_chart_of_accounts,
)
return standard_chart_of_accounts.get()
elif chart_template == "Standard with Numbers":
from erpnext.accounts.doctype.account.chart_of_accounts.verified import (
standard_chart_of_accounts_with_account_number,
)
return standard_chart_of_accounts_with_account_number.get()
else:
folders = ("verified",)
if frappe.local.flags.allow_unverified_charts:
folders = ("verified", "unverified")
for folder in folders:
path = os.path.join(os.path.dirname(__file__), folder)
for fname in os.listdir(path):
fname = frappe.as_unicode(fname)
if fname.endswith(".json"):
with open(os.path.join(path, fname), "r") as f:
chart = f.read()
if chart and json.loads(chart).get("name") == chart_template:
return json.loads(chart).get("tree")
@frappe.whitelist()
def get_charts_for_country(country, with_standard=False):
charts = []
def _get_chart_name(content):
if content:
content = json.loads(content)
if (
content and content.get("disabled", "No") == "No"
) or frappe.local.flags.allow_unverified_charts:
charts.append(content["name"])
country_code = frappe.get_cached_value("Country", country, "code")
if country_code:
folders = ("verified",)
if frappe.local.flags.allow_unverified_charts:
folders = ("verified", "unverified")
for folder in folders:
path = os.path.join(os.path.dirname(__file__), folder)
if not os.path.exists(path):
continue
for fname in os.listdir(path):
fname = frappe.as_unicode(fname)
if (fname.startswith(country_code) or fname.startswith(country)) and fname.endswith(".json"):
with open(os.path.join(path, fname), "r") as f:
_get_chart_name(f.read())
# if more than one charts, returned then add the standard
if len(charts) != 1 or with_standard:
charts += ["Standard", "Standard with Numbers"]
return charts
def get_account_tree_from_existing_company(existing_company):
all_accounts = frappe.get_all(
"Account",
filters={"company": existing_company},
fields=[
"name",
"account_name",
"parent_account",
"account_type",
"is_group",
"root_type",
"tax_rate",
"account_number",
"account_currency",
],
order_by="lft, rgt",
)
account_tree = {}
# fill in tree starting with root accounts (those with no parent)
if all_accounts:
build_account_tree(account_tree, None, all_accounts)
return account_tree
def build_account_tree(tree, parent, all_accounts):
# find children
parent_account = parent.name if parent else ""
children = [acc for acc in all_accounts if cstr(acc.parent_account) == parent_account]
# if no children, but a group account
if not children and parent.is_group:
tree["is_group"] = 1
tree["account_number"] = parent.account_number
# build a subtree for each child
for child in children:
# start new subtree
tree[child.account_name] = {}
# assign account_type and root_type
if child.account_number:
tree[child.account_name]["account_number"] = child.account_number
if child.account_type:
tree[child.account_name]["account_type"] = child.account_type
if child.tax_rate:
tree[child.account_name]["tax_rate"] = child.tax_rate
if child.account_currency:
tree[child.account_name]["account_currency"] = child.account_currency
if not parent:
tree[child.account_name]["root_type"] = child.root_type
# call recursively to build a subtree for current account
build_account_tree(tree[child.account_name], child, all_accounts)
@frappe.whitelist()
def validate_bank_account(coa, bank_account):
accounts = []
chart = get_chart(coa)
if chart:
def _get_account_names(account_master):
for account_name, child in account_master.items():
if account_name not in ["account_number", "account_type", "root_type", "is_group", "tax_rate"]:
accounts.append(account_name)
_get_account_names(child)
_get_account_names(chart)
return bank_account in accounts
@frappe.whitelist()
def build_tree_from_json(chart_template, chart_data=None, from_coa_importer=False):
"""get chart template from its folder and parse the json to be rendered as tree"""
chart = chart_data or get_chart(chart_template)
# if no template selected, return as it is
if not chart:
return
accounts = []
def _import_accounts(children, parent):
"""recursively called to form a parent-child based list of dict from chart template"""
for account_name, child in children.items():
account = {}
if account_name in [
"account_name",
"account_number",
"account_type",
"root_type",
"is_group",
"tax_rate",
"account_currency",
]:
continue
if from_coa_importer:
account_name = child["account_name"]
account["parent_account"] = parent
account["expandable"] = True if identify_is_group(child) else False
account["value"] = (
(cstr(child.get("account_number")).strip() + " - " + account_name)
if child.get("account_number")
else account_name
)
accounts.append(account)
_import_accounts(child, account["value"])
_import_accounts(chart, None)
return accounts

View File

@@ -1,438 +0,0 @@
{
"country_code": "at",
"name": "Austria - Chart of Accounts",
"tree": {
"Klasse 0 Aktiva: Anlageverm\u00f6gen": {
"0100 Konzessionen ": {"account_type": "Fixed Asset"},
"0110 Patentrechte und Lizenzen ": {"account_type": "Fixed Asset"},
"0120 Datenverarbeitungsprogramme ": {"account_type": "Fixed Asset"},
"0130 Marken, Warenzeichen und Musterschutzrechte, sonstige Urheberrechte ": {"account_type": "Fixed Asset"},
"0140 Pacht- und Mietrechte ": {"account_type": "Fixed Asset"},
"0150 Bezugs- und ähnliche Rechte ": {"account_type": "Fixed Asset"},
"0160 Geschäfts-/Firmenwert ": {"account_type": "Fixed Asset"},
"0170 Umgründungsmehrwert ": {"account_type": "Fixed Asset"},
"0180 Geleistete Anzahlungen auf immaterielle Vermögensgegenstände": {"account_type": "Fixed Asset"},
"0190 Kumulierte Abschreibungen zu immateriellen Vermögensgegenständen ": {"account_type": "Fixed Asset"},
"0200 Unbebaute Grundstücke, soweit nicht landwirtschaftlich genutzt ": {"account_type": "Fixed Asset"},
"0210 Bebaute Grundstücke (Grundwert) ": {"account_type": "Fixed Asset"},
"0220 Landwirtschaftlich genutzte Grundstücke ": {"account_type": "Fixed Asset"},
"0230 Grundstücksgleiche Rechte ": {"account_type": "Fixed Asset"},
"0300 Betriebs- und Geschäftsgebäude auf eigenem Grund ": {"account_type": "Fixed Asset"},
"0310 Wohn- und Sozialgebäude auf eigenem Grund ": {"account_type": "Fixed Asset"},
"0320 Betriebs- und Geschäftsgebäude auf fremdem Grund ": {"account_type": "Fixed Asset"},
"0330 Wohn- und Sozialgebäude auf fremdem Grund ": {"account_type": "Fixed Asset"},
"0340 Grundstückseinrichtungen auf eigenem Grund ": {"account_type": "Fixed Asset"},
"0350 Grundstückseinrichtungen auf fremdem Grund ": {"account_type": "Fixed Asset"},
"0360 Bauliche Investitionen in fremden (gepachteten) Betriebs- und Geschäftsgebäuden": {"account_type": "Fixed Asset"},
"0370 Bauliche Investitionen in fremden (gepachteten) Wohn- und Sozialgebäuden": {"account_type": "Fixed Asset"},
"0390 Kumulierte Abschreibungen zu Grundstücken ": {"account_type": "Fixed Asset"},
"0400 Maschinen und Geräte ": {"account_type": "Fixed Asset"},
"0500 Maschinenwerkzeuge ": {"account_type": "Fixed Asset"},
"0510 Allgemeine Werkzeuge und Handwerkzeuge ": {"account_type": "Fixed Asset"},
"0520 Prototypen, Formen, Modelle ": {"account_type": "Fixed Asset"},
"0530 Andere Erzeugungshilfsmittel (auch Softwarewerkzeuge)": {"account_type": "Fixed Asset"},
"0540 Hebezeuge und Montageanlagen ": {"account_type": "Fixed Asset"},
"0550 Geringwertige Vermögensgegenstände, soweit im Erzeugungsprozess ": {"account_type": "Fixed Asset"},
"0560 Festwerte technische Anlagen und Maschinen ": {"account_type": "Fixed Asset"},
"0590 Kumulierte Abschreibungen zu technischen Anlagen und Maschinen ": {"account_type": "Fixed Asset"},
"0600 Betriebs- und Geschäftsausstattung, soweit nicht gesondert angeführt ": {"account_type": "Fixed Asset"},
"0610 Andere Anlagen, soweit nicht gesondert angeführt ": {"account_type": "Fixed Asset"},
"0620 Büromaschinen, EDV-Anlagen ": {"account_type": "Fixed Asset"},
"0630 PKW und Kombis ": {"account_type": "Fixed Asset"},
"0640 LKW ": {"account_type": "Fixed Asset"},
"0650 Andere Beförderungsmittel ": {"account_type": "Fixed Asset"},
"0660 Gebinde ": {"account_type": "Fixed Asset"},
"0670 Geringwertige Vermögensgegenstände, soweit nicht im Erzeugungssprozess verwendet": {"account_type": "Fixed Asset"},
"0680 Festwerte außer technische Anlagen und Maschinen ": {"account_type": "Fixed Asset"},
"0690 Kumulierte Abschreibungen zu anderen Anlagen, Betriebs- und Geschäftsausstattung": {"account_type": "Fixed Asset"},
"0700 Geleistete Anzahlungen auf Sachanlagen ": {"account_type": "Fixed Asset"},
"0710 Anlagen in Bau ": {"account_type": "Fixed Asset"},
"0790 Kumulierte Abschreibungen zu geleisteten Anzahlungen auf Sachanlagen ": {"account_type": "Fixed Asset"},
"0800 Anteile an verbundenen Unternehmen ": {"account_type": "Fixed Asset"},
"0810 Beteiligungen an Gemeinschaftsunternehmen ": {"account_type": "Fixed Asset"},
"0820 Beteiligungen an angeschlossenen (assoziierten) Unternehmen ": {"account_type": "Fixed Asset"},
"0830 Eigene Anteile, Anteile an herrschenden oder mit Mehrheit beteiligten ": {"account_type": "Fixed Asset"},
"0840 Sonstige Beteiligungen ": {"account_type": "Fixed Asset"},
"0850 Ausleihungen an verbundene Unternehmen ": {"account_type": "Fixed Asset"},
"0860 Ausleihungen an Unternehmen mit Beteiligungsverhältnis": {"account_type": "Fixed Asset"},
"0870 Ausleihungen an Gesellschafter ": {"account_type": "Fixed Asset"},
"0880 Sonstige Ausleihungen ": {"account_type": "Fixed Asset"},
"0890 Anteile an Kapitalgesellschaften ohne Beteiligungscharakter ": {"account_type": "Fixed Asset"},
"0900 Anteile an Personengesellschaften ohne Beteiligungscharakter ": {"account_type": "Fixed Asset"},
"0910 Genossenschaftsanteile ohne Beteiligungscharakter ": {"account_type": "Fixed Asset"},
"0920 Anteile an Investmentfonds ": {"account_type": "Fixed Asset"},
"0930 Festverzinsliche Wertpapiere des Anlagevermögens ": {"account_type": "Fixed Asset"},
"0980 Geleistete Anzahlungen auf Finanzanlagen ": {"account_type": "Fixed Asset"},
"0990 Kumulierte Abschreibungen zu Finanzanlagen ": {"account_type": "Fixed Asset"},
"root_type": "Asset"
},
"Klasse 1 Aktiva: Vorr\u00e4te": {
"1000 Bezugsverrechnung": {"account_type": "Stock"},
"1100 Rohstoffe": {"account_type": "Stock"},
"1200 Bezogene Teile": {"account_type": "Stock"},
"1300 Hilfsstoffe": {"account_type": "Stock"},
"1350 Betriebsstoffe": {"account_type": "Stock"},
"1360 Vorrat Energietraeger": {"account_type": "Stock"},
"1400 Unfertige Erzeugnisse": {"account_type": "Stock"},
"1500 Fertige Erzeugnisse": {"account_type": "Stock"},
"1600 Handelswarenvorrat": {"account_type": "Stock Received But Not Billed"},
"1700 Noch nicht abrechenbare Leistungen": {"account_type": "Stock"},
"1800 Geleistete Anzahlungen": {"account_type": "Stock"},
"1900 Wertberichtigungen": {"account_type": "Stock"},
"root_type": "Asset"
},
"Klasse 3 Passiva: Verbindlichkeiten": {
"3000 Allgemeine Verbindlichkeiten (Schuld)": {"account_type": "Payable"},
"3010 R\u00fcckstellungen f\u00fcr Pensionen": {"account_type": "Payable"},
"3020 Steuerr\u00fcckstellungen": {"account_type": "Tax"},
"3041 Sonstige R\u00fcckstellungen": {"account_type": "Payable"},
"3110 Verbindlichkeiten gegen\u00fcber Bank": {"account_type": "Payable"},
"3150 Verbindlichkeiten Darlehen": {"account_type": "Payable"},
"3185 Verbindlichkeiten Kreditkarte": {"account_type": "Payable"},
"3380 Verbindlichkeiten aus der Annahme gezogener Wechsel u. d. Ausstellungen eigener Wechsel": {
"account_type": "Payable"
},
"3400 Verbindlichkeiten gegen\u00fc. verb. Untern., Verbindl. gegen\u00fc. Untern., mit denen eine Beteiligungsverh\u00e4lnis besteht": {},
"3460 Verbindlichkeiten gegenueber Gesellschaftern": {"account_type": "Payable"},
"3470 Einlagen stiller Gesellschafter": {"account_type": "Payable"},
"3585 Verbindlichkeiten Lohnsteuer": {"account_type": "Tax"},
"3590 Verbindlichkeiten Kommunalabgaben": {"account_type": "Tax"},
"3595 Verbindlichkeiten Dienstgeberbeitrag": {"account_type": "Tax"},
"3600 Verbindlichkeiten Sozialversicherung": {"account_type": "Payable"},
"3640 Verbindlichkeiten Loehne und Gehaelter": {"account_type": "Payable"},
"3700 Sonstige Verbindlichkeiten": {"account_type": "Payable"},
"3900 Passive Rechnungsabgrenzungsposten": {"account_type": "Payable"},
"3100 Anleihen (einschlie\u00dflich konvertibler)": {"account_type": "Payable"},
"3200 Erhaltene Anzahlungen auf Bestellungen": {"account_type": "Payable"},
"3040 R\u00fcckstellungen f\u00fcr Abfertigung": {"account_type": "Payable"},
"3530 USt. \u00a719 (reverse charge)": {
"account_type": "Tax"
},
"3500 Verbindlichkeiten aus Umsatzsteuer": {"account_type": "Tax"},
"3580 Umsatzsteuer Zahllast": {
"account_type": "Tax"
},
"3510 Umsatzsteuer Inland 20%": {
"account_type": "Tax"
},
"3515 Umsatzsteuer Inland 10%": {
"account_type": "Tax"
},
"3520 Umsatzsteuer aus i.g. Erwerb 20%": {
"account_type": "Tax"
},
"3525 Umsatzsteuer aus i.g. Erwerb 10%": {
"account_type": "Tax"
},
"3560 Umsatzsteuer-Evidenzkonto f\u00fcr erhaltene Anzahlungen auf Bestellungen": {},
"3360 Verbindlichkeiten aus Lieferungen u. Leistungen EU": {
"account_type": "Payable"
},
"3000 Verbindlichkeiten aus Lieferungen u. Leistungen Inland": {
"account_type": "Payable"
},
"3370 Verbindlichkeiten aus Lieferungen u. Leistungen sonst. Ausland": {
"account_type": "Payable"
},
"3400 Verbindlichkeiten gegen\u00fcber verbundenen Unternehmen": {},
"3570 Verrechnung Finanzamt": {
"account_type": "Tax"
},
"root_type": "Liability"
},
"Klasse 2 Aktiva: Umlaufverm\u00f6gen, Rechnungsabgrenzungen": {
"2030 Forderungen aus Lieferungen und Leistungen Inland (0% USt, umsatzsteuerfrei)": {
"account_type": "Receivable"
},
"2010 Forderungen aus Lieferungen und Leistungen Inland (10% USt, umsatzsteuerfrei)": {
"account_type": "Receivable"
},
"2000 Forderungen aus Lieferungen und Leistungen Inland (20% USt, umsatzsteuerfrei)": {
"account_type": "Receivable"
},
"2040 Forderungen aus Lieferungen und Leistungen Inland (sonstiger USt-Satz)": {
"account_type": "Receivable"
},
"2100 Forderungen aus Lieferungen und Leistungen EU": {
"account_type": "Receivable"
},
"2150 Forderungen aus Lieferungen und Leistungen Ausland (Nicht-EU)": {
"account_type": "Receivable"
},
"2200 Forderungen gegen\u00fcber verbundenen Unternehmen": {
"account_type": "Receivable"
},
"2250 Forderungen gegen\u00fcber Unternehmen, mit denen ein Beteiligungsverh\u00e4ltnis besteht": {
"account_type": "Receivable"
},
"2300 Sonstige Forderungen und Verm\u00f6gensgegenst\u00e4nde": {
"account_type": "Receivable"
},
"2630 Sonstige Wertpapiere": {
"account_type": "Stock"
},
"2750 Kassenbest\u00e4nde in Fremdw\u00e4hrung": {
"account_type": "Cash"
},
"2900 Aktive Rechnungsabrenzungsposten": {
"account_type": "Receivable"
},
"2600 Anteile an verbundenen Unternehmen": {
"account_type": "Equity"
},
"2680 Besitzwechsel ohne Forderungen": {
"account_type": "Receivable"
},
"2950 Aktiviertes Disagio": {
"account_type": "Receivable"
},
"2610 Eigene Anteile und Wertpapiere an mit Mehrheit beteiligten Unternehmen": {
"account_type": "Receivable"
},
"2570 Einfuhrumsatzsteuer (bezahlt)": {"account_type": "Tax"},
"2460 Eingeforderte aber noch nicht eingezahlte Einlagen": {
"account_type": "Receivable"
},
"2180 Einzelwertberichtigungen zu Forderungen aus Lief. und Leist. Ausland": {
"account_type": "Receivable"
},
"2130 Einzelwertberichtigungen zu Forderungen aus Lief. und Leist. EU": {
"account_type": "Receivable"
},
"2080 Einzelwertberichtigungen zu Forderungen aus Lief. und Leist. Inland ": {
"account_type": "Receivable"
},
"2270 Einzelwertberichtigungen zu Forderungen gegen\u00fcber Unternehmen mit denen ein Beteiligungsverh\u00e4ltnis besteht": {
"account_type": "Receivable"
},
"2230 Einzelwertberichtigungen zu Forderungen gegen\u00fcber verbundenen Unternehmen": {
"account_type": "Receivable"
},
"2470 Einzelwertberichtigungen zu sonstigen Forderungen und Verm\u00f6gensgegenst\u00e4nden": {
"account_type": "Receivable"
},
"2700 Kassenbestand": {
"account_type": "Cash"
},
"2190 Pauschalwertberichtigungen zu Forderungen aus Lief. und Leist. sonstiges Ausland": {
"account_type": "Receivable"
},
"2130 Pauschalwertberichtigungen zu Forderungen aus Lief. und Leist. EU": {
"account_type": "Receivable"
},
"2100 Pauschalwertberichtigungen zu Forderungen aus Lief. und Leist. Inland ": {
"account_type": "Receivable"
},
"2280 Pauschalwertberichtigungen zu Forderungen gegen\u00fcber Unternehmen mit denen ein Beteiligungsverh\u00e4ltnis besteht": {
"account_type": "Receivable"
},
"2240 Pauschalwertberichtigungen zu Forderungen gegen\u00fcber verbundenen Unternehmen": {
"account_type": "Receivable"
},
"2480 Pauschalwertberichtigungen zu sonstigen Forderungen und Verm\u00f6gensgegenst\u00e4nden": {
"account_type": "Receivable"
},
"2740 Postwertzeichen": {
"account_type": "Cash"
},
"2780 Schecks in Euro": {
"account_type": "Cash"
},
"2800 Guthaben bei Bank": {
"account_type": "Bank"
},
"2801 Guthaben bei Bank - Sparkonto": {
"account_type": "Bank"
},
"2810 Guthaben bei Paypal": {
"account_type": "Bank"
},
"2930 Mietvorauszahlungen": {
"account_type": "Receivable"
},
"2980 Abgrenzung latenter Steuern": {
"account_type": "Receivable"
},
"2500 Vorsteuer": {
"account_type": "Receivable"
},
"2510 Vorsteuer Inland 10%": {
"account_type": "Tax"
},
"2895 Schwebende Geldbewegugen": {
"account_type": "Bank"
},
"2513 Vorsteuer Inland 5%": {
"account_type": "Tax"
},
"2515 Vorsteuer Inland 20%": {
"account_type": "Tax"
},
"2520 Vorsteuer aus innergemeinschaftlichem Erwerb 10%": {
"account_type": "Tax"
},
"2525 Vorsteuer aus innergemeinschaftlichem Erwerb 20%": {
"account_type": "Tax"
},
"2530 Vorsteuer \u00a719/Art 19 ( reverse charge ) ": {
"account_type": "Tax"
},
"2690 Wertberichtigungen zu Wertpapieren und Anteilen": {
"account_type": "Receivable"
},
"root_type": "Asset"
},
"Klasse 4: Betriebliche Erträge": {
"4000 Erlöse 20 %": {"account_type": "Income Account"},
"4020 Erl\u00f6se 0 % steuerbefreit": {"account_type": "Income Account"},
"4010 Erl\u00f6se 10 %": {"account_type": "Income Account"},
"4030 Erl\u00f6se 13 %": {"account_type": "Income Account"},
"4040 Erl\u00f6se 0 % innergemeinschaftliche Lieferungen": {"account_type": "Income Account"},
"4400 Erl\u00f6sreduktion 0 % steuerbefreit": {"account_type": "Expense Account"},
"4410 Erl\u00f6sreduktion 10 %": {"account_type": "Expense Account"},
"4420 Erl\u00f6sreduktion 20 %": {"account_type": "Expense Account"},
"4430 Erl\u00f6sreduktion 13 %": {"account_type": "Expense Account"},
"4440 Erl\u00f6sreduktion 0 % innergemeinschaftliche Lieferungen": {"account_type": "Expense Account"},
"4500 Ver\u00e4nderungen des Bestandes an fertigen und unfertigen Erzeugn. sowie an noch nicht abrechenbaren Leistungen": {"account_type": "Income Account"},
"4580 Aktivierte Eigenleistungen": {"account_type": "Income Account"},
"4600 Erl\u00f6se aus dem Abgang vom Anlageverm\u00f6gen, ausgen. Finanzanlagen": {"account_type": "Income Account"},
"4630 Ertr\u00e4ge aus dem Abgang vom Anlageverm\u00f6gen, ausgen. Finanzanlagen": {"account_type": "Income Account"},
"4660 Ertr\u00e4ge aus der Zuschreibung zum Anlageverm\u00f6gen, ausgen. Finanzanlagen": {"account_type": "Income Account"},
"4700 Ertr\u00e4ge aus der Aufl\u00f6sung von R\u00fcckstellungen": {"account_type": "Income Account"},
"4800 \u00dcbrige betriebliche Ertr\u00e4ge": {"account_type": "Income Account"},
"root_type": "Income"
},
"Klasse 5: Aufwand f\u00fcr Material und Leistungen": {
"5000 Einkauf Partnerleistungen": {"account_type": "Cost of Goods Sold"},
"5100 Verbrauch an Rohstoffen": {"account_type": "Cost of Goods Sold"},
"5200 Verbrauch von bezogenen Fertig- und Einzelteilen": {"account_type": "Cost of Goods Sold"},
"5300 Verbrauch von Hilfsstoffen": {"account_type": "Cost of Goods Sold"},
"5340 Verbrauch Verpackungsmaterial": {"account_type": "Cost of Goods Sold"},
"5470 Verbrauch von Kleinmaterial": {"account_type": "Cost of Goods Sold"},
"5450 Verbrauch von Reinigungsmaterial": {"account_type": "Cost of Goods Sold"},
"5400 Verbrauch von Betriebsstoffen": {"account_type": "Cost of Goods Sold"},
"5500 Verbrauch von Werkzeugen und anderen Erzeugungshilfsmittel": {"account_type": "Cost of Goods Sold"},
"5600 Verbrauch von Brenn- und Treibstoffen, Energie und Wasser": {"account_type": "Cost of Goods Sold"},
"5700 Bearbeitung durch Dritte": {"account_type": "Cost of Goods Sold"},
"5900 Aufwandsstellenrechnung Material": {"account_type": "Cost of Goods Sold"},
"5820 Skontoertr\u00e4ge (20% USt.)": {"account_type": "Income Account"},
"5810 Skontoertr\u00e4ge (10% USt.)": {"account_type": "Income Account"},
"5010 Handelswareneinkauf 10 %": {"account_type": "Cost of Goods Sold"},
"5020 Handelswareneinkauf 20 %": {"account_type": "Cost of Goods Sold"},
"5040 Handelswareneinkauf innergemeinschaftlicher Erwerb 10 % VSt/10 % USt": {"account_type": "Cost of Goods Sold"},
"5050 Handelswareneinkauf innergemeinschaftlicher Erwerb 20 % VSt/20 % USt": {"account_type": "Cost of Goods Sold"},
"5070 Handelswareneinkauf innergemeinschaftlicher Erwerb ohne Vorsteuerabzug und 10 % USt": {"account_type": "Cost of Goods Sold"},
"5080 Handelswareneinkauf innergemeinschaftlicher Erwerb ohne Vorsteuerabzug und 20 % USt": {"account_type": "Cost of Goods Sold"},
"root_type": "Expense"
},
"Klasse 6: Personalaufwand": {
"6000 L\u00f6hne": {"account_type": "Payable"},
"6200 Geh\u00e4lter": {"account_type": "Payable"},
"6400 Aufwendungen f\u00fcr Abfertigungen": {"account_type": "Payable"},
"6450 Aufwendungen f\u00fcr Altersversorgung": {"account_type": "Payable"},
"6500 Gesetzlicher Sozialaufwand Arbeiter": {"account_type": "Payable"},
"6560 Gesetzlicher Sozialaufwand Angestellte": {"account_type": "Payable"},
"6600 Lohnabh\u00e4ngige Abgaben und Pflichtbeitr\u00e4gte": {"account_type": "Payable"},
"6660 Gehaltsabh\u00e4ngige Abgaben und Pflichtbeitr\u00e4gte": {"account_type": "Payable"},
"6700 Sonstige Sozialaufwendungen": {"account_type": "Payable"},
"6900 Aufwandsstellenrechnung Personal": {"account_type": "Payable"},
"root_type": "Expense"
},
"Klasse 7: Abschreibungen und sonstige betriebliche Aufwendungen": {
"7010 Abschreibungen auf das Anlageverm\u00f6gen (ausgenommen Finanzanlagen)": {"account_type": "Depreciation"},
"7100 Sonstige Steuern und Geb\u00fchren": {"account_type": "Tax"},
"7200 Instandhaltung u. Reinigung durch Dritte, Entsorgung, Energie": {"account_type": "Expense Account"},
"7300 Transporte durch Dritte": {"account_type": "Expense Account"},
"7310 Fahrrad - Aufwand": {"account_type": "Expense Account"},
"7320 Kfz - Aufwand": {"account_type": "Expense Account"},
"7330 LKW - Aufwand": {"account_type": "Expense Account"},
"7340 Lastenrad - Aufwand": {"account_type": "Expense Account"},
"7350 Reise- und Fahraufwand": {"account_type": "Expense Account"},
"7360 Tag- und N\u00e4chtigungsgelder": {"account_type": "Expense Account"},
"7380 Nachrichtenaufwand": {"account_type": "Expense Account"},
"7400 Miet- und Pachtaufwand": {"account_type": "Expense Account"},
"7440 Leasingaufwand": {"account_type": "Expense Account"},
"7480 Lizenzaufwand": {"account_type": "Expense Account"},
"7500 Aufwand f\u00fcr beigestelltes Personal": {"account_type": "Expense Account"},
"7540 Provisionen an Dritte": {"account_type": "Expense Account"},
"7580 Aufsichtsratsverg\u00fctungen": {"account_type": "Expense Account"},
"7610 Druckerzeugnisse und Vervielf\u00e4ltigungen": {"account_type": "Expense Account"},
"7650 Werbung und Repr\u00e4sentationen": {"account_type": "Expense Account"},
"7700 Versicherungen": {"account_type": "Expense Account"},
"7750 Beratungs- und Pr\u00fcfungsaufwand": {"account_type": "Expense Account"},
"7800 Forderungsverluste und Schadensf\u00e4lle": {"account_type": "Expense Account"},
"7840 Verschiedene betriebliche Aufwendungen": {"account_type": "Expense Account"},
"7910 Aufwandsstellenrechung der Hersteller": {"account_type": "Expense Account"},
"7060 Sofortabschreibungen geringwertig": {"account_type": "Expense Account"},
"7070 Abschreibungen vom Umlaufverm\u00f6gen, soweit diese die im Unternehmen \u00fcblichen Abschreibungen \u00fcbersteigen": {"account_type": "Depreciation"},
"7900 Aufwandsstellenrechnung": {"account_type": "Expense Account"},
"7770 Aus- und Fortbildung": {"account_type": "Expense Account"},
"7820 Buchwert abgegangener Anlagen, ausgenommen Finanzanlagen": {"account_type": "Expense Account"},
"7600 B\u00fcromaterial und Drucksorten": {"account_type": "Expense Account"},
"7630 Fachliteratur und Zeitungen ": {"account_type": "Expense Account"},
"7960 Herstellungskosten der zur Erzielung der Umsatzerl\u00f6se erbrachten Leistungen": {"account_type": "Expense Account"},
"7780 Mitgliedsbeitr\u00e4ge": {"account_type": "Expense Account"},
"7880 Skontoertr\u00e4ge auf sonstige betriebliche Aufwendungen": {"account_type": "Expense Account"},
"7990 Sonstige betrieblichen Aufwendungen": {"account_type": "Expense Account"},
"7680 Spenden und Trinkgelder": {"account_type": "Expense Account"},
"7790 Spesen des Geldverkehrs": {"account_type": "Expense Account"},
"7830 Verluste aus dem Abgang vom Anlageverm\u00f6gen, ausgenommen Finanzanlagen": {"account_type": "Expense Account"},
"7970 Vertriebskosten": {"account_type": "Expense Account"},
"7980 Verwaltungskosten": {"account_type": "Expense Account"},
"root_type": "Expense"
},
"Klasse 8: Finanz- und ausserordentliche Ertr\u00e4ge und Aufwendungen": {
"8000 Ertr\u00e4ge aus Beteiligungen": {"account_type": "Income Account"},
"8050 Ertr\u00e4ge aus anderen Wertpapieren und Ausleihungen des Finanzanlageverm\u00f6gens": {"account_type": "Income Account"},
"8100 Zinsen aus Bankguthaben": {"account_type": "Income Account"},
"8110 Zinsen aus gewaehrten Darlehen": {"account_type": "Income Account"},
"8130 Verzugszinsenertraege": {"account_type": "Income Account"},
"8220 Aufwendungen aus Beteiligungen": {"account_type": "Expense Account"},
"8260 Aufwendungen aus sonst. Fiananzanlagen und aus Wertpapieren des Umlaufverm\u00f6gens": {},
"8280 Zinsen und \u00e4hnliche Aufwendungem": {"account_type": "Expense Account"},
"8400 Au\u00dferordentliche Ertr\u00e4ge": {"account_type": "Income Account"},
"8450 Au\u00dferordentliche Aufwendungen": {"account_type": "Expense Account"},
"8500 Steuern vom Einkommen und vom Ertrag": {
"account_type": "Tax"
},
"8600 Aufl\u00f6sung unversteuerten R\u00fccklagen": {"account_type": "Income Account"},
"8700 Aufl\u00f6sung von Kapitalr\u00fccklagen": {"account_type": "Income Account"},
"8750 Aufl\u00f6sung von Gewinnr\u00fccklagen": {"account_type": "Income Account"},
"8800 Zuweisung zu unversteuerten R\u00fccklagen": {"account_type": "Expense Account"},
"8900 Zuweisung zu Gewinnr\u00fccklagen": {"account_type": "Expense Account"},
"8100 Buchwert abgegangener Beteiligungen": {"account_type": "Expense Account"},
"8130 Buchwert abgegangener Wertpapiere des Umlaufverm\u00f6gens": {"account_type": "Expense Account"},
"8120 Buchwert abgegangener sonstiger Finanzanlagen": {"account_type": "Expense Account"},
"8990 Gewinnabfuhr bzw. Verlust\u00fcberrechnung aus Ergebnisabf\u00fchrungsvertr\u00e4gen": {"account_type": "Expense Account"},
"8350 nicht ausgenutzte Lieferantenskonti": {"account_type": "Expense Account"},
"root_type": "Income"
},
"Klasse 9 Passiva: Eigenkapital, R\u00fccklagen, stille Einlagen, Abschlusskonten": {
"9000 Gezeichnetes bzw. gewidmetes Kapital": {
"account_type": "Equity"
},
"9200 Kapitalr\u00fccklagen": {
"account_type": "Equity"
},
"9300 Gewinnr\u00fccklagen": {
"account_type": "Equity"
},
"9400 Bewertungsreserven uns sonst. unversteuerte R\u00fccklagen": {
"account_type": "Equity"
},
"9600 Private Entnahmen": {"account_type": "Equity"},
"9610 Privatsteuern": {"account_type": "Equity"},
"9700 Einlagen stiller Gesellschafter ": {"account_type": "Equity"},
"9900 Evidenzkonto": {"account_type": "Equity"},
"9800 Er\u00f6ffnungsbilanzkonto (EBK)": {"account_type": "Equity"},
"9880 Jahresergebnis laut Gewinn- und Verlustrechnung (G+V)": {"account_type": "Equity"},
"9850 Schlussbilanzkonto (SBK)": {"account_type": "Round Off"},
"9190 nicht eingeforderte ausstehende Einlagen und berechtigte Entnahmen von Gesellschaftern": {
"account_type": "Equity"
},
"root_type": "Equity"
}
}
}

View File

@@ -1,205 +0,0 @@
{
"country_code": "cl",
"name": "Chile - Plan de Cuentas",
"tree": {
"Cuentas de Movimiento": {
"Compras": {
"Compras - Categoria de productos 01": {}
},
"Costos de Producci\u00f3n": {},
"Gastos de Administraci\u00f3n": {},
"Gastos de Comercializaci\u00f3n": {},
"root_type": ""
},
"Cuentas de Orden": {
"CUENTAS DE ORDEN ACREEDORAS": {
"Acreedor por Documentos Descontados": {},
"Acreedor por Garant\u00edas Otorgadas": {},
"Comitente por Mercaderias Recibidas en Consignaci\u00f3n": {}
},
"CUENTAS DE ORDEN DEUDORAS": {
"Dep\u00f3sito de Valores Recibos en Garant\u00eda": {},
"Documentos Descontados": {},
"Documentos Endosados": {},
"Garantias Otorgadas": {},
"Mercaderias Recibidas en Consignaci\u00f3n": {}
},
"root_type": ""
},
"Cuentas de Resultado": {
"RESULTADO GANANCIA": {
"Ingresos Fuera de Explotaci\u00f3n": {
"Donaciones obtenidas, ganandas, percibidas": {},
"Ganancia Venta Inversiones Permanentes": {},
"Ganancia Venta de Activo Fijo": {},
"Recupero de Deudores Incobrables": {},
"Recupero de Rezagos": {}
},
"Ingresos de Explotaci\u00f3n": {
"Alquileres gananados, obtenidos, percibidos": {},
"Comisiones gananados, obtenidos, percibidos": {},
"Descuentos gananados, obtenidos, percibidos": {},
"Ganancia Venta de Acciones": {},
"Honorarios gananados, obtenidos, percibidos": {},
"Interese sobre Inversiones": {},
"Intereses gananados, obtenidos, percibidos": {},
"Ventas": {
"Ventas - Categoria de productos 01": {}
}
}
},
"RESULTADO P\u00c9RDIDA": {
"Egresos Fuera de Explotaci\u00f3n": {
"Donaciones Cedidas, Otorgadas": {},
"Gastos en Siniestros": {},
"P\u00e9rdida Venta Activo Fijo": {}
},
"Egresos de Explotaci\u00f3n": {
"Costo de Mercader\u00edas Vendidas": {
"Costo de Mercader\u00edas Vendidas - Categoria de productos 01": {}
},
"Gastos Bancarios": {},
"Gastos de Publicidad y Propaganda": {},
"Gastos en Amortizaci\u00f3n": {},
"Gastos en Cargas Sociales": {},
"Gastos en Depreciaci\u00f3n de Activo Fijo": {},
"Gastos en Impuestos": {},
"Gastos en Servicios P\u00fablicos": {},
"Gastos en Sueldos y Jornales": {}
}
},
"root_type": ""
},
"inventario del Balance General": {
"ACTIVOS": {
"Activo Circulante": {
"Activo Circulante - Bancos": {
"Activo Circulante.../ BCO. CTA CTE CLP": {}
},
"Activo Circulante - Caja": {
"Activo Circulante - Caja / efectivo CLP": {}
},
"Activo Circulante - Fondos fijos": {
"Activo Circulante - Fondos fijos / caja chica 01 CLP": {}
},
"Activo Circulante - Moneda Extranjera": {
"Activo Circulante - Caja / efectivo USD": {}
},
"Activo Circulante - Recaudaciones a Depositar ": {},
"Activo Circulante - Valores a Depositar ": {}
},
"Activo Fijo": {
"Activo Fijo / (-) Depreciaci\u00f3n Acumulada": {},
"Activo Fijo / Equipos": {},
"Activo Fijo / Inmuebles": {},
"Activo Fijo / Maquinaria": {},
"Activo Fijo / Material Rodante Motorizado": {}
},
"Activo Intangible": {
"Activo Intangible / (-) Amortizaci\u00f3n Acumulada": {},
"Activo Intangible / Concesiones y Franquicias": {},
"Activo Intangible / Derecho de Llaves": {},
"Activo Intangible / Marcas y Patentes de Invenci\u00f3n": {}
},
"Existencias": {
"(-) Previsi\u00f3n para Desvalorizaci\u00f3n de Existencias": {},
"Existencias - Mercader\u00edas": {
"Existencias - Mercader\u00edas / Categoria de productos 01": {}
},
"Existencias - Mercader\u00edas en Tr\u00e1nsito": {},
"Materiales Varios ": {},
"Materias primas": {},
"Productos Elaborados": {},
"Productos en Curso de Elaboraci\u00f3n": {}
},
"Inversiones Financieras": {
"Inversiones / (-) Previsi\u00f3n para Devalorizaci\u00f3n de Acciones": {},
"Inversiones / Acciones Permanentes": {},
"Inversiones / Acciones Transitorias": {},
"Inversiones / T\u00edtulos P\u00fablicos": {}
}
},
"Cuentas por Cobrar": {
"Cuentas por Cobrar / (-) Intereses (+) a Devengar": {},
"Cuentas por Cobrar / (-) Previsi\u00f3n para Descuentos": {},
"Cuentas por Cobrar / Accionistas": {},
"Cuentas por Cobrar / Alquileres Pagados por Adelantado": {},
"Cuentas por Cobrar / Anticipo al Personal": {},
"Cuentas por Cobrar / Anticipo de Impuestos": {},
"Cuentas por Cobrar / Anticipos a Proveedores": {},
"Cuentas por Cobrar / Intereses Pagados por Adelantado": {},
"Cuentas por Cobrar / Pr\u00e9stamos otorgados": {}
},
"Documentos por Cobrar": {
"Documentos por Cobrar / (-) Previsi\u00f3n para Incobrables": {},
"Documentos por Cobrar / Deudores Morosos": {},
"Documentos por Cobrar / Deudores Varios": {},
"Documentos por Cobrar / Deudores en Gesti\u00f3n Judicial": {},
"Documentos por Cobrar / Deudores por Ventas": {}
},
"PASIVOS": {
"Cuentas por Pagar": {
"Cuentas por Pagar / (-) Intereses a Devengar por Compras al Cr\u00e9dito": {},
"Cuentas por Pagar / Anticipos de Clientes": {},
"Cuentas por Pagar / Proveedores": {}
},
"Impuestos por Pagar": {
"Impuestos por Pagar / IVA a Pagar": {},
"Impuestos por Pagar / Impuesto a la Renta a Pagar": {}
},
"Otras Cuentas por Pagar": {
"Otras Cuentas por Pagar / Acreedores Varios": {},
"Otras Cuentas por Pagar / Cobros por Adelantado": {},
"Otras Cuentas por Pagar / Dividendos a Pagar": {},
"Otras Cuentas por Pagar / Honorarios Directores y S\u00edndicos a Pagar": {}
},
"Pasivo Circulante": {
"Pasivo Circulante / Adelantos en Cuenta Corriente": {},
"Pasivo Circulante / Debentures Emitidos": {},
"Pasivo Circulante / Intereses a Pagar": {},
"Pasivo Circulante / Obligaciones a Pagar": {},
"Pasivo Circulante / Prestamos": {}
},
"Provisiones": {
"Provisiones / Previsi\u00f3n Indemnizaci\u00f3n por Despidos": {},
"Provisiones / Previsi\u00f3n para Garant\u00edas por Service": {},
"Provisiones / Previsi\u00f3n para juicios Pendientes": {}
},
"Remuneraciones por Pagar": {
"Remuneraciones por Pagar / Cargas Sociales a Pagar": {},
"Remuneraciones por Pagar / Provisi\u00f3n para Sueldo Anual Complementario": {},
"Remuneraciones por Pagar / Retenciones a Depositar": {},
"Remuneraciones por Pagar / Sueldos a Pagar": {}
}
},
"PATRIMONIO": {
"Ajustes al Patrimonio": {
"Ajustes al Patrimonio / Revaluo T\u00e9cnico de Activo Fijo": {}
},
"Aportes No Capitalizados": {
"Aportes No Capitalizados / Aportes Irrevocables Futura Suscripci\u00f3n de Acciones": {},
"Aportes No Capitalizados / Primas de Emsi\u00f3n": {}
},
"Capital": {
"Capital / (-) Descuento de Emisi\u00f3n de Acciones": {},
"Capital / Acciones en Circulaci\u00f3n": {},
"Capital / Capital Propio": {},
"Capital / Dividendos a Distribuir en Acciones": {}
},
"Futuras Eventualidades": {
"Reserva Estatutaria": {},
"Reserva Facultativa": {},
"Reserva Legal": {},
"Reserva para Renovaci\u00f3n de Activo Fijo": {}
},
"Resultados No Asignados": {
"Resultado del Ejercicio": {},
"Resultados Acumulados": {},
"Resultados Acumulados del Ejercicio Anterior": {},
"Utilidades y P\u00e9rdidas del Ejercicio": {}
}
},
"root_type": ""
}
}
}

View File

@@ -1,274 +0,0 @@
{
"country_code": "cn",
"name": "China - \u4e2d\u56fd\u4f1a\u8ba1\u79d1\u76ee\u8868 \uff08\u8d22\u4f1a[2006]3\u53f7\u300a\u4f01\u4e1a\u4f1a\u8ba1\u51c6\u5219\u300b\uff09",
"tree": {
"\u4e3b\u8425\u4e1a\u52a1\u6210\u672c": {
"root_type": ""
},
"\u4e3b\u8425\u4e1a\u52a1\u6536\u5165": {
"root_type": ""
},
"\u4ea4\u6613\u6027\u91d1\u878d\u8d1f\u503a": {
"root_type": ""
},
"\u4ea4\u6613\u6027\u91d1\u878d\u8d44\u4ea7": {
"root_type": ""
},
"\u4ee5\u524d\u5e74\u5ea6\u635f\u76ca\u8c03\u6574": {
"root_type": ""
},
"\u516c\u5141\u4ef7\u503c\u53d8\u52a8\u635f\u76ca": {
"root_type": ""
},
"\u5176\u4ed6\u4e1a\u52a1\u652f\u51fa": {
"root_type": ""
},
"\u5176\u4ed6\u4e1a\u52a1\u6536\u5165": {
"root_type": ""
},
"\u5176\u4ed6\u5e94\u4ed8\u6b3e": {
"root_type": ""
},
"\u5176\u4ed6\u5e94\u6536\u6b3e": {
"root_type": ""
},
"\u5176\u4ed6\u8d27\u5e01\u8d44\u91d1": {
"root_type": ""
},
"\u5229\u6da6\u5206\u914d": {
"root_type": ""
},
"\u5236\u9020\u8d39\u7528": {
"root_type": ""
},
"\u52b3\u52a1\u6210\u672c": {
"root_type": ""
},
"\u5305\u88c5\u7269\u53ca\u4f4e\u503c\u6613\u8017\u54c1": {
"root_type": ""
},
"\u539f\u6750\u6599": {
"root_type": ""
},
"\u53d1\u51fa\u5546\u54c1": {
"root_type": ""
},
"\u5546\u54c1\u8fdb\u9500\u5dee\u4ef7": {
"root_type": ""
},
"\u5546\u8a89": {
"root_type": ""
},
"\u56fa\u5b9a\u8d44\u4ea7": {
"root_type": ""
},
"\u56fa\u5b9a\u8d44\u4ea7\u51cf\u503c\u51c6\u5907": {
"root_type": ""
},
"\u56fa\u5b9a\u8d44\u4ea7\u6e05\u7406": {
"root_type": ""
},
"\u5728\u5efa\u5de5\u7a0b": {
"root_type": ""
},
"\u5728\u9014\u7269\u8d44": {
"root_type": ""
},
"\u574f\u8d26\u51c6\u5907": {
"root_type": ""
},
"\u5957\u671f\u5de5\u5177": {
"root_type": ""
},
"\u59d4\u6258\u52a0\u5de5\u7269\u8d44": {
"root_type": ""
},
"\u5b58\u8d27\u8dcc\u4ef7\u51c6\u5907": {
"root_type": ""
},
"\u5b9e\u6536\u8d44\u672c": {
"root_type": ""
},
"\u5de5\u7a0b\u7269\u8d44": {
"root_type": ""
},
"\u5e93\u5b58\u5546\u54c1": {
"root_type": ""
},
"\u5e93\u5b58\u80a1": {
"root_type": ""
},
"\u5e94\u4ea4\u7a0e\u8d39": {
"root_type": "",
"\u5e94\u4ea4\u4e2a\u4eba\u6240\u5f97\u7a0e": {},
"\u5e94\u4ea4\u571f\u5730\u4f7f\u7528\u7a0e": {},
"\u5e94\u4ea4\u571f\u5730\u589e\u503c\u7a0e": {},
"\u5e94\u4ea4\u57ce\u5e02\u7ef4\u62a4\u5efa\u8bbe\u7a0e": {},
"\u5e94\u4ea4\u589e\u503c\u7a0e": {
"\u51cf\u514d\u7a0e\u6b3e": {},
"\u51fa\u53e3\u62b5\u51cf\u5185\u9500\u4ea7\u54c1\u5e94\u7eb3\u7a0e\u989d": {},
"\u51fa\u53e3\u9000\u7a0e": {},
"\u5df2\u4ea4\u7a0e\u91d1": {},
"\u672a\u4ea4\u589e\u503c\u7a0e": {},
"\u8f6c\u51fa\u591a\u4ea4\u589e\u503c\u7a0e": {},
"\u8f6c\u51fa\u672a\u4ea4\u589e\u503c\u7a0e": {},
"\u8fdb\u9879\u7a0e\u989d": {},
"\u8fdb\u9879\u7a0e\u989d\u8f6c\u51fa": {},
"\u9500\u9879\u7a0e\u989d": {}
},
"\u5e94\u4ea4\u623f\u4ea7\u7a0e": {},
"\u5e94\u4ea4\u6240\u5f97\u7a0e": {},
"\u5e94\u4ea4\u6d88\u8d39\u7a0e": {},
"\u5e94\u4ea4\u8425\u4e1a\u7a0e": {},
"\u5e94\u4ea4\u8d44\u6e90\u7a0e": {},
"\u5e94\u4ea4\u8f66\u8239\u4f7f\u7528\u7a0e": {}
},
"\u5e94\u4ed8\u5229\u606f": {
"root_type": ""
},
"\u5e94\u4ed8\u7968\u636e": {
"root_type": ""
},
"\u5e94\u4ed8\u804c\u5de5\u85aa\u916c": {
"root_type": ""
},
"\u5e94\u4ed8\u80a1\u5229": {
"root_type": ""
},
"\u5e94\u4ed8\u8d26\u6b3e": {
"root_type": ""
},
"\u5e94\u6536\u5229\u606f": {
"root_type": ""
},
"\u5e94\u6536\u7968\u636e": {
"root_type": ""
},
"\u5e94\u6536\u80a1\u5229": {
"root_type": ""
},
"\u5e94\u6536\u8d26\u6b3e": {
"root_type": ""
},
"\u5f85\u5904\u7406\u8d22\u4ea7\u635f\u6ea2": {
"root_type": ""
},
"\u5f85\u644a\u8d39\u7528": {
"root_type": ""
},
"\u6240\u5f97\u7a0e": {
"root_type": ""
},
"\u6295\u8d44\u6536\u76ca": {
"root_type": ""
},
"\u6301\u6709\u81f3\u5230\u671f\u6295\u8d44": {
"root_type": ""
},
"\u6301\u6709\u81f3\u5230\u671f\u6295\u8d44\u51cf\u503c\u51c6\u5907": {
"root_type": ""
},
"\u65e0\u5f62\u8d44\u4ea7": {
"root_type": ""
},
"\u65e0\u5f62\u8d44\u4ea7\u51cf\u503c\u51c6\u5907": {
"root_type": ""
},
"\u672c\u5e74\u5229\u6da6": {
"root_type": ""
},
"\u6750\u6599\u6210\u672c\u5dee\u5f02": {
"root_type": ""
},
"\u6750\u6599\u91c7\u8d2d": {
"root_type": ""
},
"\u73b0\u91d1": {
"root_type": ""
},
"\u751f\u4ea7\u6210\u672c": {
"root_type": ""
},
"\u76c8\u4f59\u516c\u79ef": {
"root_type": ""
},
"\u77ed\u671f\u501f\u6b3e": {
"root_type": ""
},
"\u7814\u53d1\u652f\u51fa": {
"root_type": ""
},
"\u7ba1\u7406\u8d39\u7528": {
"root_type": ""
},
"\u7d2f\u8ba1\u6298\u65e7": {
"root_type": ""
},
"\u8425\u4e1a\u5916\u652f\u51fa": {
"root_type": ""
},
"\u8425\u4e1a\u5916\u6536\u5165": {
"root_type": ""
},
"\u8425\u4e1a\u7a0e\u91d1\u53ca\u9644\u52a0": {
"root_type": ""
},
"\u884d\u751f\u5de5\u5177": {
"root_type": ""
},
"\u88ab\u5957\u671f\u9879\u76ee": {
"root_type": ""
},
"\u8d22\u52a1\u8d39\u7528": {
"root_type": ""
},
"\u8d44\u4ea7\u51cf\u503c\u635f\u5931": {
"root_type": ""
},
"\u8d44\u672c\u516c\u79ef": {
"root_type": ""
},
"\u9012\u5ef6\u6240\u5f97\u7a0e\u8d1f\u503a": {
"root_type": ""
},
"\u9012\u5ef6\u6240\u5f97\u7a0e\u8d44\u4ea7": {
"root_type": ""
},
"\u94f6\u884c\u5b58\u6b3e": {
"root_type": ""
},
"\u9500\u552e\u8d39\u7528": {
"root_type": ""
},
"\u957f\u671f\u501f\u6b3e": {
"root_type": ""
},
"\u957f\u671f\u503a\u5238": {
"root_type": ""
},
"\u957f\u671f\u5e94\u4ed8\u6b3e": {
"root_type": ""
},
"\u957f\u671f\u5e94\u6536\u6b3e": {
"root_type": ""
},
"\u957f\u671f\u5f85\u644a\u8d39\u7528": {
"root_type": ""
},
"\u957f\u671f\u6295\u8d44\u51cf\u503c\u51c6\u5907": {
"root_type": ""
},
"\u957f\u671f\u80a1\u6743\u6295\u8d44": {
"root_type": ""
},
"\u9884\u4ed8\u8d26\u6b3e": {
"root_type": ""
},
"\u9884\u63d0\u8d39\u7528": {
"root_type": ""
},
"\u9884\u6536\u8d26\u6b3e": {
"root_type": ""
}
}
}

View File

@@ -1,273 +0,0 @@
{
"country_code": "cr",
"name": "Costa Rica - Chart of Accounts 1",
"tree": {
"0-Activo": {
"0-Activo circulante": {
"0-Activo circulante disponible": {
"0-Bancos": {
"0-Cuentas corrientes CRC": {
"0-Cuenta en CRC 1": {}
},
"0-Cuentas corrientes USD": {
"0-Cuenta en USD 1": {}
}
},
"0-Fondos de caja": {
"0-Fondos de caja CRC": {
"0-Fondo de caja oficinas centrales CRC": {}
},
"0-Fondos de caja USD": {
"0-Fondo de caja oficinas centrales USD": {}
}
},
"0-Fondos en tr\u00e1nsito": {
"0-Fondos en tr\u00e1nsito de PayPal a Bancos": {},
"0-Fondos en tr\u00e1nsito en bancos": {},
"0-Fondos en tr\u00e1nsito en tesorer\u00eda": {}
},
"0-Inversiones a la vista": {
"0-Inversi\u00f3n 1": {}
},
"0-PayPal": {
"0-Cuenta PayPal 1": {}
}
},
"0-Activo circulante exigible": {
"0-Cuentas por cobrar a compa\u00f1\u00edas relacionadas": {},
"0-Cuentas por cobrar a empleados": {},
"0-Cuentas por cobrar comerciales": {},
"0-Inversiones de corto plazo": {},
"0-Otras cuentas por cobrar": {}
},
"0-Activo circulante realizable": {
"0-Inventarios": {
"0-Inventario de consumibles": {},
"0-Inventario de producto para la venta": {}
}
}
},
"0-Activo fijo": {
"0-Activo fijo depreciable": {
"0-Activos depreciables m\u00f3viles": {
"0-Equipo de c\u00f3mputo": {},
"0-Herramientas mayores": {},
"0-Maquinaria y equipo de edificios": {},
"0-Moibliario y equipo de oficina": {},
"0-Veh\u00edculos": {}
},
"0-Edificios": {
"0-Edificios \u2013 Revaluaciones": {
"0-Edificio 1": {}
},
"0-Edificios \u2013 Valores originales": {
"0-Edificio 1": {}
}
},
"0-Mejoras a edificios": {
"0-Mejoras a edificios \u2013 Revaluaciones": {
"0-Edificio 1": {}
},
"0-Mejoras a edificios \u2013 Valores originales": {
"0-Edificio 1": {}
}
}
},
"0-Activo fijo no depreciable": {
"0-Terrenos": {
"0-Revaluaciones": {
"0-Terreno 1": {}
},
"0-Valores originales": {
"0-Terreno 1": {}
}
}
}
},
"0-Depreciaciones acumuladas sobre activo fijo depreciable": {
"0-Dep. ac. de activos depreciables m\u00f3viles": {
"0-Dep. ac. de equipo de c\u00f3mputo": {},
"0-Dep. ac. de herramientas mayores": {},
"0-Dep. ac. de maquinaria y equipo de edificios": {},
"0-Dep. ac. de mobiliario y equipo de oficina": {},
"0-Dep. ac. de veh\u00edculos": {}
},
"0-Dep. ac. de edificios": {
"0-Dep. ac. de edificios \u2013 Revaluaciones": {
"0-Edificio 1": {}
},
"0-Dep. ac. de edificios \u2013 Valores originales": {
"0-Edificio 1": {}
}
},
"0-Dep. ac. de mejoras a edificios": {
"0-Dep. ac. de mejoras a edificios \u2013 Revaluaciones": {
"0-Edificio 1": {}
},
"0-Dep. ac. de mejoras a edificios \u2013 Valores originales": {
"0-Edificio 1": {}
}
}
},
"0-Otros activos": {
"0-Dep\u00f3sitos de garant\u00eda": {
"0-Dep\u00f3sitos sobre conexiones de Internet": {},
"0-Dep\u00f3sitos sobre derechos telef\u00f3nicos": {},
"0-Dep\u00f3sitos sobre locales en alquiler": {}
},
"0-Gastos pagados por anticipado": {
"0-P\u00f3lizas de seguros prepagadas": {}
}
},
"root_type": "Asset"
},
"0-Gastos": {
"0-Gastos no deducibles": {
"0-Diferencial cambiario": {},
"0-Donaciones no deducibles": {},
"0-Gastos de presidencia": {},
"0-Multas": {}
},
"0-Gastos principales": {
"0-Gastos administrativos": {
"0-Alquiler": {
"0-Oficina 1": {}
},
"0-Cuota por administraci\u00f3n": {
"0-Compa\u00f1\u00eda administradora 1": {}
},
"0-Equipo de c\u00f3mputo y comunicaci\u00f3n": {
"0-Departamento 1": {}
},
"0-Servicios p\u00fablicos": {
"0-Agua": {
"0-Medidor 1": {}
},
"0-Internet": {
"0-Contrato 1": {}
},
"0-Luz": {
"0-Medidor 1": {}
},
"0-Tel\u00e9fono": {
"0-Tel\u00e9fono 1": {}
}
},
"0-Suministros de oficina": {
"0-Departamento 1": {}
}
},
"0-Gastos operativos": {
"0-Costo de venta de producto": {
"0-Costo de almacenamiento": {},
"0-Costo de distribuci\u00f3n": {},
"0-Costo de materia prima": {},
"0-Costo de producci\u00f3n": {},
"0-Costo de producto": {}
},
"0-Gastos de mercadeo": {
"0-Campa\u00f1as publicitarias": {},
"0-Dise\u00f1o de imagen": {}
},
"0-Gastos de personal": {
"0-Salarios y deducciones": {
"0-Aguinaldo": {},
"0-Bonificaciones": {},
"0-Cargas patronales": {},
"0-Cesant\u00eda": {},
"0-Comisiones": {},
"0-Extras": {},
"0-Preaviso": {},
"0-Salarios": {}
},
"0-Vi\u00e1ticos": {
"0-Alimentaci\u00f3n": {},
"0-Hospedaje": {},
"0-Transporte": {}
}
},
"0-Servicios profesionales": {
"0-Categor\u00eda 1": {}
}
}
},
"0-Otros gastos": {
"0-Ajustes": {},
"0-Depreciaci\u00f3n de activo fijo": {},
"0-Donaciones deducibles": {},
"0-Gastos Financieros": {},
"0-Perdida por robo": {}
},
"root_type": "Expense"
},
"0-Ingresos": {
"0-Ingresos financieros": {
"0-Intereses ganados sobre cuentas corrientes": {}
},
"0-Ingresos no gravables": {
"0-Diferencial cambiario": {}
},
"0-Ingresos por administraci\u00f3n": {
"0-Cuota por administraci\u00f3n": {}
},
"0-Ingresos por ventas": {},
"0-Otros ingresos": {
"0-Ajustes": {},
"0-Donaciones": {}
},
"root_type": "Income"
},
"0-Pasivo": {
"0-Pasivo circulante": {
"0-Cuentas por pagar": {
"0-Cuentas por pagar a compa\u00f1\u00edas relacionadas": {},
"0-Cuentas por pagar a empleados": {},
"0-Cuentas por pagar a proveedores": {},
"0-Cuentas por pagar de provisiones": {}
},
"0-Impuestos": {
"0-Impuesto de renta": {
"0-Adelantos de impuesto de renta": {},
"0-Impuesto de renta por pagar": {},
"0-Retenciones de impuesto de renta": {}
},
"0-Impuesto de ventas": {
"0-Impuesto de ventas pagado": {},
"0-Impuesto de ventas por pagar": {}
}
}
},
"root_type": "Liability"
},
"0-Patrimonio": {
"0-Aportes de capital": {
"0-Socio 1": {}
},
"0-Balance inicial": {
"0-Balance inicial": {}
},
"0-Capital social": {
"0-Socio 1": {}
},
"0-Cuentas de super\u00e1vit": {
"0-Superavit ganado": {},
"0-Superavit por revaluaci\u00f3n de activos": {},
"0-Super\u00e1vit de capital": {}
},
"0-Otras reservas": {
"0-Reserva para mejoras": {},
"0-Reserva para proyectos": {}
},
"0-Reserva legal": {
"0-Reserva legal": {}
},
"0-Utilidad o p\u00e9rdida acumulada de periodos anteriores": {
"0-Periodo 1": {}
},
"0-Utilidad o p\u00e9rdida del per\u00edodo actual": {
"0-Utilidad o p\u00e9rdida del per\u00edodo actual": {}
},
"root_type": "Asset"
}
}
}

View File

@@ -1,266 +0,0 @@
{
"country_code": "cr",
"name": "Costa Rica - Chart of Accounts 2",
"tree": {
"xActivo": {
"root_type": "Asset",
"xActivo circulante": {
"xActivo circulante disponible": {
"xBancos": {},
"xFondos de caja": {
"xFondos de caja CRC": {
"xFondo de caja oficinas centrales CRC": {}
},
"xFondos de caja USD": {
"xFondo de caja oficinas centrales USD": {}
}
},
"xFondos en tr\u00e1nsito": {
"xFondos en tr\u00e1nsito de PayPal a Bancos": {},
"xFondos en tr\u00e1nsito en bancos": {},
"xFondos en tr\u00e1nsito en tesorer\u00eda": {}
},
"xInversiones a la vista": {
"xInversi\u00f3n 1": {}
},
"xPayPal": {
"xCuenta PayPal 1": {}
}
},
"xActivo circulante exigible": {
"xCuentas por cobrar a compa\u00f1\u00edas relacionadas": {},
"xCuentas por cobrar a empleados": {},
"xCuentas por cobrar comerciales": {},
"xInversiones de corto plazo": {},
"xOtras cuentas por cobrar": {}
},
"xActivo circulante realizable": {
"xInventarios": {
"xInventario de consumibles": {},
"xInventario de producto para la venta": {}
}
}
},
"xActivo fijo": {
"xActivo fijo depreciable": {
"xActivos depreciables m\u00f3viles": {
"xEquipo de c\u00f3mputo": {},
"xHerramientas mayores": {},
"xMaquinaria y equipo de edificios": {},
"xMoibliario y equipo de oficina": {},
"xVeh\u00edculos": {}
},
"xEdificios": {
"xEdificios \u2013 Revaluaciones": {
"xEdificio 1": {}
},
"xEdificios \u2013 Valores originales": {
"xEdificio 1": {}
}
},
"xMejoras a edificios": {
"xMejoras a edificios \u2013 Revaluaciones": {
"xEdificio 1": {}
},
"xMejoras a edificios \u2013 Valores originales": {
"xEdificio 1": {}
}
}
},
"xActivo fijo no depreciable": {
"xTerrenos": {
"xRevaluaciones": {
"xTerreno 1": {}
},
"xValores originales": {
"xTerreno 1": {}
}
}
}
},
"xDepreciaciones acumuladas sobre activo fijo depreciable": {
"xDep. ac. de activos depreciables m\u00f3viles": {
"xDep. ac. de equipo de c\u00f3mputo": {},
"xDep. ac. de herramientas mayores": {},
"xDep. ac. de maquinaria y equipo de edificios": {},
"xDep. ac. de mobiliario y equipo de oficina": {},
"xDep. ac. de veh\u00edculos": {}
},
"xDep. ac. de edificios": {
"xDep. ac. de edificios \u2013 Revaluaciones": {
"xEdificio 1": {}
},
"xDep. ac. de edificios \u2013 Valores originales": {
"xEdificio 1": {}
}
},
"xDep. ac. de mejoras a edificios": {
"xDep. ac. de mejoras a edificios \u2013 Revaluaciones": {
"xEdificio 1": {}
},
"xDep. ac. de mejoras a edificios \u2013 Valores originales": {
"xEdificio 1": {}
}
}
},
"xOtros activos": {
"xDep\u00f3sitos de garant\u00eda": {
"xDep\u00f3sitos sobre conexiones de Internet": {},
"xDep\u00f3sitos sobre derechos telef\u00f3nicos": {},
"xDep\u00f3sitos sobre locales en alquiler": {}
},
"xGastos pagados por anticipado": {
"xP\u00f3lizas de seguros prepagadas": {}
}
}
},
"xGastos": {
"root_type": "Expense",
"xGastos no deducibles": {
"xDiferencial cambiario": {},
"xDonaciones no deducibles": {},
"xGastos de presidencia": {},
"xMultas": {}
},
"xGastos principales": {
"xGastos administrativos": {
"xAlquiler": {
"xOficina 1": {}
},
"xCuota por administraci\u00f3n": {
"xCompa\u00f1\u00eda administradora 1": {}
},
"xEquipo de c\u00f3mputo y comunicaci\u00f3n": {
"xDepartamento 1": {}
},
"xServicios p\u00fablicos": {
"xAgua": {
"xMedidor 1": {}
},
"xInternet": {
"xContrato 1": {}
},
"xLuz": {
"xMedidor 1": {}
},
"xTel\u00e9fono": {
"xTel\u00e9fono 1": {}
}
},
"xSuministros de oficina": {
"xDepartamento 1": {}
}
},
"xGastos operativos": {
"xCosto de venta de producto": {
"xCosto de almacenamiento": {},
"xCosto de distribuci\u00f3n": {},
"xCosto de materia prima": {},
"xCosto de producci\u00f3n": {},
"xCosto de producto": {}
},
"xGastos de mercadeo": {
"xCampa\u00f1as publicitarias": {},
"xDise\u00f1o de imagen": {}
},
"xGastos de personal": {
"xSalarios y deducciones": {
"xAguinaldo": {},
"xBonificaciones": {},
"xCargas patronales": {},
"xCesant\u00eda": {},
"xComisiones": {},
"xExtras": {},
"xPreaviso": {},
"xSalarios": {}
},
"xVi\u00e1ticos": {
"xAlimentaci\u00f3n": {},
"xHospedaje": {},
"xTransporte": {}
}
},
"xServicios profesionales": {
"xCategor\u00eda 1": {}
}
}
},
"xOtros gastos": {
"xAjustes": {},
"xDepreciaci\u00f3n de activo fijo": {},
"xDonaciones deducibles": {},
"xGastos Financieros": {},
"xPerdida por robo": {}
}
},
"xIngresos": {
"root_type": "Income",
"xIngresos financieros": {
"xIntereses ganados sobre cuentas corrientes": {}
},
"xIngresos no gravables": {
"xDiferencial cambiario": {}
},
"xIngresos por administraci\u00f3n": {
"xCuota por administraci\u00f3n": {}
},
"xIngresos por ventas": {},
"xOtros ingresos": {
"xAjustes": {},
"xDonaciones": {}
}
},
"xPasivo": {
"root_type": "Liability",
"xPasivo circulante": {
"xCuentas por pagar": {
"xCuentas por pagar a compa\u00f1\u00edas relacionadas": {},
"xCuentas por pagar a empleados": {},
"xCuentas por pagar a proveedores": {},
"xCuentas por pagar de provisiones": {}
},
"xImpuestos": {
"xImpuesto de renta": {
"xAdelantos de impuesto de renta": {},
"xImpuesto de renta por pagar": {},
"xRetenciones de impuesto de renta": {}
},
"xImpuesto de ventas": {
"xImpuesto de ventas pagado": {},
"xImpuesto de ventas por pagar": {}
}
}
}
},
"xPatrimonio": {
"root_type": "Asset",
"xAportes de capital": {
"xSocio 1": {}
},
"xBalance inicial": {
"xBalance inicial": {}
},
"xCapital social": {
"xSocio 1": {}
},
"xCuentas de super\u00e1vit": {
"xSuperavit ganado": {},
"xSuperavit por revaluaci\u00f3n de activos": {},
"xSuper\u00e1vit de capital": {}
},
"xOtras reservas": {
"xReserva para mejoras": {},
"xReserva para proyectos": {}
},
"xReserva legal": {
"xReserva legal": {}
},
"xUtilidad o p\u00e9rdida acumulada de periodos anteriores": {
"xPeriodo 1": {}
},
"xUtilidad o p\u00e9rdida del per\u00edodo actual": {
"xUtilidad o p\u00e9rdida del per\u00edodo actual": {}
}
}
}
}

View File

@@ -1,653 +0,0 @@
{
"country_code": "ec",
"name": "Ecuador - Chart of Accounts",
"tree": {
"ACTIVO CORRIENTE ": {
"ACTIVO DISPONIBLE": {
"Banco Central del Ecuador": {
"Cta. Cte. Moneda de curso legal": {},
"Cta. Cte. Otras monedas": {}
},
"Caja": {
"Fondos rotativos": {},
"Moneda de curso legal": {},
"Otras monedas": {}
},
"Instituciones financieras": {},
"Otras Instituciones Financieras": {
"Cta Ahorros En el exterior": {},
"Cta. Ahorros Moneda de curso legal": {},
"Cta. Cte. En el exterior": {},
"Cta. Cte. Moneda de curso legal": {}
}
},
"root_type": ""
},
"ACTIVOS BIOLOGICOS": {
"Animales vivos": {
"En desarrollo": {},
"En producci\u00f3n": {}
},
"PROVISI\u00d3N POR DETERIORO DE ACTIVOS BIOL\u00d3GICOS": {},
"Plantas en crecimiento": {
"En desarrollo": {},
"En producci\u00f3n": {}
},
"root_type": ""
},
"ACTIVOS FINANCIEROS": {
"A VALOR RAZONABLE CON CAMBIOS EN RESULTADOS": {
"Derivados": {
"Forward": {},
"Futuros": {},
"Inversiones en el exterior": {},
"Opciones": {},
"Otros": {}
},
"Renta Fija": {
"Avales": {},
"Bonos de Prenda": {},
"Bonos del Estado": {},
"Certificados Financieros": {},
"Certificados de Dep\u00f3sito": {},
"Certificados de Inversi\u00f3n": {},
"Certificados de Tesorer\u00eda": {},
"Cupones": {},
"C\u00e9dulas Hipotecarias": {},
"Dep\u00f3sitos a Plazo": {},
"Facturas Comerciales Negociables": {},
"Letras de Cambio": {},
"Notas de Cr\u00e9dito": {},
"Obligaciones": {},
"Obligaciones Convertibles en acciones": {},
"Otros": {},
"Overnights": {},
"Pagar\u00e9s": {},
"Papel Comercial": {},
"P\u00f3lizas de Acumulaci\u00f3n": {},
"T\u00edtulos del Banco Central ": {},
"Valores de Titularizaci\u00f3n": {}
},
"Renta variable": {
"Acciones y participaciones": {},
"Cuotas de fondos colectivos": {},
"Otros ": {},
"Valores de titularizaci\u00f3n de participaci\u00f3n": {}
}
},
"DISPONIBLES PARA LA VENTA": {
"Renta Fija": {
"Avales": {},
"Bonos de Prenda": {},
"Bonos del Estado": {},
"Certificados Financieros": {},
"Certificados de Dep\u00f3sito": {},
"Certificados de Inversi\u00f3n": {},
"Certificados de Tesorer\u00eda": {},
"Cupones": {},
"C\u00e9dulas Hipotecarias": {},
"Dep\u00f3sitos a Plazo": {},
"Facturas Comerciales Negociables": {},
"Inversiones en el exterior": {},
"Letras de Cambio": {},
"Notas de Cr\u00e9dito": {},
"Obligaciones": {},
"Obligaciones Convertibles en acciones": {},
"Otros": {},
"Overnights": {},
"Pagar\u00e9s": {},
"Papel Comercial": {},
"P\u00f3lizas de Acumulaci\u00f3n": {},
"T\u00edtulos del Banco Central ": {},
"Valores de Titularizaci\u00f3n": {}
},
"Renta variable": {
"Acciones y participaciones": {},
"Cuotas de fondos colectivos": {},
"Inversiones en el exterior": {},
"Otros ": {},
"Unidades de participaci\u00f3n": {},
"Valores de titularizaci\u00f3n de participaci\u00f3n": {}
}
},
"INVERSIONES MANTENIDAS HASTA EL VENCIMIENTO ": {
"Acciones y participaciones": {
"Acciones y participaciones": {}
},
"Otros": {
"Inversiones en el exterior": {}
},
"Renta Fija": {
"Avales": {},
"Bonos de Prenda": {},
"Bonos del Estado": {},
"Certificados Financieros": {},
"Certificados de Dep\u00f3sito": {},
"Certificados de Inversi\u00f3n": {},
"Certificados de Tesorer\u00eda": {},
"Cupones": {},
"C\u00e9dulas Hipotecarias": {},
"Dep\u00f3sitos a Plazo": {},
"Facturas Comerciales Negociables": {},
"Letras de Cambio": {},
"Notas de Cr\u00e9dito": {},
"Obligaciones": {},
"Obligaciones Convertibles en acciones": {},
"Overnights": {},
"Pagar\u00e9s": {},
"Papel Comercial": {},
"P\u00f3lizas de Acumulaci\u00f3n": {},
"T\u00edtulos del Banco Central ": {},
"Valores de Titularizaci\u00f3n": {}
}
},
"PRESTAMOS Y PARTIDAS A COBRAR ": {
"Cuentas y Documentos a cobrar a terceros": {
"Cuentas por cobrar a terceros": {},
"Cuentas por cobrar accionistas": {},
"Cuentas por cobrar al originador": {},
"Otros": {}
}
},
"PROVISI\u00d3N POR DETERIORO DE ACTIVOS FINANCIEROS": {
"Inversiones mantenidas hasta el vencimiento ": {},
"Pr\u00e9stamos y partidas a cobrar": {}
},
"root_type": ""
},
"ACTIVOS NO CORRIENTES": {
"ACTIVOS ADQUIRIDOS EN ARRENDAMIENTO FINANCIERO": {},
"CONSTRUCCIONES EN CURSO ": {},
"INTANGIBLES": {
"Concesiones": {},
"Costos de exploraci\u00f3n y desarrollo": {},
"Licencias": {},
"Patentes y propiedad industrial": {},
"Programas de computaci\u00f3n": {},
"Reservas de recursos extra\u00edbles": {}
},
"PLUSVAL\u00cdA MERCANTIL (Goodwill)": {},
"PROPIEDADES": {
"Edificios": {},
"Equipo de Computaci\u00f3n ": {},
"Maquinaria y Equipo": {},
"Muebles y enseres ": {},
"Terrenos": {},
"Veh\u00edculos": {}
},
"PROPIEDADES DE INVERSI\u00d3N": {},
"PROVISI\u00d3N POR DETERIORO DE ACTIVOS NO CORRIENTES": {
"Intangibles": {},
"Plusval\u00eda mercantil (Goodwill) ": {},
"Propiedades": {},
"Propiedades de inversi\u00f3n ": {}
},
"root_type": ""
},
"CUENTAS CONTINGENTES": {
"ACREEDORAS": {
"Garant\u00edas": {},
"Garant\u00edas en titularizaci\u00f3n": {}
},
"DEUDORAS": {
"Garant\u00edas ": {},
"Garant\u00edas en titularizaci\u00f3n": {}
},
"root_type": ""
},
"CUENTAS DE ORDEN": {
"ACREEDORAS": {
"ADMINISTRACION DE RECURSOS DE TERCEROS": {
"Administraci\u00f3n de portafolio ": {
"Intereses": {},
"Principal": {}
},
"Intermediaci\u00f3n de valores": {},
"Patrimonio de Fondos de Inversi\u00f3n": {
"Fondos Administrados": {
"Intereses": {},
"Principal": {}
},
"Fondos Colectivos": {
"Intereses": {},
"Principal": {}
}
},
"Patrimonio de Negocios Fiduciarios": {
"Encargos fiduciarios inscritos": {
"Administraci\u00f3n": {},
"Garant\u00eda": {},
"Inmobiliario": {},
"Inversi\u00f3n": {}
},
"Encargos fiduciarios no inscritos": {
"Administraci\u00f3n": {},
"Garant\u00eda": {},
"Inmobiliario": {},
"Inversi\u00f3n": {}
},
"Fideicomisos mercantiles inscritos": {
"Administraci\u00f3n": {},
"Garant\u00eda": {},
"Inmobiliario": {},
"Inversi\u00f3n": {},
"Titularizaci\u00f3n": {}
},
"Fideicomisos mercantiles no inscritos": {
"Administraci\u00f3n": {},
"Garant\u00eda": {},
"Inmobiliario": {},
"Inversi\u00f3n": {}
}
}
},
"VALORES Y BIENES RECIBIDOS DE TERCEROS": {
"En Custodia": {
"Depositos en efectivo": {},
"T\u00edtulos de Renta Fija": {},
"T\u00edtulos de Renta Variable": {}
},
"En Garant\u00eda": {
"Depositos en efectivo": {},
"T\u00edtulos de Renta Fija": {},
"T\u00edtulos de Renta Variable": {}
}
}
},
"ACREEDORES POR CONTRA": {
"Acreedores por contra": {}
},
"DEUDORAS": {
"COLATERALES DE LAS OPERACIONES DE REPORTO BURSATIL": {
"Colaterales de las operaciones de reporto burs\u00e1til": {}
},
"EMISIONES NO COLOCADAS": {
"Emisiones no colocadas ": {}
},
"OTRAS CUENTAS DE ORDEN DEUDORAS": {
"Derechos sobre instrumentos financieros derivados": {}
},
"VALORES Y BIENES PROPIOS EN PODER DE TERCEROS": {
"Bienes en garant\u00eda": {},
"Valores en garant\u00eda": {}
}
},
"DEUDORES POR CONTRA": {},
"root_type": ""
},
"CUENTAS DE RESULTADOS ACREEDORAS": {
"COMISIONES GANADAS": {
"CUSTODIA REGISTRO\n COMPENSACI\u00d3N Y LIQUIDACI\u00d3N": {
"Compensaci\u00f3n y liquidaci\u00f3n de valores": {},
"Otros": {},
"Valores desmaterializados": {},
"Valores materializados": {}
},
"INTERMEDIACI\u00d3N DE VALORES": {
"Operaciones Burs\u00e1tiles": {},
"Operaciones Extraburs\u00e1tiles": {},
"Por Contratos de Underwriting": {}
},
"OTRAS COMISIONES GANADAS": {},
"POR PRESTACI\u00d3N DE SERVICIOS DE ADMINISTRACI\u00d3N Y MANEJO": {
"Encargos Fiduciarios": {},
"Fideicomisos mercantiles": {},
"Fondos administrados": {},
"Fondos colectivos": {},
"Por representaci\u00f3n de obligacionistas": {},
"Portafolio de terceros": {},
"Titularizaci\u00f3n": {}
},
"SERVICIOS BURS\u00c1TILES": {
"Comisiones en operaciones ": {},
"Inscripciones": {},
"Mantenimiento de Inscripci\u00f3n": {}
}
},
"INGRESOS DE ACTIVOS POR IMPUESTOS DIFERIDOS": {
"INGRESOS DE ACTIVOS POR IMPUESTOS DIFERIDOS": {}
},
"INGRESOS FINANCIEROS": {
"DIVIDENDOS": {},
"INTERESES Y RENDIMIENTOS": {},
"UTILIDAD EN CAMBIO": {},
"UTILIDAD POR VALUACI\u00d3N DE ACTIVOS FINANCIEROS A VALOR RAZONABLE": {}
},
"INGRESOS POR ASESOR\u00cdA Y ESTRUCTURACI\u00d3N": {
"INGRESOS POR ASESORIA": {},
"INGRESOS POR ESTRUCTURACI\u00d3N": {
"Negocios Fiduciarios": {},
"Oferta p\u00fablica de Valores": {},
"Otros": {}
}
},
"UTILIDAD POR ACTIVOS NO FINANCIEROS AL VALOR RAZONABLE": {
"ACTIVOS BIOL\u00d3GICOS": {},
"ACTIVOS NO CORRIENTES": {},
"CUENTAS POR COBRAR": {},
"OBLIGACIONES FINANCIERAS": {},
"PROPIEDADES DE INVERSI\u00d3N": {}
},
"UTILIDADES EN VENTAS": {
"OTRAS UTILIDADES EN VENTAS": {},
"UTILIDAD EN VENTA DE PROPIEDAD": {},
"UTILIDAD EN VENTA DE VALORES": {},
"UTILIDAD POR OPERACIONES DESCONTINUADAS": {}
},
"root_type": ""
},
"CUENTAS DE RESULTADOS DEUDORAS": {
"GASTOS ADMINISTRATIVOS": {
"GASTOS DE PERSONAL": {
"Beneficios sociales de los trabajadores": {},
"Provisi\u00f3n para jubilaci\u00f3n patronal": {},
"Remuneraciones": {}
},
"HONORARIOS": {
"Honorarios": {}
},
"SERVICIOS DE TERCEROS ": {
"Servicios de terceros": {}
}
},
"GASTOS FINANCIEROS": {
"ARRENDAMIENTO OPERATIVO": {
"Arrendamiento operativo": {}
},
"COMISIONES PAGADAS": {
"Intermediaci\u00f3n de Valores": {},
"Operaciones Burs\u00e1tiles": {},
"Operaciones Extraburs\u00e1tlies": {},
"Por Contratos de Underwriting": {}
},
"CUSTODIA REGISTRO COMPENSACI\u00d3N Y LIQUIDACI\u00d3N \n ": {
"Compensaci\u00f3n y Liquidaci\u00f3n de Valores": {},
"Valores Desmaterializados": {},
"Valores Materializados": {}
},
"DETERIORO DE ACTIVOS FINANCIEROS": {
"Deterioro de activos financieros": {}
},
"GASTOS POR ESTRUCTURACI\u00d3N": {
"Negocios Fiduciarios": {},
"Oferta P\u00fablica de Valores": {},
"Otros": {}
},
"INTERESES CAUSADOS": {
"Intereses por cr\u00e9ditos de bancos y otras Instituciones financieras": {},
"Intereses por otros pasivos no financieros": {}
},
"OTRAS COMISIONES PAGADAS ": {
"Otras Comisiones Pagadas": {}
},
"POR SERVICIOS DE ADMINISTRACI\u00d3N Y MANEJO": {
"Administraci\u00f3n de portafolio": {},
"Encargos fiduciarios": {},
"Fideicomisos mercantiles": {},
"Fondos administrados": {},
"Fondos colectivos": {},
"Otros": {},
"Titularizaci\u00f3n": {}
},
"P\u00c9RDIDA EN CAMBIO": {
"P\u00e9rdida en cambio": {}
},
"P\u00c9RDIDA EN VALUACI\u00d3N DE ACTIVOS FINANCIEROS": {
"P\u00e9rdida en Valuaci\u00f3n de activos financieros": {}
},
"P\u00c9RDIDAS EN VENTA": {
"P\u00e9rdida en venta activos biol\u00f2gicos": {},
"P\u00e9rdida en venta de Propiedad ": {},
"P\u00e9rdida en venta de Valores": {},
"P\u00e9rdida por operaciones descontinuadas": {}
}
},
"GASTOS GENERALES": {
"AMORTIZACIONES": {},
"ARRENDAMIENTOS": {},
"DEPRECIACI\u00d3N": {},
"MATERIALES Y SUMINISTROS": {},
"OTROS": {},
"POR PUBLICIDAD": {},
"PROVISIONES": {},
"SEGUROS": {},
"SERVICIOS Y MANTENIMIENTO": {}
},
"GASTOS POR DETERIORO": {
"ACTIVOS BIOL\u00d3GICOS": {},
"ACTIVOS DE EXPLORACI\u00d3N Y EVALUACI\u00d3N MINERA": {},
"CUENTAS Y DOCUMENTOS POR COBRAR": {},
"EXISTENCIAS": {},
"PLUSVAL\u00cdA MERCANTIL (GOODWILL)": {},
"PROPIEDADES PLANTA Y EQUIPO": {},
"PROPIEDADES DE INVERSI\u00d3N": {}
},
"IMPUESTOS TASAS Y CONTRIBUCIONES": {},
"P\u00c9RDIDA POR MEDICI\u00d3N DE ACTIVOS NO FINANCIEROS AL VALOR RAZONABLE": {
"ACTIVOS BIOL\u00d3GICOS": {},
"ACTIVOS NO CORRIENTES ": {},
"COSTO ": {},
"COSTO DE PRODUCCI\u00d3N ": {},
"COSTO DE VENTAS": {},
"CUENTAS POR COBRAR": {},
"FISCALES": {},
"MUNICIPALES": {},
"OBLIGACIONES FINANCIERAS": {},
"ORGANISMOS DE CONTROL": {},
"OTROS": {},
"OTROS GASTOS": {},
"PRIMA POR OPERACIONES DE REPORTO": {},
"PROPIEDADES DE INVERSI\u00d3N": {}
},
"root_type": ""
},
"CUENTAS Y DOCUMENTOS POR COBRAR": {
"ANTICIPO A CONSTRUCTOR POR AVANCE DE OBRA": {},
"ANTICIPO COMITENTES": {},
"COMISIONES POR COBRAR": {
"Asesor\u00eda": {},
"Intermediaci\u00f3n de valores": {
"Contrato de Underwriting": {},
"Operaciones Burs\u00e1tiles": {},
"Operaciones Extraburs\u00e1tiles": {}
},
"Otras comisiones": {},
"Por administraci\u00f3n y manejo": {
"Por Manejo de Fideicomisos": {},
"Por Contratos de Administraci\u00f3n Portafolio de Terceros": {},
"Por Manejo de Encargos Fiduciarios": {},
"Por Manejo de Fondos Administrados": {},
"Por comisiones de administraci\u00f3n": {}
},
"Por Custodia y Conservaci\u00f3n de Valores": {
"Por Manejo de Libro de Acciones y Accionistas": {},
"Valores Desmaterializados": {},
"Valores Materializados": {}
},
"Por servicios burs\u00e1tiles": {
"Operaciones": {},
"Puestos inactivos": {}
}
},
"CUENTAS POR COBRAR": {
"A Terceros": {},
"Al Originador": {}
},
"DERECHOS POR COMPROMISO DE RECOMPRA": {},
"DOCUMENTOS POR COBRAR": {
"A Personal": {},
"A Terceros": {},
"Otros": {}
},
"OTROS": {},
"PROVISIONES PARA CUENTAS POR COBRAR": {},
"PROVISI\u00d3N POR DETERIORO DE CUENTAS POR COBRAR": {
"Comisiones por cobrar ": {},
"Cuentas por cobrar a terceros ": {}
},
"RENDIMIENTOS POR COBRAR": {
"Dividendos": {},
"Intereses ": {}
},
"root_type": ""
},
"DEUDORES POR INTERMEDIACION": {
"root_type": ""
},
"EXISTENCIAS": {
"MATERIA PRIMA": {},
"MATERIALES Y SUMINISTROS": {},
"PRODUCTOS EN PROCESO": {},
"PRODUCTOS TERMINADOS": {},
"PROVISI\u00d3N POR DETERIORO DE EXISTENCIAS": {},
"root_type": ""
},
"OTROS ACTIVOS CORRIENTES": {
"ACTIVO NO CORRIENTE DISPONIBLE PARA LA VENTA": {},
"ACTIVO POR IMPUESTO CORRIENTE": {},
"OTROS": {},
"UNIDADES DE PARTICIPACION": {},
"root_type": ""
},
"OTROS ACTIVOS NO CORRIENTES": {
"ACTIVO POR IMPUESTO DIFERIDO": {
"Activo por impuesto diferido ": {}
},
"ACTIVOS DE EXPLORACION Y EVALUACION MINERA": {},
"AMORTIZACION ACUMULADA": {
"Concesiones": {},
"Licencias": {},
"Otros": {}
},
"DEPRECIACION ACUMULADA": {
"Activos adquiridos en arrendamiento financiero": {},
"Activos de exploraci\u00f3n y evaluaci\u00f3n minera": {},
"Edificios": {},
"Equipo de Computaci\u00f3n ": {},
"Maquinaria y Equipo": {},
"Muebles y enseres ": {},
"Propiedades de inversi\u00f3n": {},
"Veh\u00edculos": {}
},
"DERECHOS FIDUCIARIOS": {},
"OTROS ACTIVOS": {
"Cuota patrimonial bolsa de valores": {
"Acciones Dep\u00f3sito Centralizado de Valores": {},
"Cuota patrimonial bolsa de valores": {}
},
"Dep\u00f3sitos en Garant\u00eda": {
"Dep\u00f3sitos en Garant\u00eda por operaciones burs\u00e1tiles": {},
"Dep\u00f3sitos en Garant\u00eda por reporto": {}
}
},
"root_type": ""
},
"PASIVO": {
"OTROS": {},
"PASIVO CORRIENTE": {
"ACREEDORES POR INTERMEDIACION ": {},
"OBLIGACIONES PATRONALES": {
"Aportes y descuentos al IESS": {},
"Beneficios a empleados": {},
"Fondo reserva del IESS": {},
"Participaciones de los trabajadores en utilidades": {},
"Provisi\u00f3n para jubilaci\u00f3n patronal": {},
"Remuneraciones ": {}
},
"OBLIGACIONES TRIBUTARIAS": {
"Contribuciones": {},
"Impuestos": {},
"Otros": {},
"Retenciones": {}
},
"OTROS PASIVOS CORRIENTES": {},
"PASIVO NO FINANCIERO": {
"Deuda Sector No Financiero": {
"Acreedores Varios": {},
"Comisiones por pagar ": {},
"Dividendos por pagar": {},
"Intereses por pagar": {},
"Otras comisiones": {},
"Por Operaciones Burs\u00e1tiles": {},
"Por administraci\u00f3n": {},
"Por custodia": {},
"Proveedores": {}
}
},
"PASIVOS FINANCIEROS": {
"A valor razonable con cambios en resultados": {
"Obligaciones": {},
"Obligaciones por Arrendamiento Financiero ": {},
"Otras En el exterior": {},
"Papel Comercial": {},
"Valores": {},
"Valores de Titularizaci\u00f3n": {}
},
"Cuentas y documentos por pagar": {
"Anticipos recibidos": {},
"Otras cuentas y documentos por pagar": {},
"Pr\u00e9stamos": {}
},
"Obligaciones financieras": {
"Intereses por pagar": {},
"Obligaciones por contratos de underwriting": {},
"Porci\u00f3n corriente de deuda a largo plazo": {},
"Pr\u00e9stamos": {},
"Sobregiros bancarios": {}
},
"Otros pasivos financieros": {},
"Pasivos por compra de activos no corrientes": {},
"Relacionadas": {
"Accionistas": {},
"Administradores": {},
"Compa\u00f1\u00edas relacionadas / vinculadas": {}
}
},
"SANCIONES Y MULTAS": {
"Indemnizaciones": {},
"Litigios": {},
"Obligaciones Judiciales": {},
"Otros": {}
}
},
"PASIVO LARGO PLAZO": {
"DEUDA SECTOR FINANCIERO": {}
},
"PASIVOS NO CORRIENTES": {
"PASIVOS DIFERIDOS": {
"Intereses diferidos": {},
"Pasivos por impuestos diferidos": {}
}
},
"root_type": ""
},
"PATRIMONIO NETO": {
"APORTES PARA FUTURAS CAPITALIZACIONES": {},
"CAPITAL": {
"ACCIONES EN TESORER\u00cdA": {},
"FONDO PATRIMONIAL": {},
"PAGADO": {},
"PATRIMONIO DE LOS FONDOS DE INVERSI\u00d3N": {
"Patrimonio del fondo administrado": {},
"Patrimonio del fondo colectivo": {}
},
"PATRIMONIO DE LOS NEGOCIOS FIDUCIARIOS": {}
},
"RESERVAS ": {
"OTRAS RESERVAS": {},
"RESERVA FACULTATIVA": {},
"RESERVA LEGAL": {},
"RESERVA POR VALUACI\u00d3N": {
"Reserva por Valuaci\u00f3n Activos Financieros Disponibles para la Venta": {},
"Reserva por valuaci\u00f3n Propiedades": {}
}
},
"RESULTADOS": {
"ACUMULADOS": {},
"RESULTADOS ACUMULADOS POR APLICACI\u00d3N DE LAS NIIF POR PRIMERA VEZ": {},
"UTILIDAD (PERDIDA) DEL EJERCICIO": {}
},
"root_type": ""
}
}
}

View File

@@ -1,184 +0,0 @@
{
"country_code": "et",
"name": "Ethiopia - Chart of Accounts",
"tree": {
"ASSETS": {
"Cash and Cash Equivalents": {
"Cash at bank in foreigh currency": {},
"Cash on hand and at bank": {},
"Investments current assets": {},
"Letter of Credit restricted account": {}
},
"Fixed Assets": {
"Construction in Progress": {
"Construction of buildings": {},
"Construction of infrastructure": {}
},
"Property and Equipment": {
"Aircraft, boats, etc": {},
"Buildings": {},
"Furnishings and fixtures": {},
"Infrastructure": {},
"Livestock and tansport animals": {},
"Plant machinery and equipment": {},
"Vehicles and other vehicular transport": {}
}
},
"Goods in Transit": {},
"Investments": {},
"Long Term Loans": {},
"Production Stock": {
"Finished Goods": {},
"Work in Progress": {}
},
"Receivables": {
"Accounts Receivable": {
"Advance to staff": {},
"Cash Registers": {},
"Cash shortage": {},
"Suspense": {},
"Trade Debtors": {},
"VAT Receivable on Purchases": {},
"VAT Withholding Receivable on Sales": {},
"Withholding Receivable on Sales": {}
},
"Other Debtors": {},
"Prepayments": {
"Advance to consultant": {},
"Advance to contractors": {},
"Advance to supplier": {}
}
},
"Stock": {},
"root_type": "Asset"
},
"COST OF GOODS SOLD": {
"Cost of Goods and Services": {},
"Inventory Adjustments": {},
"Other": {},
"Purchase Returns and Allowances": {},
"root_type": "Expense"
},
"EXPENSES": {
"FIXED ASSETS AND CONSTRUCTION": {
"Construction": {
"Construction of buildings": {},
"Construction of infrastructure": {},
"Pre-construction activities": {}
},
"Fixed Assets": {
"Depreciation of buildings, furnishings and fixtures": {},
"Depreciation of livestock and transport animals": {},
"Depreciation of plant, machinery and equipment": {},
"Depreciation of vehicles and other vehicular transport": {}
}
},
"GOODS AND SERVICES": {
"Contracted Services": {
"Advertising": {},
"Contracted professional services": {},
"Electricity charges": {},
"Fees and charges": {},
"Freight": {},
"Insurance": {},
"Rent": {},
"Telecommunication charges": {},
"Water and other utilities": {}
},
"Goods and Supplies": {
"Agriculture, forestry and marine inputs": {},
"Educational supplies": {},
"Food": {},
"Fuel and lubricants": {},
"Medical supplies": {},
"Miscellaneous equipment": {},
"Office supplies": {},
"Other material and supplies": {},
"Printing": {},
"Research and development supplies": {},
"Uniforms, clothing, bedding": {},
"Veterinary supplies and drugs": {}
},
"Maintenance and Repair Services": {
"Maintenance and repair of buildings, furnishings and fixtures": {},
"Maintenance and repair of infrastructure": {},
"Maintenance and repair of plant, machinery, and equipment": {},
"Maintenance and repair of vehicles and other transport": {}
},
"Training Services": {
"External training": {},
"Local training": {}
},
"Travelling and Official Entertainment Services": {
"Official entertainment": {},
"Per diem": {},
"Transport fees": {}
}
},
"OTHER PAYMENTS": {
"Debt Payments": {
"Payments of interest and bank charges on foreign debt": {},
"Payments of interest and bank charges on local debt": {},
"Payments on the principal of foreign debt": {},
"Payments on the principal of local debt": {}
}
},
"PERSONNEL SERVICES": {
"Allowances/benefits": {
"Allowances to contract staff": {},
"Allowances to external contract staff": {},
"Allowances to permanent staff": {}
},
"Compensation": {
"Miscellaneous payments to staff": {},
"Salaries to permanent staff": {},
"Wages to casual staff": {},
"Wages to contract staff": {},
"Wages to external contract staff": {}
},
"Pension Contributions": {
"Contribution to permanent staff pensions": {}
}
},
"root_type": "Expense"
},
"LIABILITIES": {
"Long-Term Debt": {
"Foreign Loans": {
"Commercial Loan": {}
},
"Local Loans": {
"Commercial Loan": {}
}
},
"Payables": {
"Accounts Payable": {
"Federal Income Tax": {},
"Grace period payables": {},
"Pension contribution payable": {},
"Salary payable": {},
"Trade Creditors": {},
"VAT Payable": {},
"Witholding Payable": {}
},
"Deposits": {
"Other deposits": {}
},
"Retentions": {
"Retention on contract": {}
}
},
"root_type": "Liability"
},
"NET ASSETS/EQUITY": {
"Profit and loss account": {},
"Reserves": {},
"Share capital / equity": {},
"root_type": "Equity"
},
"REVENUE": {
"Sales of Goods and Services": {},
"root_type": "Income"
}
}
}

View File

@@ -1,133 +0,0 @@
{
"country_code": "hn",
"name": "Honduras - Plantilla de cuentas de",
"tree": {
"Activo": {
"Activo Corriente": {
"Caja y Bancos": {
"Caja Chica": {}
},
"Cuentas y Documentos por Cobrar": {
"Cuentas por Cobrar Empresas Afilidas": {},
"Cuentas por Cobrar Generales": {},
"Otras Cuentas por Cobrar": {},
"Prestamos al Personal": {}
},
"ISV por Cobrar": {
"ISV por Cobrar": {},
"Retenciones de ISV recibidas": {}
},
"Inventario": {}
},
"Diferido": {
"Gastos Anticipados": {
"Gastos Anticipados": {}
},
"Gastos de Organizaci\u00f3n": {
"Gastos de Organizaci\u00f3n": {}
},
"Gastos por Amortizar": {
"Gastos por Amortizar": {}
},
"Otros Activos": {
"Otros Activos": {}
}
},
"No Corriente": {
"Depreciaciones Acumuladas": {
"Depreciaciones Acumuladas": {}
},
"Propiedad, Planta y Equipo": {
"Propiedad, Planta y Equipo": {}
}
},
"root_type": "Asset"
},
"Pasivo": {
"Cr\u00e9ditos Diferidos": {
"Cr\u00e9ditos Diferidos": {
"Anticipos": {}
}
},
"Pasivo Corto Plazo": {
"Cuentas y Documentos por Pagar": {
"Cuentas y Documentos por Pagar": {}
},
"ISV por Pagar": {
"ISV por Pagar": {}
},
"Impuestos": {
"Impuestos": {}
}
},
"Pasivo a Largo Plazo": {
"Provisi\u00f3n para Indemnizaciones": {
"Provisi\u00f3n para Indemnizaciones": {}
}
},
"root_type": "Liability"
},
"Patrimonio": {
"Patrimonio de los Accionistas": {
"Patrimonio de los Accionistas": {
"Capital Autorizado, Suscr\u00edto y Pagado": {},
"Perdidas y Ganancias": {},
"Reservas": {}
}
},
"root_type": "Asset"
},
"Egresos": {
"Costos": {
"Costos de Ventas": {
"Costos de Ventas": {}
}
},
"root_type": "Expense"
},
"Gastos": {
"Gastos de Operaci\u00f3n": {
"Gastos de Administraci\u00f3n": {
"Gastos de Administraci\u00f3n": {}
},
"Otros Gastos de Operaci\u00f3n": {
"Otros Gastos de Operaci\u00f3n": {}
}
},
"Gastos de Ventas": {
"Gastos de Ventas": {
"Gastos de Ventas": {}
}
},
"Gastos no Deducibles": {
"Gastos no Deducibles": {
"Gastos no Deducibles": {}
}
},
"root_type": "Expense"
},
"Ingresos": {
"Otros Ingresos": {
"Otros Ingresos": {
"Otros Ingresos": {}
}
},
"Ventas": {
"Ventas Netas": {
"Descuentos Sobre Ventas": {},
"Ventas": {}
}
},
"root_type": "Income"
},
"Otros Gastos y Productos Financieros": {
"Otros Gastos y Productos Financieros": {
"Otros Gastos y Productos Financieros": {
"Intereses": {},
"Otros Gastos Financieros": {}
}
},
"root_type": "Expense"
}
}
}

View File

@@ -1,313 +0,0 @@
{
"country_code": "it",
"name": "Italy - Generic Chart of Accounts",
"tree": {
"ATTIVO": {
"CREDITI COMMERCIALI": {
"cambiali all'incasso": {},
"cambiali allo sconto": {},
"cambiali attive": {},
"cambiali insolute": {},
"clienti c/spese anticipate": {
"account_type": "Receivable"
},
"crediti commerciali diversi": {},
"crediti da liquidare": {},
"crediti insoluti": {},
"crediti v/clienti": {
"account_type": "Receivable"
},
"fatture da emettere": {},
"fondo rischi su crediti": {},
"fondo svalutazione crediti": {}
},
"CREDITI DIVERSI": {
"IVA c/acconto": {},
"IVA n/credito": {},
"crediti per IVA": {},
"crediti per cauzioni": {},
"crediti per imposte": {},
"crediti per ritenute subite": {},
"crediti v/istituti previdenziali": {},
"debitori diversi": {
"account_type": "Receivable"
},
"imposte c/acconto": {},
"personale c/acconti": {}
},
"DISPONIBILIT\u00c0 LIQUIDE": {
"assegni": {
"account_type": "Cash"
},
"banche c/c": {
"account_type": "Bank"
},
"c/c postali": {
"account_type": "Bank"
},
"denaro in cassa": {
"account_type": "Cash"
},
"valori bollati": {
"account_type": "Cash"
}
},
"IMMOBILIZZAZIONI FINANZIARIE": {
"mutui attivi": {}
},
"IMMOBILIZZAZIONI IMMATERIALI": {
"avviamento": {},
"costi di impianto": {},
"fondo ammortamento avviamento": {},
"fondo ammortamento costi di impianto": {},
"fondo ammortamento software": {},
"software": {}
},
"IMMOBILIZZAZIONI MATERIALI": {
"arredamento": {},
"attrezzature commerciali": {},
"automezzi": {},
"fabbricati": {},
"fondo ammortamento arredamento": {},
"fondo ammortamento attrezzature commerciali": {},
"fondo ammortamento automezzi": {},
"fondo ammortamento fabbricati": {},
"fondo ammortamento imballaggi durevoli": {},
"fondo ammortamento impianti e macchinari": {},
"fondo ammortamento macchine d'ufficio": {},
"fornitori immobilizzazioni c/acconti": {},
"imballaggi durevoli": {},
"impianti e macchinari": {},
"macchine d'ufficio": {}
},
"RATEI E RISCONTI ATTIVI": {
"ratei attivi": {},
"risconti attivi": {}
},
"RIMANENZE": {
"fornitori c/acconti": {},
"materie di consumo": {},
"merci": {}
},
"root_type": ""
},
"CONTI DI RISULTATO": {
"conto di risultato economico": {},
"root_type": "",
"stato patrimoniale": {}
},
"COSTI DELLA PRODUZIONE": {
"ACCANTONAMENTI": {
"ACCANTONAMENTI PER RISCHI": {
"accantonamento per responsabilit\u00e0 civile": {}
},
"ALTRI ACCANTONAMENTI": {
"accantonamento per manutenzioni programmate": {},
"accantonamento per spese future": {}
}
},
"AMMORTAMENTI IMMOBILIZZAZIONI IMMATERIALI": {
"ammortamento avviamento": {},
"ammortamento costi di impianto": {},
"ammortamento software": {}
},
"AMMORTAMENTI IMMOBILIZZAZIONI MATERIALI": {
"ammortamento arredamento": {},
"ammortamento attrezzature commerciali": {},
"ammortamento automezzi": {},
"ammortamento fabbricati": {},
"ammortamento imballaggi durevoli": {},
"ammortamento impianti e macchinari": {},
"ammortamento macchine d'ufficio": {}
},
"COSTI PER GODIMENTO BENI DI TERZI": {
"canoni di leasing": {},
"fitti passivi": {}
},
"COSTI PER IL PERSONALE": {
"TFRL": {},
"altri costi per il personale": {},
"oneri sociali": {},
"salari e stipendi": {}
},
"COSTI PER SERVIZI": {
"costi di assicurazione": {},
"costi di consulenze": {},
"costi di esercizio automezzi": {},
"costi di manutenzione e riparazione": {},
"costi di pubblicit\u00e0": {},
"costi di trasporto": {},
"costi di vigilanza": {},
"costi per energia": {},
"costi per i locali": {},
"costi postali": {},
"costi telefonici": {},
"provvigioni passive": {},
"spese di incasso": {}
},
"COSTO DEL VENDUTO": {
"materie di consumo c/acquisti": {},
"materie di consumo c/esistenze iniziali": {},
"materie di consumo c/rimanenze finali": {},
"merci c/acquisti": {},
"merci c/apporti": {},
"merci c/esistenze iniziali": {},
"merci c/rimanenze finali": {},
"premi su acquisti": {},
"resi su acquisti": {},
"ribassi e abbuoni attivi": {}
},
"ONERI DIVERSI": {
"arrotondamenti passivi": {},
"insussistenze passive ordinarie diverse": {},
"minusvalenze ordinarie diverse": {},
"oneri fiscali diversi": {},
"oneri vari": {},
"perdite su crediti": {},
"sopravvenienze passive ordinarie diverse": {}
},
"SVALUTAZIONI": {
"svalutazione crediti": {},
"svalutazioni immobilizzazioni immateriali": {},
"svalutazioni immobilizzazioni materiali": {}
},
"root_type": ""
},
"IMPOSTE DELL'ESERCIZIO": {
"imposte dell'esercizio": {},
"root_type": ""
},
"PASSIVO": {
"CONTI DEI SISTEMI SUPPLEMENTARI": {
"banche c/effetti scontati": {},
"beni di terzi": {},
"clienti c/impegni": {},
"creditori c/leasing": {},
"creditori per avalli": {},
"creditori per fideiussioni": {},
"depositanti beni": {},
"fornitori c/impegni": {},
"impegni per beni in leasing": {},
"merci da consegnare": {},
"merci da ricevere": {},
"rischi per avalli": {},
"rischi per effetti scontati": {},
"rischi per fideiussioni": {}
},
"CONTI TRANSITORI E DIVERSI": {
"IVA c/liquidazioni": {},
"banca ... c/c": {},
"bilancio di apertura": {},
"bilancio di chiusura": {},
"istituti previdenziali": {}
},
"DEBITI COMMERCIALI": {
"cambiali passive": {},
"clienti c/acconti": {
"account_type": "Payable"
},
"debiti da liquidare": {},
"debiti v/fornitori": {
"account_type": "Payable"
},
"fatture da ricevere": {}
},
"DEBITI DIVERSI": {
"IVA n/debito": {},
"clienti c/cessione": {},
"creditori diversi": {
"account_type": "Payable"
},
"debiti per cauzioni": {},
"debiti per imposte": {},
"debiti per ritenute da versare": {
"account_type": "Payable"
},
"debiti v/istituti previdenziali": {},
"erario c/IVA": {
"account_type": "Payable"
},
"personale c/liquidazioni": {},
"personale c/retribuzioni": {}
},
"DEBITI FINANZIARI": {
"banche c/RIBA all'incasso": {},
"banche c/anticipi su fatture": {},
"banche c/c passivi": {},
"banche c/cambiali all'incasso": {},
"banche c/sovvenzioni": {},
"debiti v/altri finanziatori": {},
"mutui passivi": {}
},
"FONDI PER RISCHI E ONERI": {
"fondo manutenzioni programmate": {},
"fondo per imposte": {},
"fondo responsabilit\u00e0 civile": {},
"fondo spese future": {}
},
"PATRIMONIO NETTO": {
"patrimonio netto": {},
"perdita d'esercizio": {},
"prelevamenti extra gestione": {},
"titolare c/ritenute subite": {},
"utile d'esercizio": {}
},
"RATEI E RISCONTI PASSIVI": {
"ratei passivi": {},
"risconti passivi": {}
},
"TRATTAMENTO FINE RAPPORTO DI LAVORO": {
"debiti per TFRL": {}
},
"root_type": ""
},
"PROVENTI E ONERI FINANZIARI": {
"ONERI FINANZIARI": {
"interessi passivi bancari": {},
"interessi passivi su mutui": {},
"interessi passivi v/fornitori": {},
"oneri finanziari diversi": {},
"sconti passivi bancari": {}
},
"PROVENTI FINANZIARI": {
"interessi attivi bancari": {},
"interessi attivi postali": {},
"interessi attivi v/clienti": {},
"proventi finanziari diversi": {}
},
"root_type": ""
},
"PROVENTI E ONERI STRAORDINARI": {
"ONERI STRAORDINARI": {
"imposte esercizi precedenti": {},
"insussistenze passive straordinarie": {},
"minusvalenze straordinarie": {},
"sopravvenienze passive straordinarie": {}
},
"PROVENTI STRAORDINARI": {
"insussistenze attive straordinarie": {},
"plusvalenze straordinarie": {},
"sopravvenienze attive straordinarie": {}
},
"root_type": ""
},
"VALORE DELLA PRODUZIONE": {
"RICAVI E PROVENTI DIVERSI": {
"arrotondamenti attivi": {},
"fitti attivi": {},
"insussistenze attive ordinarie diverse": {},
"plusvalenze ordinarie diverse": {},
"proventi vari": {},
"sopravvenienze attive ordinarie diverse": {}
},
"VENDITE E PRESTAZIONI": {
"merci c/vendite": {},
"premi su vendite": {},
"resi su vendite": {},
"ribassi e abbuoni passivi": {},
"rimborsi spese di vendita": {}
},
"root_type": ""
}
}
}

View File

@@ -1,231 +0,0 @@
{
"country_code": "pa",
"name": "Panama - Plan de Cuentas",
"tree": {
"ACTIVOS": {
"Activo Fijo": {
"Activo Fijo / (-) Depreciaci\u00f3n Acumulada": {},
"Activo Fijo / Equipos": {},
"Activo Fijo / Inmuebles": {},
"Activo Fijo / Maquinaria": {},
"Activo Fijo / Material Rodante Motorizado": {}
},
"Activo Intangible": {
"Activo Intangible / (-) Amortizaci\u00f3n Acumulada": {},
"Activo Intangible / Concesiones y Franquicias": {},
"Activo Intangible / Derecho de Llaves": {},
"Activo Intangible / Marcas y Patentes de Invenci\u00f3n": {}
},
"Caja y Bancos": {
"Caja y Bancos - Bancos": {
"Caja y Bancos.../ BCO. CTA CTE PAB": {
"account_type": "Bank"
}
},
"Caja y Bancos - Caja": {
"Caja y Bancos - Caja / efectivo PAB": {
"account_type": "Cash"
}
},
"Caja y Bancos - Fondos fijos": {
"Caja y Bancos - Fondos fijos / caja menuda 01 PAB": {
"account_type": "Cash"
}
},
"Caja y Bancos - Moneda Extranjera": {
"Caja y Bancos - Caja / efectivo USD": {
"account_type": "Cash"
}
},
"Caja y Bancos - Recaudaciones a Depositar ": {
"account_type": "Bank"
},
"Caja y Bancos - Valores a Depositar ": {
"account_type": "Bank"
}
},
"Cuentas por Cobrar": {
"Cuentas por Cobrar / (-) Previsi\u00f3n para Incobrables": {
"account_type": "Receivable"
},
"Cuentas por Cobrar / Deudores Morosos": {
"account_type": "Receivable"
},
"Cuentas por Cobrar / Deudores Varios": {
"account_type": "Receivable"
},
"Cuentas por Cobrar / Deudores en Gesti\u00f3n Judicial": {
"account_type": "Receivable"
},
"Cuentas por Cobrar / Deudores por Ventas": {
"account_type": "Receivable"
}
},
"Inventarios": {
"(-) Previsi\u00f3n para Desvalorizaci\u00f3n de Inventarios": {},
"Inventarios - Mercancias": {
"Inventarios - Mercancias / Categoria de productos 01": {}
},
"Inventarios - Mercancias en Tr\u00e1nsito": {},
"Materiales Varios ": {},
"Materias primas": {},
"Productos Elaborados": {},
"Productos en Curso de Elaboraci\u00f3n": {}
},
"Inversiones Financieras": {
"Inversiones / (-) Previsi\u00f3n para Devalorizaci\u00f3n de Acciones": {},
"Inversiones / Acciones Permanentes": {},
"Inversiones / Acciones Transitorias": {},
"Inversiones / T\u00edtulos P\u00fablicos": {}
},
"Otras Cuentas por Cobrar": {
"Otras Cuentas por Cobrar / (-) Intereses (+) a Devengar": {},
"Otras Cuentas por Cobrar / (-) Previsi\u00f3n para Descuentos": {},
"Otras Cuentas por Cobrar / Accionistas": {},
"Otras Cuentas por Cobrar / Alquileres Pagados por Adelantado": {},
"Otras Cuentas por Cobrar / Anticipo al Personal": {},
"Otras Cuentas por Cobrar / Anticipo de Impuestos": {},
"Otras Cuentas por Cobrar / Anticipos a Proveedores": {},
"Otras Cuentas por Cobrar / Intereses Pagados por Adelantado": {},
"Otras Cuentas por Cobrar / Pr\u00e9stamos otorgados": {}
},
"root_type": "Asset"
},
"PASIVOS": {
"Cuentas por Pagar": {
"Cuentas por Pagar / (-) Intereses a Devengar por Compras al Cr\u00e9dito": {
"account_type": "Payable"
},
"Cuentas por Pagar / Anticipos de Clientes": {
"account_type": "Payable"
},
"Cuentas por Pagar / Proveedores": {
"account_type": "Payable"
}
},
"Impuestos por Pagar": {
"Impuestos por Pagar / ITBMS a Pagar": {},
"Impuestos por Pagar / Impuesto sobre la Renta a Pagar": {}
},
"Otras Cuentas por Pagar": {
"Otras Cuentas por Pagar / Acreedores Varios": {},
"Otras Cuentas por Pagar / Cobros por Adelantado": {},
"Otras Cuentas por Pagar / Dividendos a Pagar": {},
"Otras Cuentas por Pagar / Honorarios Directores y S\u00edndicos a Pagar": {}
},
"Pasivo Circulante": {
"Pasivo Circulante / Adelantos en Cuenta Corriente": {},
"Pasivo Circulante / Debentures Emitidos": {},
"Pasivo Circulante / Intereses a Pagar": {},
"Pasivo Circulante / Obligaciones a Pagar": {},
"Pasivo Circulante / Prestamos": {}
},
"Provisiones": {
"Provisiones / Previsi\u00f3n Indemnizaci\u00f3n por Despidos": {},
"Provisiones / Previsi\u00f3n para Garant\u00edas por Service": {},
"Provisiones / Previsi\u00f3n para juicios Pendientes": {}
},
"Salarios por Pagar": {
"Salarios por Pagar / Cargas Sociales a Pagar": {},
"Salarios por Pagar / Provisi\u00f3n para Sueldo Anual Complementario": {},
"Salarios por Pagar / Retenciones a Depositar": {},
"Salarios por Pagar / Sueldos a Pagar": {}
},
"root_type": "Liability"
},
"PATRIMONIO": {
"Ajustes al Patrimonio": {
"Ajustes al Patrimonio / Revaluo T\u00e9cnico de Activo Fijo": {}
},
"Aportes No Capitalizados": {
"Aportes No Capitalizados / Aportes Irrevocables Futura Suscripci\u00f3n de Acciones": {},
"Aportes No Capitalizados / Primas de Emsi\u00f3n": {}
},
"Capital": {
"Capital / (-) Descuento de Emisi\u00f3n de Acciones": {},
"Capital / Acciones en Circulaci\u00f3n": {},
"Capital / Capital Propio": {},
"Capital / Dividendos a Distribuir en Acciones": {}
},
"Futuras Eventualidades": {
"Reserva Estatutaria": {},
"Reserva Facultativa": {},
"Reserva Legal": {},
"Reserva para Renovaci\u00f3n de Activo Fijo": {}
},
"Resultados No Asignados": {
"Resultado del Ejercicio": {},
"Resultados Acumulados": {},
"Resultados Acumulados del Ejercicio Anterior": {},
"Utilidades y P\u00e9rdidas del Ejercicio": {}
},
"root_type": "Asset"
},
"CUENTAS DE ORDEN ACREEDORAS": {
"Acreedor por Documentos Descontados": {},
"Acreedor por Garant\u00edas Otorgadas": {},
"Comitente por Mercaderias Recibidas en Consignaci\u00f3n": {},
"root_type": "Liability"
},
"CUENTAS DE ORDEN DEUDORAS": {
"Dep\u00f3sito de Valores Recibos en Garant\u00eda": {},
"Documentos Descontados": {},
"Documentos Endosados": {},
"Garantias Otorgadas": {},
"Mercaderias Recibidas en Consignaci\u00f3n": {},
"root_type": "Asset"
},
"COSTOS": {
"Compras": {
"Compras - Categoria de productos 01": {}
},
"Costo de Venta": {
"Costo de Venta - Categoria de productos 01": {}
},
"Costos de Producci\u00f3n": {},
"Gastos de Administraci\u00f3n": {},
"Gastos de Comercializaci\u00f3n": {},
"root_type": "Expense"
},
"GASTOS": {
"Gastos No Operativos": {
"Donaciones Cedidas, Otorgadas": {},
"Gastos en Siniestros": {},
"P\u00e9rdida Venta Activo Fijo": {}
},
"Gastos Operativos": {
"Gastos Bancarios": {},
"Gastos de Publicidad y Propaganda": {},
"Gastos en Amortizaci\u00f3n": {},
"Gastos en Cargas Sociales": {},
"Gastos en Depreciaci\u00f3n de Activo Fijo": {},
"Gastos en Impuestos": {},
"Gastos en Salarios": {},
"Gastos en Servicios P\u00fablicos": {}
},
"root_type": "Expense"
},
"INGRESOS": {
"Ingresos No Operativos": {
"Donaciones obtenidas, ganandas, percibidas": {},
"Ganancia Venta Inversiones Permanentes": {},
"Ganancia Venta de Activo Fijo": {},
"Recupero de Deudores Incobrables": {},
"Recupero de Rezagos": {}
},
"Ingresos Operativos": {
"Alquileres gananados, obtenidos, percibidos": {},
"Comisiones gananados, obtenidos, percibidos": {},
"Descuentos gananados, obtenidos, percibidos": {},
"Ganancia Venta de Acciones": {},
"Honorarios gananados, obtenidos, percibidos": {},
"Interese sobre Inversiones": {},
"Intereses gananados, obtenidos, percibidos": {},
"Ventas": {
"Ventas - Categoria de productos 01": {}
}
},
"root_type": "Income"
}
}
}

View File

@@ -1,497 +0,0 @@
{
"country_code": "pl",
"name": "Poland - Plan kont",
"tree": {
"Aktywa Trwa\u0142e": {
"D\u0142ugoterminowe aktywa finansowe": {
"Inne inwestycje d\u0142ugoterminowe": {
"Inne rodzaje d\u0142ugoterminowych aktyw\u00f3w finansowych": {}
},
"Odpisy aktualizuj\u0105ce d\u0142ugoterminowe aktywa finansowe": {
"Inne d\u0142ugoterminowe aktywa finansowe": {},
"Inne papiery warto\u015bciowe": {},
"Udzia\u0142y lub akcje": {},
"Udzielone po\u017cyczki": {}
},
"W jednostkach powi\u0105zanych": {
"Inne d\u0142ugoterminowe aktywa finansowe": {},
"Inne papiery warto\u015bciowe": {},
"Udzia\u0142y lub akcje": {},
"Udzielone po\u017cyczki": {}
},
"W pozosta\u0142ych jednostkach": {
"Inne d\u0142ugoterminowe aktywa finansowe": {},
"Inne papiery warto\u015bciowe": {},
"Udzia\u0142y lub akcje": {},
"Udzielone po\u017cyczki": {}
}
},
"D\u0142ugoterminowe rozliczenia mi\u0119dzyokresowe": {
"Aktywa z tytu\u0142u odroczonego podatku dochodowego": {},
"Inne rozliczenia mi\u0119dzyokresowe": {}
},
"Inwestycje w nieruchomo\u015bci i prawa": {
"Nieruchomo\u015bci": {},
"Warto\u015bci niematerialne i prawne": {}
},
"Nale\u017cno\u015bci d\u0142ugoterminowe": {
"Od jednostek powi\u0105zanych": {},
"Od pozosta\u0142ych jednostek": {}
},
"Odpisy aktualizuj\u0105ce d\u0142ugoterminowe aktywa finansowe": {
"Odpisy aktualizuj\u0105ce inne rodzaje d\u0142ugoterminowych aktyw\u00f3w finansowych": {},
"Odpisy aktualizuj\u0105ce lokaty": {},
"Odpisy aktualizuj\u0105ce udzia\u0142y i akcje w obcych jednostkach": {},
"Odpisy aktualizuj\u0105ce udzielone po\u017cyczki d\u0142ugoterminowe": {}
},
"Odpisy umorzeniowe \u015brodk\u00f3w trwa\u0142ych oraz warto\u015bci niematerialnych i prawnych": {
"Odpisy umorzeniowe inwestycji w nieruchomo\u015bci i prawa": {
"Odpisy umorzeniowe inwestycji w nieruchomo\u015bci": {},
"Odpisy umorzeniowe inwestycji w warto\u015bci niematerialne i prawne": {}
},
"Odpisy umorzeniowe warto\u015bci niematerialnych i prawnych": {
"Odpisy umorzeniowe innych warto\u015bci niematerialnych i prawnych": {},
"Odpisy umorzeniowe warto\u015bci firmy": {},
"Odpisy umorzeniowe zako\u0144czonych prac rozwojowych": {}
},
"Odpisy umorzeniowe \u015brodk\u00f3w trwa\u0142ych": {
"Odpisy umorzeniowe budynk\u00f3w, lokali i obiekt\u00f3w in\u017cynierii l\u0105dowej i wodnej": {},
"Odpisy umorzeniowe innych \u015brodk\u00f3w trwa\u0142ych": {},
"Odpisy umorzeniowe ulepsze\u0144 obcych \u015brodk\u00f3w trwa\u0142ych": {},
"Odpisy umorzeniowe urz\u0105dze\u0144 technicznych i maszyn": {},
"Odpisy umorzeniowe warto\u015bci grunt\u00f3w i prawa wieczystego u\u017cytkowania grunt\u00f3w": {},
"Odpisy umorzeniowe \u015brodk\u00f3w transportu": {}
}
},
"Warto\u015bci niematerialne i prawne": {
"Inne warto\u015bci niematerialne i prawne": {},
"Koszty zako\u0144czonych prac rozwojowych": {},
"Nabyta warto\u015b\u0107 firmy": {},
"Zaliczki na warto\u015bci niematerialne i prawne": {}
},
"root_type": "",
"\u015arodki Trwa\u0142e": {
"Budynki, lokale i obiekty in\u017cynierii l\u0105dowej i wodnej": {},
"Grunty w\u0142asne i prawa wieczystego u\u017cytkowania grunt\u00f3w": {},
"Inne \u015brodki trwa\u0142e": {},
"Urz\u0105dzenia techniczne i maszyny": {},
"\u015arodki transportu": {}
},
"\u015arodki trwa\u0142e w budowie": {
"Inwestycje budowy \u015brodka trwa\u0142ego": {},
"Nak\u0142ady na budow\u0119 \u015brodka trwa\u0142ego": {},
"Ulepszenia obcych \u015brodk\u00f3w trwa\u0142ych": {},
"Ulepszenia \u015brodka trwa\u0142ego": {},
"Zaliczki na \u015brodki trwa\u0142e w budowie": {}
}
},
"Kapita\u0142y w\u0142asne i wynik finansowy": {
"Fundusze specjalne": {
"Inne fundusze specjalne": {
"Fundusz na remont zasob\u00f3w mieszkaniowych": {},
"Fundusz nagr\u00f3d": {},
"Zak\u0142adowy fundusz rehabilitacji os\u00f3b niepe\u0142nosprawnych": {}
},
"Zak\u0142adowy fundusz \u015bwiadcze\u0144 socjalnych": {}
},
"Kapita\u0142 podstawowy": {},
"Podatek dochodowy i inne obowi\u0105zkowe obci\u0105\u017cenia wyniku finansowego": {
"Inne obowi\u0105zkowe obci\u0105\u017cenia wyniku finansowego": {
"account_type": "Tax"
},
"Podatek dochodowy od os\u00f3b prawnych": {
"account_type": "Tax"
},
"account_type": "Tax"
},
"Pozosta\u0142e kapita\u0142y i fundusze": {
"Kapita\u0142 rezerwowy": {},
"Kapita\u0142 z aktualizacji wyceny": {},
"Kapita\u0142 zapasowy": {},
"Kapita\u0142y wydzielone w jednostce statutowej i zak\u0142adach (oddzia\u0142ach) samodzielnie sporz\u0105dzaj\u0105cych bilans": {}
},
"Rezerwy": {
"Pozosta\u0142e rezerwy": {
"Pozosta\u0142e rezerwy d\u0142ugoterminowe": {},
"Pozosta\u0142e rezerwy kr\u00f3tkoterminowe": {}
},
"Rezerwa na \u015bwiadczenia": {
"Rezerwa d\u0142ugoterminowa na \u015bwiadczenia emerytalne i podobne": {},
"Rezerwa kr\u00f3tkoterminowa na \u015bwiadczenia emerytalne i podobne": {}
},
"Rezerwa z tytu\u0142u odroczonego podatku dochodowego": {}
},
"Rozliczenia mi\u0119dzyokresowe": {
"Inne rozliczenia mi\u0119dzyokresowe": {
"Inne rozliczenia mi\u0119dzyokresowe d\u0142ugoterminowe": {},
"Inne rozliczenia mi\u0119dzyokresowe kr\u00f3tkoterminowe": {}
},
"Ujemna warto\u015b\u0107 firmy": {}
},
"Rozliczenia wyniku finansowego": {},
"Wynik finansowy": {},
"root_type": ""
},
"Koszty wed\u0142ug rodzaj\u00f3w i ich rozliczenie": {
"Amortyzacja": {},
"Koszty wed\u0142ug rodzaj\u00f3w": {
"Podatki i op\u0142aty": {
"Koncesje": {},
"Op\u0142aty i prowizje bankowe": {},
"Op\u0142aty skarbowe": {},
"Op\u0142aty s\u0105dowe, prawnicze i notarialne": {},
"Podatek akcyzowy": {},
"Podatek od nieruchomo\u015bci": {},
"Podatek od \u015brodk\u00f3w transportowych": {},
"Pozosta\u0142e podatki i op\u0142aty": {},
"VAT niepodlegaj\u0105cy odliczeniu": {}
},
"Ubezpieczenia spo\u0142eczne i inne \u015bwiadczenia": {
"Odpisy na zak\u0142adowy fundusz \u015bwiadcze\u0144 socjalnych lub \u015bwiadczenia urlopowe": {},
"Pozosta\u0142e \u015bwiadczenia": {},
"Sk\u0142adki na ubezpieczenia spo\u0142eczne, FP, FG\u015aP": {}
},
"Us\u0142ugi obce": {
"Analizy sanitarne": {},
"Pozosta\u0142e us\u0142ugi": {},
"Us\u0142ugi celne": {},
"Us\u0142ugi graficzne i drukarskie": {},
"Us\u0142ugi kurierskie i transportowe": {},
"Us\u0142ugi pocztowe": {},
"Us\u0142ugi remontowe": {},
"Us\u0142ugi telekomunikacyjne": {}
},
"Wynagrodzenia": {
"Wynagrodzenia os\u00f3b dora\u017anie zatrudnionych": {},
"Wynagrodzenia pracownik\u00f3w": {}
},
"Zu\u017cycie materia\u0142\u00f3w i energii": {
"Zu\u017cycie energii": {},
"Zu\u017cycie innych materia\u0142\u00f3w": {},
"Zu\u017cycie materia\u0142\u00f3w biurowych": {},
"Zu\u017cycie paliwa do \u015brodk\u00f3w transportu": {},
"Zu\u017cycie surowc\u00f3w do wytwarzania produkt\u00f3w": {}
}
},
"Pozosta\u0142e koszty rodzajowe": {},
"Rozliczenie koszt\u00f3w": {
"Koszty nie wliczane do warto\u015bci sprzeda\u017cy": {},
"Koszty zgromadzone": {},
"Nie podlegaj\u0105ce rozliczeniu w czasie": {},
"Przypadaj\u0105ce na przysz\u0142e okresy": {}
},
"root_type": "",
"\u015awiadczenia na rzecz pracownik\u00f3w": {}
},
"Koszty wed\u0142ug typ\u00f3w dzia\u0142alno\u015bci i ich rozliczenie": {
"Koszty dzia\u0142alno\u015bci podstawowej-handlowej": {
"Koszty sprzeda\u017cy wyrob\u00f3w": {},
"Koszty utrzymania punkt\u00f3w sprzeda\u017cy detalicznej": {}
},
"Koszty dzia\u0142alno\u015bci podstawowej-produkcyjnej": {
"Koszty nie zako\u0144czonych d\u0142ugotrwa\u0142ych us\u0142ug": {},
"Koszty utrzymania hurtowni": {},
"Rozliczone koszty dzia\u0142alno\u015bci": {},
"Straty zwi\u0105zane z wykonaniem d\u0142ugotrwa\u0142ych us\u0142ug": {}
},
"Koszty dzia\u0142alno\u015bci pomocniczej": {
"Pozosta\u0142e koszty": {},
"\u015awiadczenia us\u0142ug transportowych": {}
},
"Koszty zarz\u0105du": {
"Koszty zarz\u0105dzania jednostk\u0105": {},
"\u015awiadczenia us\u0142ug na potrzeby reprezentacji i reklamy": {}
},
"Rozliczenie koszt\u00f3w dzia\u0142alno\u015bci": {},
"root_type": ""
},
"Materia\u0142y i towary": {
"Materia\u0142y i opakowania": {
"Materia\u0142y": {},
"Materia\u0142y w przerobie": {},
"Opakowania": {}
},
"Odchylenia od cen ewidencyjnych materia\u0142\u00f3w i towar\u00f3w": {
"Odchylenia od cen ewidencyjnych materia\u0142\u00f3w": {},
"Odchylenia od cen ewidencyjnych opakowa\u0144": {},
"Odchylenia od cen ewidencyjnych towar\u00f3w": {
"Odchylenia od cen ewidencyjnych towar\u00f3w skupu": {},
"Odchylenia od cen ewidencyjnych towar\u00f3w w detalu": {},
"Odchylenia od cen ewidencyjnych towar\u00f3w w hurcie": {},
"Odchylenia od cen ewidencyjnych towar\u00f3w w zak\u0142adach gastronomicznych": {}
},
"Odchylenia z tytu\u0142u aktualizacji warto\u015bci zapas\u00f3w materia\u0142\u00f3w i towar\u00f3w": {}
},
"Rozliczenie zakupu": {
"Niedobory, szkody i nadwy\u017cki w transporcie": {},
"Op\u0142aty manipulacyjne policzone przez Urz\u0105d Celny": {},
"Reklamacje faktur dostawc\u00f3w": {},
"Rozliczenie warto\u015bci materia\u0142\u00f3w i towar\u00f3w w drodze": {},
"Rozliczenie zakupu materia\u0142\u00f3w": {},
"Rozliczenie zakupu sk\u0142adnik\u00f3w aktyw\u00f3w trwa\u0142ych": {},
"Rozliczenie zakupu towar\u00f3w": {},
"Rozliczenie zakupu us\u0142ug obcych": {},
"Warto\u015bci dostaw niefakturowanych": {}
},
"Towary": {
"Nieruchomo\u015bci i prawa maj\u0105tkowe przeznaczone do obrotu": {},
"Towary poza jednostk\u0105": {},
"Towary skupu": {},
"Towary w detalu": {},
"Towary w hurcie": {},
"Towary w zak\u0142adach gastronomicznych": {}
},
"Zapasy obce": {},
"root_type": ""
},
"Produkty i rozliczenia mi\u0119dzyokresowe": {
"Odchylenia od cen ewidencyjnych produkt\u00f3w": {
"Odchylenia od cen ewidencyjnych produkt\u00f3w": {},
"Odchylenia z tytu\u0142u aktualizacji warto\u015bci zapas\u00f3w produkt\u00f3w": {}
},
"Pozosta\u0142e rozliczenia mi\u0119dzyokresowe": {
"Aktywa z tytu\u0142u odroczonego podatku dochodowego": {},
"Inne rozliczenia mi\u0119dzyokresowe": {}
},
"Produkty i p\u00f3\u0142produkty": {
"Produkty gotowe": {
"Produkty gotowe poza jednostk\u0105": {},
"Produkty gotowe w magazynie": {}
},
"P\u00f3\u0142produkty": {}
},
"Rozliczenia mi\u0119dzyokresowe koszt\u00f3w": {
"Bierne rozliczenia mi\u0119dzyokresowe koszt\u00f3w": {},
"Czynne rozliczenia mi\u0119dzyokresowe koszt\u00f3w": {}
},
"root_type": ""
},
"Przychody i koszty zwi\u0105zane z ich osi\u0105gni\u0119ciem": {
"Koszt w\u0142asny obrot\u00f3w wewn\u0119trznych": {
"Koszt wytworzenia produkt\u00f3w uznanych za niedobory": {},
"Koszt wytworzenia wyrob\u00f3w gotowych wydanych do w\u0142asnych sklep\u00f3w": {},
"Koszt wytworzenia zako\u0144czonych prac rozwojowych": {},
"Koszt wytworzenia \u015bwiadcze\u0144 na rzecz \u015brodk\u00f3w trwa\u0142ych w budowie": {},
"Koszt zaniechania okre\u015blonego rodzaju dzia\u0142alno\u015bci": {}
},
"Koszty finansowe": {
"Odpisy z tytu\u0142u utraty warto\u015bci inwestycji-koszty": {},
"Odsetki zap\u0142acone": {},
"Pozosta\u0142e koszty finansowe": {},
"Ujemne r\u00f3\u017cnice kursu walut": {},
"Warto\u015b\u0107 sprzedanych inwestycji": {}
},
"Koszty sprzedanych produkt\u00f3w": {
"Koszt w\u0142asny sprzeda\u017cy produkt\u00f3w na eksport": {},
"Koszt w\u0142asny sprzeda\u017cy produkt\u00f3w na kraj": {},
"Koszt w\u0142asny sprzeda\u017cy us\u0142ug na eksport": {},
"Koszt w\u0142asny sprzeda\u017cy us\u0142ug na kraj": {}
},
"Obroty wewn\u0119trzne": {
"Koszt niedobor\u00f3w produkt\u00f3w": {},
"Koszt wyrob\u00f3w w\u0142asnej produkcji wydanych do w\u0142asnych sklep\u00f3w": {},
"Koszt zaniechania okre\u015blonego rodzaju dzia\u0142alno\u015bci": {},
"\u015awiadczenia na rzecz \u015brodk\u00f3w trwa\u0142ych w budowie": {}
},
"Pozosta\u0142e koszty operacyjne": {
"Dotacje przekazane": {},
"Inne pozosta\u0142e koszty operacyjne": {},
"Odpisy z tytu\u0142u utraty warto\u015bci aktyw\u00f3w niefinansowych": {},
"Warto\u015b\u0107 sprzedanych niefinansowych aktyw\u00f3w trwa\u0142ych": {}
},
"Pozosta\u0142e przychody operacyjne": {
"Inne pozosta\u0142e przychody operacyjne": {},
"Otrzymane dotacje": {},
"Przychody z us\u0142ug socjalnych": {},
"Przychody ze wzrostu warto\u015bci niefinansowych aktyw\u00f3w trwa\u0142ych": {},
"Przychody ze zbycia niefinansowych aktyw\u00f3w trwa\u0142ych": {}
},
"Przychody finansowe": {
"Aktualizacja warto\u015bci inwestycji-przychody": {},
"Dodatnie r\u00f3\u017cnice kursu walut": {},
"Kwoty nale\u017cne z tytu\u0142u dywidend": {},
"Kwoty nale\u017cne ze sprzeda\u017cy aktyw\u00f3w finansowych": {},
"Otrzymane odsetki": {},
"Pozosta\u0142e przychody finansowe": {},
"Przychody ze zbycia inwestycji": {}
},
"Sprzeda\u017c materia\u0142\u00f3w i opakowa\u0144": {
"Sprzeda\u017c materia\u0142\u00f3w": {},
"Sprzeda\u017c odpad\u00f3w": {},
"Sprzeda\u017c opakowa\u0144": {}
},
"Sprzeda\u017c produkt\u00f3w": {
"Sprzeda\u017c produkt\u00f3w na eksport": {},
"Sprzeda\u017c produkt\u00f3w na kraj": {},
"Sprzeda\u017c us\u0142ug na eksport": {},
"Sprzeda\u017c us\u0142ug na kraj": {}
},
"Sprzeda\u017c towar\u00f3w": {
"Prowizja komisowa": {},
"Sprzeda\u017c detaliczna towar\u00f3w": {},
"Sprzeda\u017c hurtowa towar\u00f3w": {},
"Sprzeda\u017c wysy\u0142kowa towar\u00f3w": {}
},
"Straty nadzwyczajne": {},
"Warto\u015b\u0107 sprzedanych materia\u0142\u00f3w i opakowa\u0144": {
"Warto\u015b\u0107 w cenach zakupu sprzedanych materia\u0142\u00f3w": {},
"Warto\u015b\u0107 w cenach zakupu sprzedanych odpad\u00f3w": {},
"Warto\u015b\u0107 w cenach zakupu sprzedanych opakowa\u0144": {}
},
"Warto\u015b\u0107 sprzedanych towar\u00f3w w cenach zakupu": {
"Prowizja komisowa": {},
"Warto\u015b\u0107 sprzedanych towar\u00f3w w sprzeda\u017cy detalicznej": {},
"Warto\u015b\u0107 sprzedanych towar\u00f3w w sprzeda\u017cy hurtowej": {},
"Warto\u015b\u0107 sprzedanych towar\u00f3w w sprzeda\u017cy wysy\u0142kowej": {}
},
"Zyski nadzwyczajne": {},
"root_type": ""
},
"Rozrachunki i roszczenia": {
"Odpisy aktualizuj\u0105ce rozrachunki": {},
"Pozosta\u0142e rozrachunki": {
"Nale\u017cno\u015bci dochodzone na drodze s\u0105dowej": {},
"Pozosta\u0142e rozrachunki": {},
"Po\u017cyczki": {
"Po\u017cyczki otrzymane": {},
"Po\u017cyczki udzielone": {}
},
"Rozliczenie niedobor\u00f3w i nadwy\u017cek": {
"Rozliczenie nadwy\u017cek": {},
"Rozliczenie niedobor\u00f3w": {}
},
"Rozrachunki wewn\u0105trzzak\u0142adowe": {},
"Rozrachunki z tytu\u0142u dop\u0142at i zwrotu dop\u0142at": {},
"Rozrachunki z tytu\u0142u dywidend": {},
"Rozrachunki zwi\u0105zane z kapita\u0142em zak\u0142adowym": {
"Rozrachunki z tytu\u0142u podwy\u017cszenia kapita\u0142u ze \u015brodk\u00f3w w\u0142asnych sp\u00f3\u0142ki": {},
"Rozrachunki z tytu\u0142u umorzenia udzia\u0142\u00f3w w\u0142asnych": {},
"Rozrachunki z tytu\u0142u wk\u0142ad\u00f3w niepieni\u0119\u017cnych na kapita\u0142 zak\u0142adowy": {},
"Rozrachunki z tytu\u0142u wp\u0142at na kapita\u0142 zak\u0142adowy": {}
}
},
"Rozrachunki pozabilansowe": {
"Nale\u017cno\u015bci warunkowe": {},
"Weksle obce dyskontowane lub indosowane": {},
"Zobowi\u0105zania warunkowe": {}
},
"Rozrachunki publicznoprawne": {
"Pozosta\u0142e rozrachunki publicznoprawne": {
"account_type": "Tax"
},
"Pozosta\u0142e rozrachunki z urz\u0119dem skarbowym": {
"account_type": "Tax"
},
"Rozrachunki publicznoprawne z PFRON": {
"account_type": "Tax"
},
"Rozrachunki publicznoprawne z ZUS": {
"account_type": "Tax"
},
"Rozrachunki publicznoprawne z urz\u0119dem celnym": {
"account_type": "Tax"
},
"Rozrachunki publicznoprawne z urz\u0119dem miasta/gminy": {
"account_type": "Tax"
},
"Rozrachunki z urz\u0119dem skarbowym z tytu\u0142u VAT": {
"account_type": "Tax"
},
"Rozrachunki z urz\u0119dem skarbowym z tytu\u0142u VAT nale\u017cnego": {
"Rozliczenie nale\u017cnego VAT 22%": {
"account_type": "Tax"
},
"Rozliczenie nale\u017cnego VAT 23%": {
"account_type": "Tax"
},
"Rozliczenie nale\u017cnego VAT 3%": {
"account_type": "Tax"
},
"Rozliczenie nale\u017cnego VAT 5%": {
"account_type": "Tax"
},
"Rozliczenie nale\u017cnego VAT 7%": {
"account_type": "Tax"
},
"Rozliczenie nale\u017cnego VAT 8%": {
"account_type": "Tax"
},
"account_type": "Tax"
},
"VAT naliczony i jego rozliczenie": {
"Rozliczenie naliczonego VAT 22%": {
"account_type": "Tax"
},
"Rozliczenie naliczonego VAT 23%": {
"account_type": "Tax"
},
"Rozliczenie naliczonego VAT 3%": {
"account_type": "Tax"
},
"Rozliczenie naliczonego VAT 5%": {
"account_type": "Tax"
},
"Rozliczenie naliczonego VAT 7%": {
"account_type": "Tax"
},
"Rozliczenie naliczonego VAT 8%": {
"account_type": "Tax"
}
}
},
"Rozrachunki z dostawcami": {
"account_type": "Payable"
},
"Rozrachunki z odbiorcami": {
"account_type": "Receivable"
},
"Rozrachunki z pracownikami": {
"Inne rozrachunki z pracownikami": {},
"Rozrachunki z tytu\u0142u po\u017cyczek udzielonych pracownikom": {},
"Rozrachunki z tytu\u0142u wynagrodze\u0144": {}
},
"root_type": ""
},
"\u015arodki pieni\u0119\u017cne, rachunki bankowe oraz inne kr\u00f3tkoterminowe aktywa finansowe": {
"Inne aktywa pieni\u0119\u017cne": {},
"Inne \u015brodki pieni\u0119\u017cne": {
"Pozosta\u0142e inne \u015brodki pieni\u0119\u017cne": {}
},
"Kr\u00f3tkoterminowe aktywa finansowe": {
"Kr\u00f3tkoterminowe aktywa finansowe w jednostkach powi\u0105zanych": {
"Inne kr\u00f3tkoterminowe aktywa finansowe": {},
"Inne papiery warto\u015bciowe": {},
"Udzia\u0142y lub akcje": {},
"Udzielone po\u017cyczki": {}
},
"Kr\u00f3tkoterminowe aktywa finansowe w pozosta\u0142ych jednostkach": {
"Inne kr\u00f3tkoterminowe aktywa finansowe": {},
"Inne papiery warto\u015bciowe": {},
"Udzia\u0142y lub akcje": {}
},
"Odpisy aktualizuj\u0105ce kr\u00f3tkoterminowe aktywa finansowe": {}
},
"Kr\u00f3tkoterminowe rozliczenia mi\u0119dzyokresowe": {},
"Lokaty pieni\u0119\u017cne": {
"Inne lokaty pieni\u0119\u017cne": {}
},
"Rachunki i kredyty bankowe": {
"Inne rachunki bankowe": {
"Rachunek bankowy akretytywy": {},
"Rachunek bankowy lokat terminowych": {},
"Rachunek bankowy wyodr\u0119bnionych \u015brodk\u00f3w pieni\u0119\u017cnych ZF\u015aS": {}
},
"Rachunek bie\u017c\u0105cy": {},
"Rachunek \u015brodk\u00f3w walutowych": {},
"Rachunek \u015brodk\u00f3w wyodr\u0119bnionych i zablokowanych": {},
"Rachunki kredyt\u00f3w bankowych": {},
"\u015arodki pieni\u0119\u017cne w drodze": {}
},
"root_type": "",
"\u015arodki pieni\u0119\u017cne w kasie": {
"Kasa krajowych \u015brodk\u00f3w pieni\u0119\u017cnych": {},
"Kasa zagranicznych \u015brodk\u00f3w pieni\u0119\u017cnych": {}
}
}
}
}

View File

@@ -1,847 +0,0 @@
{
"country_code": "pt",
"name": "Portugal - Template do Plano de Contas SNC",
"tree": {
"Capital, reservas e resultados transitados": {
"Ac\u00e7\u00f5es (quotas) pr\u00f3prias": {
"Descontos e pr\u00e9mios": {},
"Valor nominal": {}
},
"Ajustamentos em activos financeiros": {
"Outros": {},
"Relacionados com o m\u00e9todo da equival\u00eancia patrimonial": {
"Ajustamentos de transi\u00e7\u00e3o": {},
"Decorrentes de outras varia\u00e7\u00f5es nos capitais pr\u00f3prios d": {},
"Lucros n\u00e3o atribu\u00eddos": {}
}
},
"Capital": {},
"Excedentes de revalor. de activos fixos tang\u00edveis e int": {
"Outros excedentes": {
"Antes de imposto sobre o rendimento": {},
"Impostos diferidos": {}
},
"Reavalia\u00e7\u00f5es decorrentes de diplomas legais": {
"Antes de imposto sobre o rendimento": {},
"Impostos diferidos": {}
}
},
"Outras varia\u00e7\u00f5es no capital pr\u00f3prio": {
"Ajustamentos por impostos diferidos": {},
"Diferen\u00e7as de convers\u00e3o de demonstra\u00e7\u00f5es financeiras": {},
"Doa\u00e7\u00f5es": {},
"Outras": {},
"Subs\u00eddios": {}
},
"Outros instrumentos de capital pr\u00f3prio": {},
"Pr\u00e9mios de emiss\u00e3o": {},
"Reservas": {
"Outras reservas": {},
"Reservas legais": {}
},
"Resultados transitados": {},
"root_type": ""
},
"Contas a receber e a pagar": {
"Accionistas/s\u00f3cios": {
"Accionistas c. subscri\u00e7\u00e3o": {
"account_type": "Equity"
},
"Adiantamentos por conta de lucros": {
"account_type": "Equity"
},
"Empr\u00e9stimos concedidos empresa m\u00e3e": {
"account_type": "Equity"
},
"Lucros dispon\u00edveis": {
"account_type": "Equity"
},
"Outras opera\u00e7\u00f5es": {
"account_type": "Equity"
},
"Perdas por imparidade acumuladas": {
"account_type": "Equity"
},
"Quotas n\u00e3o liberadas": {
"account_type": "Equity"
},
"Resultados atribu\u00eddos": {
"account_type": "Equity"
},
"account_type": "Equity"
},
"Clientes": {
"Adiantamentos de clientes": {
"account_type": "Receivable"
},
"Clientes c/c": {
"Clientes empreendimentos conjuntos": {
"account_type": "Receivable"
},
"Clientes empresa m\u00e3e": {
"account_type": "Receivable"
},
"Clientes empresas associadas": {
"account_type": "Receivable"
},
"Clientes empresas subsidi\u00e1rias": {
"account_type": "Receivable"
},
"Clientes gerais": {
"account_type": "Receivable"
},
"Clientes outras partes relacionadas": {
"account_type": "Receivable"
},
"account_type": "Receivable"
},
"Clientes t\u00edtulos a receber": {
"Clientes empreendimentos conjuntos": {
"account_type": "Receivable"
},
"Clientes empresa m\u00e3e": {
"account_type": "Receivable"
},
"Clientes empresas associadas": {
"account_type": "Receivable"
},
"Clientes empresas subsidi\u00e1rias": {
"account_type": "Receivable"
},
"Clientes gerais": {
"account_type": "Receivable"
},
"Clientes outras partes relacionadas": {
"account_type": "Receivable"
},
"account_type": "Receivable"
},
"Perdas por imparidade acumuladas": {
"account_type": "Receivable"
},
"account_type": "Receivable"
},
"Diferimentos": {
"Gastos a reconhecer": {
"account_type": "Equity"
},
"Rendimentos a reconhecer": {
"account_type": "Equity"
},
"account_type": "Equity"
},
"Estado e outros entes p\u00fablicos": {
"Contribui\u00e7\u00f5es para a seguran\u00e7a social": {
"account_type": "Tax"
},
"Imposto sobre o rendimento": {
"account_type": "Tax"
},
"Imposto sobre o valor acrescentado": {
"Iva a pagar": {
"account_type": "Tax"
},
"Iva a recuperar": {
"account_type": "Tax"
},
"Iva apuramento": {
"account_type": "Tax"
},
"Iva dedut\u00edvel": {
"account_type": "Tax"
},
"Iva liquidado": {
"account_type": "Tax"
},
"Iva liquida\u00e7\u00f5es oficiosas": {
"account_type": "Tax"
},
"Iva reembolsos pedidos": {
"account_type": "Tax"
},
"Iva regulariza\u00e7\u00f5es": {
"account_type": "Tax"
},
"Iva suportado": {
"account_type": "Tax"
},
"account_type": "Tax"
},
"Outras tributa\u00e7\u00f5es": {
"account_type": "Tax"
},
"Outros impostos": {
"account_type": "Tax"
},
"Reten\u00e7\u00e3o de impostos sobre rendimentos": {
"account_type": "Tax"
},
"Tributos das autarquias locais": {
"account_type": "Tax"
},
"account_type": "Tax"
},
"Financiamentos obtidos": {
"Institui\u00e7\u00f5es de cr\u00e9dito e sociedades financeiras": {
"Descobertos banc\u00e1rios": {
"account_type": "Equity"
},
"Empr\u00e9stimos banc\u00e1rios": {
"account_type": "Equity"
},
"Loca\u00e7\u00f5es financeiras": {
"account_type": "Equity"
},
"account_type": "Equity"
},
"Mercado de valores mobili\u00e1rios": {
"Empr\u00e9stimos por obriga\u00e7\u00f5es": {
"account_type": "Equity"
},
"account_type": "Equity"
},
"Outros financiadores": {
"account_type": "Equity"
},
"Participantes de capital": {
"Empresa m\u00e3e suprimentos e outros m\u00fatuos": {
"account_type": "Equity"
},
"Outros participantes suprimentos e outros m\u00fatuos": {
"account_type": "Equity"
},
"account_type": "Equity"
},
"Subsidi\u00e1rias, associadas e empreendimentos conjuntos": {
"account_type": "Equity"
},
"account_type": "Equity"
},
"Fornecedores": {
"Adiantamentos a fornecedores": {
"account_type": "Payable"
},
"Facturas em recep\u00e7\u00e3o e confer\u00eancia": {
"account_type": "Payable"
},
"Fornecedores c/c": {
"Fornecedores empreendimentos conjuntos": {
"account_type": "Payable"
},
"Fornecedores empresa m\u00e3e": {
"account_type": "Payable"
},
"Fornecedores empresas associadas": {
"account_type": "Payable"
},
"Fornecedores empresas subsidi\u00e1rias": {
"account_type": "Payable"
},
"Fornecedores gerais": {
"account_type": "Payable"
},
"Fornecedores outras partes relacionadas": {
"account_type": "Payable"
},
"account_type": "Payable"
},
"Fornecedores t\u00edtulos a pagar": {
"Fornecedores empreendimentos conjuntos": {
"account_type": "Payable"
},
"Fornecedores empresa m\u00e3e": {
"account_type": "Payable"
},
"Fornecedores empresas associadas": {
"account_type": "Payable"
},
"Fornecedores empresas subsidi\u00e1rias": {
"account_type": "Payable"
},
"Fornecedores gerais": {
"account_type": "Payable"
},
"Fornecedores outras partes relacionadas": {
"account_type": "Payable"
},
"account_type": "Payable"
},
"Perdas por imparidade acumuladas": {
"account_type": "Payable"
},
"account_type": "Payable"
},
"Outras contas a receber e a pagar": {
"Adiantamentos por conta de vendas": {
"account_type": "Equity"
},
"Benef\u00edcios p\u00f3s emprego": {
"account_type": "Equity"
},
"Credores por subscri\u00e7\u00f5es n\u00e3o liberadas": {
"account_type": "Equity"
},
"Devedores e credores por acr\u00e9scimos": {
"Credores por acr\u00e9scimos de gastos": {
"account_type": "Equity"
},
"Devedores por acr\u00e9scimo de rendimentos": {
"account_type": "Equity"
},
"account_type": "Equity"
},
"Fornecedores de investimentos": {
"Adiantamentos a fornecedores de investimentos": {
"account_type": "Equity"
},
"Facturas em recep\u00e7\u00e3o e confer\u00eancia": {
"account_type": "Equity"
},
"Fornecedores de investimentos contas gerais": {
"account_type": "Equity"
},
"account_type": "Equity"
},
"Impostos diferidos": {
"Activos por impostos diferidos": {
"account_type": "Equity"
},
"Passivos por impostos diferidos": {
"account_type": "Equity"
},
"account_type": "Equity"
},
"Outros devedores e credores": {
"account_type": "Equity"
},
"Perdas por imparidade acumuladas": {
"account_type": "Equity"
},
"account_type": "Equity"
},
"Pessoal": {
"Adiantamentos": {
"Ao pessoal": {
"account_type": "Payable"
},
"Aos \u00f3rg\u00e3os sociais": {
"account_type": "Payable"
},
"account_type": "Payable"
},
"Cau\u00e7\u00f5es": {
"Do pessoal": {
"account_type": "Payable"
},
"Dos \u00f3rg\u00e3os sociais": {
"account_type": "Payable"
},
"account_type": "Payable"
},
"Outras opera\u00e7\u00f5es": {
"Com o pessoal": {
"account_type": "Payable"
},
"Com os \u00f3rg\u00e3os sociais": {
"account_type": "Payable"
},
"account_type": "Payable"
},
"Perdas por imparidade acumuladas": {
"account_type": "Payable"
},
"Remunera\u00e7\u00f5es a pagar": {
"Ao pessoal": {
"account_type": "Payable"
},
"Aos \u00f3rg\u00e3os sociais": {
"account_type": "Payable"
},
"account_type": "Payable"
},
"account_type": "Payable"
},
"Provis\u00f5es": {
"Acidentes de trabalho e doen\u00e7as profissionais": {
"account_type": "Equity"
},
"Contratos onerosos": {
"account_type": "Equity"
},
"Garantias a clientes": {
"account_type": "Equity"
},
"Impostos": {
"account_type": "Equity"
},
"Mat\u00e9rias ambientais": {
"account_type": "Equity"
},
"Outras provis\u00f5es": {
"account_type": "Equity"
},
"Processos judiciais em curso": {
"account_type": "Equity"
},
"Reestrutura\u00e7\u00e3o": {
"account_type": "Equity"
},
"account_type": "Equity"
},
"root_type": ""
},
"Gastos": {
"Custo das mercadorias vendidas e mat\u00e9rias consumidas": {
"Activos biol\u00f3gicos (compras)": {},
"Mat\u00e9rias primas, subsidi\u00e1rias e de consumo": {},
"Mercadorias": {}
},
"Fornecimentos e servi\u00e7os externos": {
"Desloca\u00e7\u00f5es, estadas e transportes": {
"Desloca\u00e7\u00f5es e estadas": {},
"Outros": {},
"Transporte de pessoal": {},
"Transportes de mercadorias": {}
},
"Energia e flu\u00eddos": {
"Combust\u00edveis": {},
"Electricidade": {},
"Outros": {},
"\u00c1gua": {}
},
"Materiais": {
"Artigos de oferta": {},
"Ferramentas e utens\u00edlios de desgaste r\u00e1pido": {},
"Livros de documenta\u00e7\u00e3o t\u00e9cnica": {},
"Material de escrit\u00f3rio": {},
"Outros": {}
},
"Servi\u00e7os diversos": {
"Comunica\u00e7\u00e3o": {},
"Contencioso e notariado": {},
"Despesas de representa\u00e7\u00e3o": {},
"Limpeza, higiene e conforto": {},
"Outros servi\u00e7os": {},
"Rendas e alugueres": {},
"Royalties": {},
"Seguros": {}
},
"Subcontratos": {},
"Trabalhos especializados": {
"Comiss\u00f5es": {},
"Conserva\u00e7\u00e3o e repara\u00e7\u00e3o": {},
"Honor\u00e1rios": {},
"Outros": {},
"Publicidade e propaganda": {},
"Trabalhos especializados": {},
"Vigil\u00e2ncia e seguran\u00e7a": {}
}
},
"Gastos com o pessoal": {
"Benef\u00edcios p\u00f3s emprego": {
"Outros benef\u00edcios": {},
"Pr\u00e9mios para pens\u00f5es": {}
},
"Encargos sobre remunera\u00e7\u00f5es": {},
"Gastos de ac\u00e7\u00e3o social": {},
"Indemniza\u00e7\u00f5es": {},
"Outros gastos com o pessoal": {},
"Remunera\u00e7\u00f5es do pessoal": {},
"Remunera\u00e7\u00f5es dos \u00f3rg\u00e3os sociais": {},
"Seguros de acidentes no trabalho e doen\u00e7as profissionais": {}
},
"Gastos de deprecia\u00e7\u00e3o e de amortiza\u00e7\u00e3o": {
"Activos fixos tang\u00edveis": {},
"Activos intang\u00edveis": {},
"Propriedades de investimento": {}
},
"Gastos e perdas de financiamento": {
"Diferen\u00e7as de c\u00e2mbio desfavor\u00e1veis": {
"Outras": {},
"Relativos a financiamentos obtidos": {}
},
"Juros suportados": {
"Juros de financiamento obtidos": {},
"Outros juros": {}
},
"Outros gastos e perdas de financiamento": {
"Outros": {},
"Relativos a financiamentos obtidos": {}
}
},
"Outros gastos e perdas": {
"Descontos de pronto pagamento concedidos": {},
"D\u00edvidas incobr\u00e1veis": {},
"Gastos e perdas em investimentos n\u00e3o financeiros": {
"Abates": {},
"Aliena\u00e7\u00f5es": {},
"Gastos em propriedades de investimento": {},
"Outros gastos e perdas": {},
"Sinistros": {}
},
"Gastos e perdas em subsid. , assoc. e empreend. conjuntos": {
"Aliena\u00e7\u00f5es": {},
"Aplica\u00e7\u00e3o do m\u00e9todo da equival\u00eancia patrimonial": {},
"Cobertura de preju\u00edzos": {},
"Outros gastos e perdas": {}
},
"Gastos e perdas nos restantes investimentos financeiros": {
"Aliena\u00e7\u00f5es": {},
"Cobertura de preju\u00edzos": {},
"Outros gastos e perdas": {}
},
"Impostos": {
"Impostos directos": {},
"Impostos indirectos": {},
"Taxas": {}
},
"Outros": {
"Correc\u00e7\u00f5es relativas a per\u00edodos anteriores": {},
"Donativos": {},
"Insufici\u00eancia da estimativa para impostos": {},
"Ofertas e amostras de invent\u00e1rios": {},
"Outros n\u00e3o especificados": {},
"Perdas em instrumentos financeiros": {},
"Quotiza\u00e7\u00f5es": {}
},
"Perdas em invent\u00e1rios": {
"Outras perdas": {},
"Quebras": {},
"Sinistros": {}
}
},
"Perdas por imparidade": {
"Em activos fixos tang\u00edveis": {},
"Em activos intang\u00edveis": {},
"Em activos n\u00e3o correntes detidos para venda": {},
"Em d\u00edvidas a receber": {
"Clientes": {},
"Outros devedores": {}
},
"Em invent\u00e1rios": {},
"Em investimentos em curso": {},
"Em investimentos financeiros": {},
"Em propriedades de investimento": {}
},
"Perdas por redu\u00e7\u00f5es de justo valor": {
"Em activos biol\u00f3gicos": {},
"Em instrumentos financeiros": {},
"Em investimentos financeiros": {},
"Em propriedades de investimento": {}
},
"Provis\u00f5es do per\u00edodo": {
"Acidentes de trabalho e doen\u00e7as profissionais": {},
"Contratos onerosos": {},
"Garantias a clientes": {},
"Impostos": {},
"Mat\u00e9rias ambientais": {},
"Outras provis\u00f5es": {},
"Processos judiciais em curso": {},
"Reestrutura\u00e7\u00e3o": {}
},
"root_type": ""
},
"Invent\u00e1rios e activos biol\u00f3gicos": {
"Activos biol\u00f3gicos": {
"Consum\u00edveis": {
"Animais": {},
"Plantas": {}
},
"De produ\u00e7\u00e3o": {
"Animais": {},
"Plantas": {}
}
},
"Adiantamentos por conta de compras": {},
"Compras": {
"Activos biol\u00f3gicos": {},
"Descontos e abatimentos em compras": {},
"Devolu\u00e7\u00f5es de compras": {},
"Mat\u00e9rias primas, subsidi\u00e1rias e de consumo": {},
"Mercadorias": {}
},
"Mat\u00e9rias primas, subsidi\u00e1rias e de consumo": {
"Embalagens": {},
"Materiais diversos": {},
"Mat\u00e9rias em tr\u00e2nsito": {},
"Mat\u00e9rias primas": {},
"Mat\u00e9rias subsidi\u00e1rias": {},
"Perdas por imparidade acumuladas": {}
},
"Mercadorias": {
"Mercadorias em poder de terceiros": {},
"Mercadorias em tr\u00e2nsito": {},
"Perdas por imparidade acumuladas": {}
},
"Produtos acabados e interm\u00e9dios": {
"Perdas por imparidade acumuladas": {},
"Produtos em poder de terceiros": {}
},
"Produtos e trabalhos em curso": {},
"Reclassifica\u00e7\u00e3o e regular. de invent. e activos biol\u00f3g.": {
"Activos biol\u00f3gicos": {},
"Mat\u00e9rias primas, subsidi\u00e1rias e de consumo": {},
"Mercadorias": {},
"Produtos acabados e interm\u00e9dios": {},
"Produtos e trabalhos em curso": {},
"Subprodutos, desperd\u00edcios, res\u00edduos e refugos": {}
},
"Subprodutos, desperd\u00edcios, res\u00edduos e refugos": {
"Desperd\u00edcios, res\u00edduos e refugos": {},
"Perdas por imparidade acumuladas": {},
"Subprodutos": {}
},
"root_type": ""
},
"Investimentos": {
"Activo fixos tang\u00edveis": {
"Deprecia\u00e7\u00f5es acumuladas": {},
"Edif\u00edcios e outras constru\u00e7\u00f5es": {},
"Equipamento administrativo": {},
"Equipamento b\u00e1sico": {},
"Equipamento de transporte": {},
"Equipamentos biol\u00f3gicos": {},
"Outros activos fixos tang\u00edveis": {},
"Perdas por imparidade acumuladas": {},
"Terrenos e recursos naturais": {}
},
"Activos intang\u00edveis": {
"Deprecia\u00e7\u00f5es acumuladas": {},
"Goodwill": {},
"Outros activos intang\u00edveis": {},
"Perdas por imparidade acumuladas": {},
"Programas de computador": {},
"Projectos de desenvolvimento": {},
"Propriedade industrial": {}
},
"Activos n\u00e3o correntes detidos para venda": {
"Perdas por imparidade acumuladas": {}
},
"Investimentos em curso": {
"Activos fixos tang\u00edveis em curso": {},
"Activos intang\u00edveis em curso": {},
"Adiantamentos por conta de investimentos": {},
"Investimentos financeiros em curso": {},
"Perdas por imparidade acumuladas": {},
"Propriedades de investimento em curso": {}
},
"Investimentos financeiros": {
"Investimentos em associadas": {
"Empr\u00e9stimos concedidos": {},
"Participa\u00e7\u00f5es de capital m\u00e9todo da equiv. patrimonial": {},
"Participa\u00e7\u00f5es de capital outros m\u00e9todos": {}
},
"Investimentos em entidades conjuntamente controladas": {
"Empr\u00e9stimos concedidos": {},
"Participa\u00e7\u00f5es de capital m\u00e9todo da equiv. patrimonial": {},
"Participa\u00e7\u00f5es de capital outros m\u00e9todos": {}
},
"Investimentos em subsidi\u00e1rias": {
"Empr\u00e9stimos concedidos": {},
"Participa\u00e7\u00f5es de capital m\u00e9todo da equiv. patrimonial": {},
"Participa\u00e7\u00f5es de capital outros m\u00e9todos": {}
},
"Investimentos noutras empresas": {
"Empr\u00e9stimos concedidos": {},
"Participa\u00e7\u00f5es de capital": {}
},
"Outros investimentos financeiros": {
"Ac\u00e7\u00f5es da sgm (6500x1,00)": {},
"Detidos at\u00e9 \u00e0 maturidade": {}
},
"Perdas por imparidade acumuladas": {}
},
"Propriedades de investimento": {
"Deprecia\u00e7\u00f5es acumuladas": {},
"Edif\u00edcios e outras constru\u00e7\u00f5es": {},
"Outras propriedades de investimento": {},
"Perdas por imparidade acumuladas": {},
"Terrenos e recursos naturais": {}
},
"root_type": ""
},
"Meios financeiros l\u00edquidos": {
"Caixa": {
"account_type": "Cash"
},
"Dep\u00f3sitos \u00e0 ordem": {
"account_type": "Cash"
},
"Outros dep\u00f3sitos banc\u00e1rios": {
"account_type": "Cash"
},
"Outros instrumentos financeiros": {
"Derivados": {
"Potencialmente desfavor\u00e1veis": {
"account_type": "Cash"
},
"Potencialmente favor\u00e1veis": {
"account_type": "Cash"
},
"account_type": "Cash"
},
"Instrumentos financeiros detidos para negocia\u00e7\u00e3o": {
"Activos financeiros": {
"account_type": "Cash"
},
"Passivos financeiros": {
"account_type": "Cash"
},
"account_type": "Cash"
},
"Outros activos e passivos financeiros": {
"Outros activos financeiros": {
"account_type": "Cash"
},
"Outros passivos financeiros": {
"account_type": "Cash"
},
"account_type": "Cash"
},
"account_type": "Cash"
},
"root_type": ""
},
"Rendimentos": {
"Ganhos por aumentos de justo valor": {
"Em activos biol\u00f3gicos": {},
"Em instrumentos financeiros": {},
"Em investimentos financeiros": {},
"Em propriedades de investimento": {}
},
"Juros, dividendos e outros rendimentos similares": {
"Dividendos obtidos": {
"De aplica\u00e7\u00f5es de meios financeiros l\u00edquidos": {},
"De associadas e empreendimentos conjuntos": {},
"De subsidi\u00e1rias": {},
"Outras": {}
},
"Juros obtidos": {
"De dep\u00f3sitos": {},
"De financiamentos concedidos a associadas e emp. conjun": {},
"De financiamentos concedidos a subsidi\u00e1rias": {},
"De financiamentos obtidos": {},
"De outras aplica\u00e7\u00f5es de meios financeiros l\u00edquidos": {},
"De outros financiamentos obtidos": {}
},
"Outros rendimentos similares": {}
},
"Outros rendimentos e ganhos": {
"Descontos de pronto pagamento obtidos": {},
"Ganhos em invent\u00e1rios": {
"Outros ganhos": {},
"Sinistros": {},
"Sobras": {}
},
"Outros": {
"Correc\u00e7\u00f5es relativas a per\u00edodos anteriores": {},
"Excesso da estimativa para impostos": {},
"Ganhos em outros instrumentos financeiros": {},
"Imputa\u00e7\u00e3o de subs\u00eddios para investimentos": {},
"Outros n\u00e3o especificados": {},
"Restitui\u00e7\u00e3o de impostos": {}
},
"Recupera\u00e7\u00e3o de d\u00edvidas a receber": {},
"Rendimentos e ganhos em investimentos n\u00e3o financeiros": {
"Aliena\u00e7\u00f5es": {},
"Outros rendimentos e ganhos": {},
"Rendas e outros rendimentos em propriedades de investimento": {},
"Sinistros": {}
},
"Rendimentos e ganhos em subsidi\u00e1rias, associadas e empr": {
"Aliena\u00e7\u00f5es": {},
"Aplica\u00e7\u00e3o do m\u00e9todo da equival\u00eancia patrimonial": {},
"Outros rendimentos e ganhos": {}
},
"Rendimentos e ganhos nos restantes activos financeiros": {
"Aliena\u00e7\u00f5es": {},
"Diferen\u00e7as de c\u00e2mbio favor\u00e1veis": {},
"Outros rendimentos e ganhos": {}
},
"Rendimentos suplementares": {
"Aluguer de equipamento": {},
"Desempenho de cargos sociais noutras empresas": {},
"Estudos, projectos e assist\u00eancia tecnol\u00f3gica": {},
"Outros rendimentos suplementares": {},
"Royalties": {},
"Servi\u00e7os sociais": {}
}
},
"Presta\u00e7\u00f5es de servi\u00e7os": {
"Descontos e abatimentos": {},
"Iva dos servi\u00e7os com imposto inclu\u00eddo": {},
"Servi\u00e7o a": {},
"Servi\u00e7o b": {},
"Servi\u00e7os secund\u00e1rios": {}
},
"Revers\u00f5es": {
"De deprecia\u00e7\u00f5es e de amortiza\u00e7\u00f5es": {
"Activos fixos tang\u00edveis": {},
"Activos intang\u00edveis": {},
"Propriedades de investimento": {}
},
"De perdas por imparidade": {
"Em activos fixos tang\u00edveis": {},
"Em activos intang\u00edveis": {},
"Em activos n\u00e3o correntes detidos para venda": {},
"Em d\u00edvidas a receber": {
"Clientes": {},
"Outros devedores": {}
},
"Em invent\u00e1rios": {},
"Em investimentos em curso": {},
"Em investimentos financeiros": {},
"Em propriedades de investimento": {}
},
"De provis\u00f5es": {
"Acidentes no trabalho e doen\u00e7as profissionais": {},
"Contratos onerosos": {},
"Garantias a clientes": {},
"Impostos": {},
"Mat\u00e9rias ambientais": {},
"Outras provis\u00f5es": {},
"Processos judiciais em curso": {},
"Reestrutura\u00e7\u00e3o": {}
}
},
"Subs\u00eddios \u00e0 explora\u00e7\u00e3o": {
"Subs\u00eddios de outras entidades": {},
"Subs\u00eddios do estado e outros entes p\u00fablicos": {}
},
"Trabalhos para a pr\u00f3pria entidade": {
"Activos fixos tang\u00edveis": {},
"Activos intang\u00edveis": {},
"Activos por gastos diferidos": {},
"Propriedades de investimento": {}
},
"Varia\u00e7\u00f5es nos invent\u00e1rios da produ\u00e7\u00e3o": {
"Activos biol\u00f3gicos": {},
"Produtos acabados e interm\u00e9dios": {},
"Produtos e trabalhos em curso": {},
"Subprodutos, desperd\u00edcios, res\u00edduos e refugos": {}
},
"Vendas": {
"Activos biol\u00f3gicos": {},
"Descontos e abatimentos em vendas": {},
"Devolu\u00e7\u00f5es de vendas": {},
"Iva das vendas com imposto inclu\u00eddo": {},
"Mercadoria": {},
"Produtos acabados e interm\u00e9dios": {},
"Subprodutos, desperd\u00edcios, res\u00edduos e refugos": {}
},
"root_type": ""
},
"Resultados": {
"Dividendos antecipados": {},
"Resultado l\u00edquido do per\u00edodo": {
"Impostos sobre o rendimento do per\u00edodo": {
"Imposto diferido": {},
"Imposto estimado para o per\u00edodo": {}
},
"Resultado antes de impostos": {},
"Resultado l\u00edquido": {}
},
"root_type": ""
}
}
}

View File

@@ -1,813 +0,0 @@
{
"country_code": "ro",
"name": "Romania - Chart of Accounts",
"tree": {
"CONTURI FINANCIARE": {
"CONTURI DE BILANT": {
"CONTURI DE CAPITALURI": {
"CAPITAL SI REZERVER": {
"Actiuni proprii": {
"Actiuni proprii detinute pe termen lung": {},
"Actiuni proprii detinute pe termen scurt": {}
},
"Capital": {
"Capital subscris nevarsat": {},
"Capital subscris varsat": {},
"Patrimoniul public": {},
"Patrimoniul regiei": {}
},
"Interese care nu controleaza": {
"Interese care nu controleaza - alte capitaluri proprii": {},
"Interese care nu controleaza - rezultatul exercitiului financiar": {}
},
"Prime de capital": {
"Prime de aport": {},
"Prime de conversie a obligatiunilor in actiuni": {},
"Prime de emisiune": {},
"Prime de fuziune/divizare": {}
},
"Rezerve": {
"Alte rezerve": {},
"Rezerve de valoare justa": {},
"Rezerve din diferente de curs valutar in relatie cu investitia neta intr-o entitate straina": {},
"Rezerve legale": {},
"Rezerve reprezentand surplusul realizat din rezerve din reevaluare": {},
"Rezerve statutare sau contractuale": {}
},
"Rezerve din conversie": {},
"Rezerve din reevaluare": {}
},
"CASTIGURI SAU PIERDERI LEGATE DE EMITEREA,RASCUMPARAREA,VANZAREA,CEDAREA CU TITLU GRATUIT SAU ANULAREA INSTRUM.DE CAPITALURI PROPRII": {
"Castiguri legate de vanzarea sau anularea instrumentelor de capitaluri proprii.": {},
"Pierderi legate de emiterea, rascumpararea, vanzarea, cedarea cu titlu gratuit sau anularea instrumentelor de capitaluri proprii.": {}
},
"IMPRUMUTURI SI DATORII ASIMILATE": {
"Alte imprumuturi si datorii asimilate": {},
"Credite bancare pe termen lung": {
"Credite bancare externe garantate de banci": {},
"Credite bancare externe garantate de stat": {},
"Credite bancare interne garantate de stat": {},
"Credite bancare pe termen lung": {},
"Credite bancare pe termen lung nerambursate la scadenta": {},
"Credite de la trezoreria statului": {},
"Credite externe guvernamentale": {}
},
"Datorii care privesc imobilizarile financiare": {
"Datorii fata de entitatile afiliate": {},
"Datorii fata de entitatile de care compania este legata prin interese de participare": {}
},
"Dobanzi aferente imprumuturilor si datoriilor asimilate": {
"Dobanzi aferente altor imprumuturi si datorii asimilate": {},
"Dobanzi aferente creditelor bancare pe termen lung": {},
"Dobanzi aferente datoriilor fata de entitatile afiliate": {},
"Dobanzi aferente datoriilor fata de entitatile de care compania este legata prin interese de participare": {},
"Dobanzi aferente imprumuturilor din emisiunile de obligatiuni": {}
},
"Imprumuturi din emisiuni de obligatiuni": {
"Alte imprumuturi din emisiuni de obligatiuni": {},
"Imprumuturi externe din emisiuni de obligatiuni garantate de banci": {},
"Imprumuturi externe din emisiuni de obligatiuni garantate de stat": {},
"Imprumuturi interne din emisiuni de obligatiuni garantate de stat": {}
},
"Prime privind rambursarea obligatiunilor": {}
},
"PROVIZIOANE": {
"Provizioane": {
"Alte provizioane": {},
"Provizioane pentru dezafectare imobilizari corporale si alte actiuni legate de acestea": {},
"Provizioane pentru garantii acordate clientilor": {},
"Provizioane pentru impozite": {},
"Provizioane pentru litigii": {},
"Provizioane pentru pensii si obligatii similare": {},
"Provizioane pentru restructurare": {}
}
},
"REZULTATUL EXERCITIULUI FINANCIAR": {
"Profit sau pierdere": {},
"Repartizarea profitului": {}
},
"REZULTATUL REPORTAT": {
"Rezultatul reportat": {
"Rezultatul reportat provenit din adoptarea pentru prima data a IAS, mai pu\u00fein IAS 29": {},
"Rezultatul reportat provenit din corectarea erorilor contabile": {},
"Rezultatul reportat reprezentand profitul nerepartizat sau pierderea neacoperita": {}
}
}
},
"CONTURI DE IMOBILIZARI": {
"AJUSTARI PENTRU DEPRECIEREA SAU PIERDEREA DE VALOARE A IMOBILIZARILOR": {
"Ajustari pentru deprecierea imobilizarilor corporale": {
"Ajustari pentru deprecierea altor imobilizari corporale": {},
"Ajustari pentru deprecierea constructiilor": {},
"Ajustari pentru deprecierea instalatiilor, mijloacelor de transport, animalelor si plantatiilor": {},
"Ajustari pentru deprecierea terenurilor si amenajarilor de terenuri": {}
},
"Ajustari pentru deprecierea imobilizarilor in curs de executie": {
"Ajustari pentru deprecierea imobilizarilor corporale in curs de executie": {},
"Ajustari pentru deprecierea imobilizarilor necorporale in curs de executie": {}
},
"Ajustari pentru deprecierea imobilizarilor necorporale": {
"Ajustari pentru deprecierea altor imobilizari necorporale": {},
"Ajustari pentru deprecierea cheltuielilor de dezvoltare": {},
"Ajustari pentru deprecierea concesiunilor, brevetelor, licentelor, marcilor comerciale, drepturilor si activelor similare": {},
"Ajustari pentru deprecierea fondului comercial": {}
},
"Ajustari pentru pierderea de valoare a imobilizarilor financiare": {
"Ajustari pentru pierderea de valoare a actiunilor detinute la entitatile afiliate": {},
"Ajustari pentru pierderea de valoare a altor creante imobilizate": {},
"Ajustari pentru pierderea de valoare a altor titluri imobilizate": {},
"Ajustari pentru pierderea de valoare a creantelor legate de interesele de participare": {},
"Ajustari pentru pierderea de valoare a imprumuturilor pe termen lung": {},
"Ajustari pentru pierderea de valoare a intereselor de participare": {},
"Ajustari pentru pierderea de valoare a sumelor datorate entitatilor afiliate": {}
}
},
"AMORTIZARI PRIVIND IMOBILIZARILE": {
"Amortizari privind amortizarile necorporale": {
"Amortizarea altor imobilizari necorporale": {},
"Amortizarea cheltuielilor de constituire": {},
"Amortizarea cheltuielilor de dezvoltare": {},
"Amortizarea concesiunilor, brevetelor, licentelor, marcilor comerciale, drepturilor si activelor similare": {},
"Amortizarea fondului comercial": {}
},
"Amortizari privind imobilizarile corporale": {
"Amortizarea altor imobilizari corporale": {},
"Amortizarea amenajarilor de terenuri": {},
"Amortizarea constructiilor": {},
"Amortizarea instalatiilor, mijloacelor de transport, animalelor si plantatiilor": {}
}
},
"IMOBILIZARI CORPORALE": {
"Constructii": {},
"Instalatii tehnice, mijloace de transport, animale si plantatii": {
"Animale si plantatii": {},
"Aparate si instalatii de masurare, control si reglare": {},
"Echipamente tehnologice (masini, utilaje si instalatii de lucru)": {},
"Mijloace de transport": {}
},
"Mobilier, aparatura birotica, echipamente de protectie a valorilor umane si materiale si alte active corporale": {},
"Terenuri si amenajari de terenuri": {
"Amenajari de terenuri": {},
"Terenuri": {}
}
},
"IMOBILIZARI CORPORALE IN CURS DE APROVIZIONARE": {
"Instalatii tehnice, mijloace de transport, animale si plantatii in curs de aprovizionare": {}
},
"IMOBILIZARI FINANCIARE": {
"Actiuni detinute la entitatile afiliate": {},
"Alte titluri imobilizate": {},
"Creante imobilizate": {
"Alte creante imobilizate": {},
"Creante legate de interesele de participare": {},
"Dobanda aferenta creantelor legate de interesele de participare": {},
"Dobanda aferenta imprumuturilor acordate pe termen lung": {},
"Dobanda aferenta sumelor datorate de entitatile afiliate": {},
"Dob\u00e2nzi aferente altor creante imobilizate": {},
"Imprumuturi acordate pe termen lung": {},
"Sume datorate de entitatile afiliate": {}
},
"Interse de participare": {},
"Titluri puse in echivalenta": {},
"Varsaminte de efectuat pentru imobilizari financiare": {
"Varsaminte de efectuat pentru alte imobilizari financiare": {},
"Varsaminte de efectuat privind actiunile detinute la entitatile afiliate": {},
"Varsaminte de efectuat privind interesele de participare": {}
}
},
"IMOBILIZARI IN CURS SI AVANSURI PENTRU IMOBILIZARI": {
"Avansuri acordate pentru imobilizari corporale": {},
"Avansuri acordate pentru imobilizari necorporale": {},
"Imobilizari corporale in curs de executie": {},
"Imobilizari necorporale in curs de executie": {}
},
"IMOBILIZARI NECORPORALE": {
"Alte imobilizari necorporale": {},
"Cheltuieli de constituire": {},
"Cheltuieli de dezvoltare": {},
"Concesiuni, brevete, licente, marci comerciale, drepturi si active similare": {},
"Fond comercial": {
"Fond comercial negativ": {},
"Fond comercial pozitiv": {}
}
}
},
"CONTURI DE STOCURI SI PRODUCTIE IN CURS DE EXECUTIE": {
"AJUSTARI PENTRU DEPRECIEREA STOCURILOR SI PRODUCTIEI IN CURS DE EXECUTIE": {
"Ajustari pentru deprecierea ambalajelor": {},
"Ajustari pentru deprecierea animalelor": {},
"Ajustari pentru deprecierea marfurilor": {},
"Ajustari pentru deprecierea materialelor": {
"Ajustari pentru deprecierea materialelor consumabile": {},
"Ajustari pentru deprecierea materialelor de natura obiectelor de inventar": {}
},
"Ajustari pentru deprecierea materiilor prime": {},
"Ajustari pentru deprecierea productiei in curs de executie": {},
"Ajustari pentru deprecierea produselor": {
"Ajustari pentru deprecierea produselor finite": {},
"Ajustari pentru deprecierea produselor reziduale": {},
"Ajustari pentru deprecierea semifabricatelor": {}
},
"Ajustari pentru deprecierea stocurilor aflate la terti": {
"Ajustari pentru deprecierea ambalajelor aflate la terti": {},
"Ajustari pentru deprecierea animalelor aflate la terti": {},
"Ajustari pentru deprecierea marfurilor aflate la terti": {},
"Ajustari pentru deprecierea materiilor prime si materialelor aflate la terti": {},
"Ajustari pentru deprecierea produselor finite aflate la terti": {},
"Ajustari pentru deprecierea produselor reziduale aflate la terti": {},
"Ajustari pentru deprecierea semifabricatelor aflate la terti": {}
}
},
"AMBALAJE": {
"Ambalaje": {},
"Diferente de pret la ambalaje": {}
},
"ANIMALE": {
"Animale si pasari": {},
"Diferente de pret la animale si pasari": {}
},
"MARFURI": {
"Diferente de pret la marfuri": {},
"Marfuri": {}
},
"PRODUCTIA IN CURS DE EXECUTIE": {
"Produse in curs de executie": {},
"Servicii in curs de executie": {}
},
"PRODUSE": {
"Diferente de pret la produse": {},
"Produse finite": {},
"Produse reziduale": {},
"Semifabricate": {}
},
"STOCURI AFLATE LA TERTI": {
"Ambalaje aflate la terti": {},
"Animale aflate la terti": {},
"Marfuri aflate la terti": {},
"Materii si materiale aflate la terti": {},
"Produse aflate la terti": {}
},
"STOCURI DE MATERII PRIME SI MATERIALE": {
"Diferente de pret la materii prime si materiale": {},
"Materiale consumabile": {
"Alte materiale consumabile": {},
"Combustibili": {},
"Furaje": {},
"Materiale auxiliare": {},
"Materiale pentru ambalat": {},
"Piese de schimb": {},
"Seminte si materiale de plantat": {}
},
"Materiale de natura obiectelor de inventar": {},
"Materii prime": {}
},
"STOCURI IN CURS DE APROVIZIONARE": {
"Ambalaje in curs de aprovizionare": {},
"Animale in curs de aprovizionare": {},
"Marfuri in curs de aprovizionare": {},
"Materiale consumabile in curs de aprovizionare": {},
"Materiale de natura obiectelor de inventar in curs de aprovizionare": {},
"Materii prime in curs de aprovizionare": {}
}
},
"CONTURI DE TERTI": {
"AJUSTARI PENTRU DEPRECIEREA CREANTELOR": {
"Ajustari pentru deprecierea creantelor - clienti": {},
"Ajustari pentru deprecierea creantelor - debitori diversi": {},
"Ajustari pentru deprecierea creantelor - decontari in cadrul grupului si cu actionarii/asociatii": {}
},
"ASIGURARI SOCIALE, PROTECTIE SOCIALA SI CONTURI ASIMILATE": {
"Ajutor de somaj": {
"Contributia personalului la fondul de somaj": {},
"Contributia unitatii la fondul de garantare pentru plata creantelor salariale": {},
"Contributia unitatii la fondul de somaj": {}
},
"Alte datorii si creante sociale": {
"Alte creante sociale": {
"account_type": "Receivable"
},
"Alte datorii sociale": {}
},
"Asigurari sociale": {
"Contributia angajatilor pentru asigurarile sociale de sanatate": {},
"Contributia angajatorilor la fondul de asigurare pentru accidente de munca si boli profesionale": {},
"Contributia angajatorilor la fondul pentru concedii si indemnizatii": {},
"Contributia angajatorului pentru asigurarile sociale de sanatate": {},
"Contributia personalului la asigurarile sociale": {},
"Contributia unitatii la asigurarile sociale": {}
}
},
"BUGETUL STATULUI, FONDURI SPECIALE sI CONTURI ASIMILATE": {
"Alte datorii si creante cu bugetul statului": {
"Alte creante privind bugetul statului": {},
"Alte datorii fata de bugetul statului": {}
},
"Alte impozite,taxe si varsaminte asimilate": {},
"Fonduri speciale - taxe si varsaminte asimilate": {},
"Impozitul pe profit": {
"Impozitul pe profit": {},
"Impozitul pe venit": {}
},
"Impozitul pe venituri de natura salariilor": {},
"Subventii": {
"Alte sume primite cu caracter de subventii": {},
"Imprumuturi nerambursabile cu caracter de subventii": {},
"Subventii guvernamentale": {
"account_type": "Receivable"
}
},
"Taxa pe valoarea adaugata": {
"TVA colectata": {},
"TVA de plata": {},
"TVA de recuperat": {},
"TVA deductibila": {},
"TVA neexigibila": {}
}
},
"CLIENTI SI CONTURI ASIMILATE": {
"Clienti": {
"Clienti": {
"account_type": "Receivable"
},
"Clienti incerti sau in litigiu": {
"account_type": "Receivable"
}
},
"Clienti - facturi de intocmit": {
"account_type": "Receivable"
},
"Clienti creditori": {
"account_type": "Receivable"
},
"Efecte de primit de la clienti": {
"account_type": "Receivable"
}
},
"CONTURI DE REGULARIZARE SI ASIMILATE": {
"Cheltuieli integistrate in avans": {},
"Decontari din operatiuni in curs de clarificare": {},
"Subventii pentru investitii": {
"Alte sume primite cu caracter de subventii pentru investitii": {},
"Donatii pentru investitii": {},
"Imprumuturi nerambursabile cu caracter de subventii pentru investitii": {},
"Plusuri de inventar de natura imobilizarilor": {},
"Subventii guvernamentale pentru investitii": {}
},
"Venituri inregistrate in avans": {}
},
"DEBITORI SI CREDITORI DIVERSI": {
"Creditori diversi": {
"account_type": "Payable"
},
"Debitori diversi": {
"account_type": "Receivable"
}
},
"DECONTARI IN CADRUL UNITATII": {
"Decontari intre subunitati": {},
"Decontari intre unitati si subunitati": {}
},
"FURNIZORI SI CONTURI ASIMILATE": {
"Efecte de platit": {
"account_type": "Payable"
},
"Efecte de platit pentru imobilizari": {
"account_type": "Payable"
},
"Furnizori": {
"account_type": "Payable"
},
"Furnizori - debitori": {
"Furnizori - debitori pentru cumparari de bunuri de natura stocurilor": {
"account_type": "Payable"
},
"Furnizori - debitori pentru prestari de servicii": {
"account_type": "Payable"
}
},
"Furnizori - facturi nesosite": {
"account_type": "Payable"
},
"Furnizori de imobilizari": {
"account_type": "Payable"
}
},
"GRUP SI ACTIONARI / ASOCIATI": {
"Decontari cu actionarii/asociatii privind capitalul": {},
"Decontari din operatii in participare": {
"Decontari din operatii in participare - activ": {},
"Decontari din operatii in participare - pasiv": {}
},
"Decontari intre entitatile afiliate": {
"Decontari intre entitatile afiliate": {},
"Decontari privind interesele de participare": {},
"Dobanzi aferente decontarilor intre entitatile afiliate": {},
"Dobanzi aferente decontarilor privind interesele de participare": {}
},
"Decontari privind interesele de participare": {},
"Dividende de plata": {},
"Sume datorate actionarilor/asociatilor": {
"Actionari/asociati - conturi curente": {
"account_type": "Payable"
},
"Actionari/asociati dobanzi la conturi curente": {
"account_type": "Payable"
}
}
},
"PERSONAL SI CONTURI ASIMILATE": {
"Alte datorii si creante in legatura cu personalul": {
"Alte creante in legatura cu personalul": {},
"Alte datorii in legatura cu personalul": {}
},
"Avansuri acordate personalului": {
"account_type": "Receivable"
},
"Drepturi de personal neridicate": {},
"Personal - ajutoare materiale datorate": {},
"Personal - salarii datorate": {
"account_type": "Payable"
},
"Prime privind participarea personalului la profit": {},
"Retineri din salarii datorate tertilor": {}
}
},
"CONTURI DE TREZORERIE": {
"ACREDITIVE": {
"Acreditive": {
"Acreditive in lei": {
"account_type": "Cash"
},
"Acreditive in valuta": {
"account_type": "Cash"
}
},
"Avansuri de trezorerie": {
"account_type": "Receivable"
}
},
"AJUSTARI PENTRU PIERDEREA DE VALOARE A CONTURILOR DE TREZORERIE": {
"Ajustari pentru pierderea de valoare a actiunilor detinute la entitatile afiliate": {
"account_type": "Cash"
},
"Ajustari pentru pierderea de valoare a altor invesitii pe termen scurt si creante asimilate": {
"account_type": "Cash"
},
"Ajustari pentru pierderea de valoare a obligatiunilor": {
"account_type": "Cash"
},
"Ajustari pentru pierderea de valoare a obligatiunilor emise si recuperate": {
"account_type": "Cash"
}
},
"CASA": {
"Alte valori": {
"Alte valori": {
"account_type": "Cash"
},
"Bilete de tratament si odihna": {
"account_type": "Cash"
},
"Tichete si bilete de calatorie": {
"account_type": "Cash"
},
"Timbre fiscale si postale": {
"account_type": "Cash"
}
},
"Casa": {
"Casa in lei": {
"account_type": "Cash"
},
"Casa in valuta": {
"account_type": "Cash"
}
}
},
"CONTURI LA BANCI": {
"Conturi curente la banci": {
"Conturi la banci in lei": {
"account_type": "Cash"
},
"Conturi la banci in valuta": {
"account_type": "Cash"
},
"Sume in curs de decontare": {
"account_type": "Cash"
}
},
"Credite bancare pe termen scurt": {
"Credite bancare pe termen scurt": {
"account_type": "Cash"
},
"Credite bancare pe termen scurt nerambursate la scadenta": {
"account_type": "Cash"
},
"Credite de la trezoreria statului": {
"account_type": "Cash"
},
"Credite externe garantate de banci": {
"account_type": "Cash"
},
"Credite externe garantate de stat": {
"account_type": "Cash"
},
"Credite externe guvernamentale": {
"account_type": "Cash"
},
"Credite interne garantate de stat": {
"account_type": "Cash"
},
"Dobanzi aferente creditelor pe termen scurt": {
"account_type": "Cash"
}
},
"Dobanzi": {
"Dobanzi de incasat": {
"account_type": "Cash"
},
"Dobanzi de platit": {
"account_type": "Cash"
}
},
"Valori de incasat": {
"Cecuri de incasat": {
"account_type": "Cash"
},
"Efecte de incasat": {
"account_type": "Cash"
},
"Efecte remise spre scontare": {
"account_type": "Cash"
}
}
},
"INVESTITII PE TERMEN SCURT": {
"Actiuni detinute la entitatile afiliate": {
"account_type": "Cash"
},
"Alte investitii pe termen scurt si creante asimilate": {
"Alte titluri de plasament": {
"account_type": "Cash"
},
"Dobanzi la obligatiuni si alte titluri de plasament": {
"account_type": "Cash"
}
},
"Obligatiuni": {
"account_type": "Cash"
},
"Obligatiuni emise si rascumparate": {
"account_type": "Cash"
},
"Varsaminte de efctuat pentru investitiile pe termen scurt": {
"Varsaminte de efctuat pentru actiunile detinute la institutiile afiliate": {
"account_type": "Cash"
},
"Varsaminte de efctuat pentru alte investitii pe termen scurt": {
"account_type": "Cash"
}
}
},
"VIRAMENTE INTERNE": {
"Viramente interne": {
"account_type": "Cash"
}
}
}
},
"CONTURI DE VENITURI SI CHELTUIELI": {
"CONTURI DE CHELTUIELI": {
"ALTE CHELTUIELI DE EXPLOATARE": {
"Alte cheltuieli de exploatare": {
"Alte cheltuieli de exploatare": {},
"Cheltuieli privind activele cedate si alte operatii de capital": {},
"Despagubiri, amenzi si penalitati": {},
"Donatii si subventii acordate": {}
},
"Cheltuieli cu protectia mediului inconjurator": {},
"Pierderi din creante si debitori diversi": {}
},
"CHELTUIELI CU ALTE IMPOZITE, TAXE SO VARSAMINTE ASIMILATE": {
"Cheltuieli cu alte impozite, taxe si varsaminte asimilate": {}
},
"CHELTUIELI CU ALTE SERVICII EXECUTATE DE TERTI": {
"Alte cheltuieli cu serviciile executate de terti": {},
"Cheltuieli cu colaboratorii": {},
"Cheltuieli cu deplasari, detasari si transferari": {},
"Cheltuieli cu serviciile bancare si asimilate": {},
"Cheltuieli cu transportul de bunuri si personal": {},
"Cheltuieli de protocol, reclama si publicitate": {},
"Cheltuieli postale si taxe de telecomunicatii": {},
"Cheltuieli privind comisioanele si onorariile": {}
},
"CHELTUIELI CU AMORTIZARILE, PROVIZIOANELE SI AJUSTARILE PENTRU DEPRECIERE SAU PIERDERE DE VALOARE": {
"Cheltuieli de exploatare privind amortizarile, provizioanele si ajustarile pentru depreciere": {
"Cheltuieli de exploatare privind ajustarile pentru deprecierea activelor circulante": {},
"Cheltuieli de exploatare privind ajustarile pentru deprecierea imobilizarilor": {},
"Cheltuieli de exploatare privind amortizarea imobilizarilor": {},
"Cheltuieli de exploatare privind provizioanele": {}
},
"Cheltuieli financiare privind amortizarile si ajustarile pentru pierdere de valoare": {
"Cheltuieli financiare privind ajustarile pentru pierderea de valoare a activelor circulante": {},
"Cheltuieli financiare privind ajustarile pentru pierderea de valoare a imobilizarilor financiare": {},
"Cheltuieli financiare privind amortizarea primelor de rambursare a obligatiunilor": {}
}
},
"CHELTUIELI CU IMPOZITUL PE PROFIT SI ALTE IMPOZITE": {
"Cheltuieli cu impozitul pe venit si cu alte impozite care nu apar in elementele de mai sus": {},
"Impozitul pe profit": {}
},
"CHELTUIELI CU LUCRARIRE SI SERVICIILE EXECUTATE DE TERTI": {
"Cheltuieli cu intretinerile si reparatiile": {},
"Cheltuieli cu primele de asigurare": {},
"Cheltuieli cu redeventele, locatiile de gestiune si chiriile": {},
"Cheltuieli cu studiile si cercetarile": {}
},
"CHELTUIELI CU PERSONALUL": {
"Cheltuieli cu primele reprezentand participarea personalului la profit": {},
"Cheltuieli cu renumerarea in instrumente de capitaluri proprii": {},
"Cheltuieli cu salariile personalului": {},
"Cheltuieli cu tichetele de masa acordate salariatilor": {},
"Cheltuieli privind asigurarile si protectia sociala": {
"Alte cheltuieli privind asigurarile si protectia sociala": {},
"Contributia angajatorului pentru asigurarile sociale de sanatate": {},
"Contributia unitatii la asigurarile sociale": {},
"Contributia unitatii la fondul de concedii medicale": {},
"Contributia unitatii la fondul de garantare": {},
"Contributia unitatii la primele de asigurare voluntara de sanatate": {},
"Contributia unitatii la schemele de pensii facultative": {},
"Contributia unitatii pentru ajutorul de somaj": {}
}
},
"CHELTUIELI EXTRAORDINARE": {
"Cheltuieli privind calamitatile si alte evenimente extraordinare": {}
},
"CHELTUIELI FINANCIARE": {
"Alte cheltuieli financiare": {},
"Cheltuieli din diferente de curs valutar": {},
"Cheltuieli privind dobanzile": {},
"Cheltuieli privind investitiile financiare cedate": {
"Cheltuieli privind imobilizarile financiare cedate": {},
"Pierderi din investitiile pe termen scurt cedate": {}
},
"Cheltuieli privind sconturile acordate": {},
"Pierderi din creante legate de participatii": {}
},
"CHELTUIELI PRIVIND STOCURILE": {
"Cheltuieli cu materialele consumabile": {
"Cheltuieli cu materiale auxiliare": {},
"Cheltuieli privind alte materiale consumabile": {},
"Cheltuieli privind combustibilul": {},
"Cheltuieli privind furajele": {},
"Cheltuieli privind materialele pentru ambalat": {},
"Cheltuieli privind piesele de schimb": {},
"Cheltuieli privind semintele si materialele de plantat": {}
},
"Cheltuieli cu materiile prime": {},
"Cheltuieli privind ambalajele": {},
"Cheltuieli privind animalele si pasarile": {},
"Cheltuieli privind energia si apa": {},
"Cheltuieli privind marfurile": {},
"Cheltuieli privind materialele de natura obiectelor de inventar": {},
"Cheltuieli privind materialele nestocate": {},
"Reduceri comerciale primite": {}
}
},
"CONTURI DE VENITURI": {
"ALTE VENITURI DIN EXPLOATARE": {
"Alte venituri din exploatare": {
"Alte venituri din exploatare": {},
"Venituri din despagubiri, amenzi si penalitati": {},
"Venituri din donatii si subventii primite": {},
"Venituri din subventii pentru investitii": {},
"Venituri din vanzarea activelor si alte operatii de capital": {}
},
"Venituri din creante reactivate si debitori diversi": {}
},
"CIFRA DE AFACERI NETA": {
"Reduceri comerciale acordate": {},
"Venituri din activitati diverse": {},
"Venituri din lucrari executate si servicii prestate": {},
"Venituri din redevente, locatii de gestiune si chirii": {},
"Venituri din studii si cercetari": {},
"Venituri din vanzarea marfurilor": {},
"Venituri din vanzarea produselor finite": {},
"Venituri din vanzarea produselor reziduale": {},
"Venituri din vanzarea semifabricatelor": {}
},
"VENITURI AFERENTE COSTULUI PRODUCTIEI IN CURS DE EXECUTIE": {
"Venituri aferente costurilor serviciilor in curs de executie": {},
"Venituri aferente costurilor stocurilor de produse": {}
},
"VENITURI DIN PRODUCTIA DE IMOBILIZARI": {
"Venituri din productia de imobilizari corporale": {},
"Venituri din productia de imobilizari necorporale": {}
},
"VENITURI DIN PROVIZIOANE SI AJUSTARI PENTRU DEPRECIERE SAU PIERDERE DE VALOARE ": {
"Venituri din provizioane si ajustari pentru depreciere privind activitatea de exploatare": {
"Venituri din ajustari pentru deprecierea activelor circulante ": {},
"Venituri din ajustari pentru deprecierea imobilizarilor": {},
"Venituri din fondul comercial negativ": {},
"Venituri din provizioane": {}
},
"Venituri financiare din ajustari pentru pierdere de valoare": {
"Venituri financiare din ajustari pentru pierderea de valoare a activelor circulante": {},
"Venituri financiare din ajustari pentru pierderea de valoare a imobilizarilor financiare": {}
}
},
"VENITURI DIN SUBVENTII DE EXPLOATARE": {
"Venituri din subventii de exploatare": {
"Venituri din subventii de exploatare aferente altor venituri": {},
"Venituri din subventii de exploatare aferente cifrei de afaceri": {},
"Venituri din subventii de exploatare pentru alte cheltuieli de exploatare": {},
"Venituri din subventii de exploatare pentru alte cheltuieli externe": {},
"Venituri din subventii de exploatare pentru asigurari si protectie sociala": {},
"Venituri din subventii de exploatare pentru dobanda datorata": {},
"Venituri din subventii de exploatare pentru materii prime si materiale consumabile ": {},
"Venituri din subventii de exploatare pentru plata personalului": {}
}
},
"VENITURI EXTRAORDINARE": {
"Venituri din subventii pentru evenimente extraordinare si altele similare": {}
},
"VENITURI FINANCIARE": {
"Alte venituri financiare": {},
"Venituri din creante imobilizate": {},
"Venituri din diferente de curs valutar": {},
"Venituri din dobanzi": {},
"Venituri din imobilizari financiare": {
"Venituri din actiuni detinute la entitatile afiliate": {},
"Venituri din interese de participare": {}
},
"Venituri din investitii financiare cedate": {
"Castiguri din investitii pe termen scurt cedate": {},
"Venituri din imobilizari financiare cedate": {}
},
"Venituri din investitii financiare pe termen scurt": {},
"Venituri din sconturi obtinute": {}
}
}
},
"root_type": ""
},
"CONTURI IN AFARA BILANTULUI": {
"CONTURI DE GESTIUNE": {
"CONTURI DE CALCULATIE": {
"Cheltuieli de desfacere": {},
"Cheltuieli generale de administratie": {},
"Cheltuieli indirecte de productie": {},
"Cheltuielile activitatii de baza": {},
"Cheltuielile activitatilor auxiliare": {}
},
"COSTUL PRODUCTIEI": {
"Costul productiei de executie": {},
"Costul productiei obtinute": {}
},
"DECONTARI INTERNE": {
"Decontari interne privind cheltuielile": {},
"Decontari interne privind diferentele de pret": {},
"Decontari interne privind productia obtinuta": {}
}
},
"CONTURI SPECIALE": {
"BILANT": {
"Bilant de deschidere": {},
"Bilant de inchidere": {}
},
"CONTURI IN AFARA BILANTULUI": {
"Active contingente": {},
"Alte conturi in afara bilantului": {
"Alte valori in afara bilantului": {},
"Bunuri publice primite in administrare, concesiune si cu chirie": {},
"Debitori scosi din activ, urmariti in continuare": {},
"Efecte scontate neajunse la scadenta": {},
"Imobilizari corporale luate cu chirie": {},
"Redevente, locatii de gestiune, chirii si alte datorii asimilate": {},
"Stocuri de natura obiectelor de inventar date in folosinta": {},
"Valori materiale primite in pastrare sau custodie": {},
"Valori materiale primite spre prelucrare sau reparare": {}
},
"Amortizarea aferenta gradului de neutilizare a mijloacelor fixe": {
"Amortizarea aferenta gradului de neutilizare a mijloacelor fixe ": {}
},
"Angajamente acordate": {
"Alte angajamente acordate ": {},
"Giruri si garantii acordate": {}
},
"Angajamente primite": {
"Alte angajamente primite": {},
"Giruri si garantii primite": {}
},
"Certificate de emisii de gaze cu efect de sera": {},
"Datorii contingente": {},
"Dobanzi aferente contractelor de leasing si altor contracte asimilate, neajunse la scadenta": {
"Dobanzi de incasat": {},
"Dobanzi de platit": {}
}
}
},
"root_type": ""
}
}
}

View File

@@ -1,53 +0,0 @@
{
"country_code": "th",
"name": "Thailand - Chart of Accounts",
"tree": {
"Assets": {
"Account Receivable": {},
"Building": {
"Accumulated Depreciation - Building": {}
},
"Cash": {
"Cash at Bank": {},
"Petty Cash": {}
},
"Equipment": {
"Accumulated Depreciation - Equipment": {}
},
"Input VAT": {},
"Inventory": {},
"Outstanding Cheques": {},
"Withholding Income Tax": {},
"root_type": "Asset"
},
"Equity": {
"Capital Stock": {},
"Dividends": {},
"Income Summary": {},
"Retained Earnings": {},
"root_type": "Equity"
},
"Expenses": {
"Cost of goods sold": {},
"Income tax expenses": {},
"Interest expenses": {},
"Office Expenses": {},
"Rent": {},
"Salary": {},
"root_type": "Expense"
},
"Income": {
"Income": {},
"root_type": "Income"
},
"Liabilities": {
"Account Payable": {},
"Accrued Expenses": {},
"Loans": {},
"Output VAT": {},
"Uninvoiced Receipts": {},
"Withholding Tax": {},
"root_type": "Liability"
}
}
}

View File

@@ -1,531 +0,0 @@
{
"country_code": "tr",
"name": "Turkey - Tek D\u00fczen Hesap Plan\u0131",
"tree": {
"Duran Varl\u0131klar": {
"Di\u011fer Alacaklar": {
"Ba\u011fl\u0131 Ortakl\u0131klardan Alacaklar": {},
"Di\u011fer Alacak Senetleri Reeskontu(-)": {},
"Di\u011fer \u00c7e\u015fitli Alacaklar": {},
"Ortaklardan Alacaklar": {},
"Personelden Alacaklar": {},
"\u0130\u015ftiraklerden Alacaklar": {},
"\u015e\u00fcpheli Di\u011fer Alacaklar Kar\u015f\u0131l\u0131\u011f\u0131(-)": {}
},
"Di\u011fer Duran Varl\u0131klar": {
"Birikmi\u015f Amortismanlar(-)": {},
"Di\u011fer KDV": {},
"Di\u011fer \u00c7e\u015fitli Duran Varl\u0131klar": {},
"Elden \u00c7\u0131kar\u0131lacak Stoklar Ve Maddi Duran Varl\u0131klar": {},
"Gelecek Y\u0131llar \u0130htiyac\u0131 Stoklar": {},
"Gelecek Y\u0131llarda \u0130ndirilecek KDV": {},
"Pe\u015fin \u00d6denen Vergi Ve Fonlar": {},
"Stok De\u011fer D\u00fc\u015f\u00fckl\u00fc\u011f\u00fc Kar\u015f\u0131l\u0131\u011f\u0131(-)": {}
},
"Gelecek Y\u0131llara Ait Giderler ve Gelir Tahakkuklar\u0131": {
"Gelecek Y\u0131llara Ait Giderler": {},
"Gelir Tahakkuklar\u0131": {}
},
"Maddi Duran Varl\u0131klar": {
"Arazi Ve Arsalar": {},
"Binalar": {},
"Birikmi\u015f Amortismanlar(-)": {},
"Demirba\u015flar": {},
"Di\u011fer Maddi Duran Varl\u0131klar": {},
"Ta\u015f\u0131tlar": {},
"Tesis, Makine Ve Cihazlar": {},
"Verilen Avanslar": {},
"Yap\u0131lmakta Olan Yat\u0131r\u0131mlar": {},
"Yer Alt\u0131 Ve Yer \u00dcst\u00fc D\u00fczenleri": {}
},
"Maddi Olmayan Duran Varl\u0131klar": {
"Ara\u015ft\u0131rma Ve Geli\u015ftirme Giderleri": {},
"Birikmi\u015f Amortismanlar(-)": {},
"Di\u011fer Maddi Olmayan Duran Varl\u0131klar": {},
"Haklar": {},
"Kurulu\u015f Ve \u00d6rg\u00fctlenme Giderleri": {},
"Verilen Avanslar": {},
"\u00d6zel Maliyetler": {},
"\u015eerefiye": {}
},
"Mali Duran Varl\u0131klar": {
"Ba\u011fl\u0131 Menkul K\u0131ymetler": {},
"Ba\u011fl\u0131 Menkul K\u0131ymetler De\u011fer D\u00fc\u015f\u00fckl\u00fc\u011f\u00fc Kar\u015f\u0131l\u0131\u011f\u0131(-)": {},
"Ba\u011fl\u0131 Ortakl\u0131klar": {},
"Ba\u011fl\u0131 Ortakl\u0131klar Sermaye Paylar\u0131 De\u011fer D\u00fc\u015f\u00fckl\u00fc\u011f\u00fc Kar\u015f\u0131l\u0131\u011f\u0131(-)": {},
"Ba\u011fl\u0131 Ortakl\u0131klara Sermaye Taahh\u00fctleri(-)": {},
"Di\u011fer Mali Duran Varl\u0131klar": {},
"Di\u011fer Mali Duran Varl\u0131klar Kar\u015f\u0131l\u0131\u011f\u0131(-)": {},
"\u0130\u015ftirakler": {},
"\u0130\u015ftirakler Sermaye Paylar\u0131 De\u011fer D\u00fc\u015f\u00fckl\u00fc\u011f\u00fc Kar\u015f\u0131l\u0131\u011f\u0131(-)": {},
"\u0130\u015ftiraklere Sermaye Taahh\u00fctleri(-)": {}
},
"Ticari Alacaklar": {
"Alacak Senetleri": {},
"Alacak Senetleri Reeskontu(-)": {},
"Al\u0131c\u0131lar": {},
"Kazaqn\u0131lmam\u0131\u015f Finansal Kiralama Faiz Gelirleri(-)": {},
"Verilen Depozito Ve Teminatlar": {},
"\u015e\u00fcpheli Ticari Alacaklar Kar\u015f\u0131l\u0131\u011f\u0131(-)": {}
},
"root_type": "",
"\u00d6zel T\u00fckenmeye Tabi Varl\u0131klar": {
"Arama Giderleri": {},
"Birikmi\u015f T\u00fckenme Paylar\u0131(-)": {},
"Di\u011fer \u00d6zel T\u00fckenmeye Tabi Varl\u0131klar": {},
"Haz\u0131rl\u0131k Ve Geli\u015ftirme Giderleri": {},
"Verilen Avanslar": {}
}
},
"D\u00f6nen Varl\u0131klar": {
"Di\u011fer Alacaklar": {
"Ba\u011fl\u0131 Ortakl\u0131klardan Alacaklar": {},
"Di\u011fer Alacak Senetleri Reeskontu(-)": {},
"Di\u011fer \u00c7e\u015fitli Alacaklar": {},
"Ortaklardan Alacaklar": {},
"Personelden Alacaklar": {},
"\u0130\u015ftiraklerden Alacaklar": {},
"\u015e\u00fcpheli Di\u011fer Alacaklar": {},
"\u015e\u00fcpheli Di\u011fer Alacaklar Kar\u015f\u0131l\u0131\u011f\u0131(-)": {}
},
"Di\u011fer D\u00f6nen Varl\u0131klar": {
"Devreden KDV": {},
"Di\u011fer D\u00f6nen Varl\u0131klar Kar\u015f\u0131l\u0131\u011f\u0131(-)": {},
"Di\u011fer KDV": {},
"Di\u011fer \u00c7e\u015fitli D\u00f6nen Varl\u0131klar": {},
"Personel Avanslar\u0131": {},
"Pe\u015fin \u00d6denen Vergiler Ve Fonlar": {},
"Say\u0131m Ve Tesell\u00fcm Noksanlar\u0131": {},
"\u0130ndirilecek KDV": {},
"\u0130\u015f Avanslar\u0131": {}
},
"Gelecek Aylara Ait Giderler ve Gelir Tahakkuklar\u0131": {
"Gelecek Aylara Ait Giderler": {},
"Gelir Tahakkuklar\u0131": {}
},
"Haz\u0131r De\u011ferler": {
"Al\u0131nan \u00c7ekler": {},
"Bankalar": {
"account_type": "Bank"
},
"Di\u011fer Haz\u0131r De\u011ferler": {},
"Kasa": {
"account_type": "Cash"
},
"Verilen \u00c7ekler ve \u00d6deme Emirleri(-)": {}
},
"Menkul K\u0131ymetler": {
"Di\u011fer Menkul K\u0131ymetler": {},
"Hisse Senetleri": {},
"Kamu Kesimi Tahvil, Senet ve Bonolar\u0131": {},
"Menkul K\u0131ymetler De\u011fer D\u00fc\u015f\u00fckl\u00fc\u011f\u00fc Kar\u015f\u0131l\u0131\u011f\u0131(-)": {},
"\u00d6zel Kesim Tahvil Senet Ve Bonolar\u0131": {}
},
"Stoklar": {
"Mamuller": {},
"Stok De\u011fer D\u00fc\u015f\u00fckl\u00fc\u011f\u00fc Kar\u015f\u0131l\u0131\u011f\u0131(-)": {},
"Ticari Mallar": {},
"Verilen Sipari\u015f Avanslar\u0131": {},
"Yar\u0131 Mamuller": {},
"\u0130lk Madde Malzeme": {}
},
"Ticari Alacaklar": {
"Alacak Senetleri": {},
"Alacak Senetleri Reeskontu(-)": {},
"Al\u0131c\u0131lar": {},
"Di\u011fer Ticari Alacaklar": {},
"Kazan\u0131lmam\u0131\u015f Finansal Kiralama Faiz Gelirleri(-)": {},
"Verilen Depozito ve Teminatlar": {},
"\u015e\u00fcpheli Ticari Alacaklar": {},
"\u015e\u00fcpheli Ticari Alacaklar Kar\u015f\u0131l\u0131\u011f\u0131": {}
},
"Y\u0131llara Yayg\u0131n \u0130n\u015faat ve Onar\u0131m Maliyetleri": {
"Ta\u015feronlara Verilen Avanslar": {},
"Y\u0131llara Yayg\u0131n \u0130n\u015faat Ve Onar\u0131m Maliyetleri": {}
},
"root_type": ""
},
"Gelir Tablosu Hesaplar\u0131": {
"Br\u00fct Sat\u0131\u015flar": {
"Di\u011fer Gelirler": {},
"Yurt D\u0131\u015f\u0131 Sat\u0131\u015flar": {},
"Yurt \u0130\u00e7i Sat\u0131\u015flar": {}
},
"Di\u011fer Faaliyetlerden Olu\u015fan Gelir ve K\u00e2rlar": {
"Ba\u011fl\u0131 Ortakl\u0131klardan Temett\u00fc Gelirleri": {},
"Di\u011fer Ola\u011fan Gelir Ve K\u00e2rlar": {},
"Enflasyon D\u00fczeltme K\u00e2rlar\u0131": {},
"Faiz Gelirleri": {},
"Kambiyo K\u00e2rlar\u0131": {},
"Komisyon Gelirleri": {},
"Konusu Kalmayan Kar\u015f\u0131l\u0131klar": {},
"Menkul K\u0131ymet Sat\u0131\u015f K\u00e2rlar\u0131": {},
"Reeskont Faiz Gelirleri": {},
"\u0130\u015ftiraklerden Temett\u00fc Gelirleri": {}
},
"Di\u011fer Faaliyetlerden Olu\u015fan Gider ve Zararlar (-)": {
"Di\u011fer Ola\u011fan Gider Ve Zararlar(-)": {},
"Enflasyon D\u00fczeltmesi Zararlar\u0131(-)": {},
"Kambiyo Zararlar\u0131(-)": {},
"Kar\u015f\u0131l\u0131k Giderleri(-)": {},
"Komisyon Giderleri(-)": {},
"Menkul K\u0131ymet Sat\u0131\u015f Zararlar\u0131(-)": {},
"Reeskont Faiz Giderleri(-)": {}
},
"D\u00f6nem Net K\u00e2r\u0131 Ve Zarar\u0131": {
"D\u00f6nem K\u00e2r\u0131 Vergi Ve Di\u011fer Yasal Y\u00fck\u00fcml\u00fcl\u00fck Kar\u015f\u0131l\u0131klar\u0131(-)": {},
"D\u00f6nem K\u00e2r\u0131 Veya Zarar\u0131": {},
"D\u00f6nem Net K\u00e2r\u0131 Veya Zarar\u0131": {},
"Enflasyon D\u00fczeltme Hesab\u0131": {},
"Y\u0131llara Yayg\u0131n \u0130n\u015faat Ve Enflasyon D\u00fczeltme Hesab\u0131": {}
},
"Faaliyet Giderleri(-)": {
"Ara\u015ft\u0131rma Ve Geli\u015ftirme Giderleri(-)": {},
"Genel Y\u00f6netim Giderleri(-)": {},
"Pazarlama Sat\u0131\u015f Ve Da\u011f\u0131t\u0131m Giderleri(-)": {}
},
"Finansman Giderleri": {
"K\u0131sa Vadeli Bor\u00e7lanma Giderleri(-)": {},
"Uzun Vadeli Bor\u00e7lanma Giderleri(-)": {}
},
"Ola\u011fan D\u0131\u015f\u0131 Gelir Ve K\u00e2rlar": {
"Di\u011fer Ola\u011fan D\u0131\u015f\u0131 Gelir Ve K\u00e2rlar": {},
"\u00d6nceki D\u00f6nem Gelir Ve K\u00e2rlar\u0131": {}
},
"Ola\u011fan D\u0131\u015f\u0131 Gider Ve Zaralar(-)": {
"Di\u011fer Ola\u011fan D\u0131\u015f\u0131 Gider Ve Zararlar(-)": {},
"\u00c7al\u0131\u015fmayan K\u0131s\u0131m Gider Ve Zararlar\u0131(-)": {},
"\u00d6nceki D\u00f6nem Gider Ve Zararlar\u0131(-)": {}
},
"Sat\u0131\u015f \u0130ndirimleri (-)": {
"Di\u011fer \u0130ndirimler": {},
"Sat\u0131\u015f \u0130ndirimleri(-)": {},
"Sat\u0131\u015ftan \u0130adeler(-)": {}
},
"Sat\u0131\u015flar\u0131n Maliyeti(-)": {
"Di\u011fer Sat\u0131\u015flar\u0131n Maliyeti(-)": {},
"Sat\u0131lan Hizmet Maliyeti(-)": {},
"Sat\u0131lan Mamuller Maliyeti(-)": {},
"Sat\u0131lan Ticari Mallar Maliyeti(-)": {}
},
"root_type": ""
},
"K\u0131sa Vadeli Yabanc\u0131 Kaynaklar": {
"Al\u0131nan Avanslar": {
"Al\u0131nan Di\u011fer Avanslar": {
"account_type": "Payable"
},
"Al\u0131nan Sipari\u015f Avanslar\u0131": {
"account_type": "Payable"
},
"account_type": "Payable"
},
"Bor\u00e7 ve Gider Kar\u015f\u0131l\u0131klar\u0131": {
"Di\u011fer Bor\u00e7 Ve Gider Kar\u015f\u0131l\u0131klar\u0131": {
"account_type": "Payable"
},
"D\u00f6nem K\u00e2r\u0131 Vergi Ve Di\u011fer Yasal Y\u00fck\u00fcml\u00fcl\u00fck Kar\u015f\u0131l\u0131klar\u0131": {
"account_type": "Tax"
},
"D\u00f6nem K\u00e2r\u0131n\u0131n Pe\u015fin \u00d6denen Vergi Ve Di\u011fer Y\u00fck\u00fcml\u00fcl\u00fckler(-)": {
"account_type": "Tax"
},
"K\u0131dem Tazminat\u0131 Kar\u015f\u0131l\u0131\u011f\u0131": {},
"Maliyet Giderleri Kar\u015f\u0131l\u0131\u011f\u0131": {},
"account_type": "Payable"
},
"Di\u011fer Bor\u00e7lar": {
"Ba\u011fl\u0131 Ortakl\u0131klara Bor\u00e7lar": {
"account_type": "Payable"
},
"Di\u011fer Bor\u00e7 Senetleri Reeskontu(-)": {
"account_type": "Payable"
},
"Di\u011fer \u00c7e\u015fitli Bor\u00e7lar": {
"account_type": "Payable"
},
"Ortaklara Bor\u00e7lar": {
"account_type": "Payable"
},
"Personele Bor\u00e7lar": {
"account_type": "Payable"
},
"account_type": "Payable",
"\u0130\u015ftiraklere Bor\u00e7lar": {
"account_type": "Payable"
}
},
"Di\u011fer K\u0131sa Vadeli Yabanc\u0131 Kaynaklar": {
"Di\u011fer KDV": {
"account_type": "Tax"
},
"Di\u011fer \u00c7e\u015fitli Yabanc\u0131 Kaynaklar": {},
"Hesaplanan KDV": {
"account_type": "Tax"
},
"Merkez Ve \u015eubeler Cari Hesab\u0131": {},
"Say\u0131m Ve Tesell\u00fcm Fazlalar\u0131": {},
"account_type": "Payable"
},
"Gelecek Aylara Ait Gelirler Ve Gider Tahakkuklar\u0131": {
"Gelecek Aylara Ait Gelirler": {},
"Gider Tahakkuklar\u0131": {}
},
"Mali Bor\u00e7lar": {
"Banka Kredileri": {
"account_type": "Payable"
},
"Di\u011fer Mali Bor\u00e7lar": {
"account_type": "Payable"
},
"Ertelenmi\u015f Finansal Kiralama Bor\u00e7lanma Maliyetleri(-)": {
"account_type": "Payable"
},
"Finansal Kiralama \u0130\u015flemlerinden Bor\u00e7lar": {
"account_type": "Payable"
},
"Menkul K\u0131ymetler \u0130hra\u00e7 Fark\u0131(-)": {
"account_type": "Payable"
},
"Tahvil Anapara Bor\u00e7, Taksit Ve Faizleri": {
"account_type": "Payable"
},
"Uzun Vadeli Kredilerin Anapara Taksitleri Ve Faizleri": {
"account_type": "Payable"
},
"account_type": "Payable",
"\u00c7\u0131kar\u0131lan Bonolar Ve Senetler": {
"account_type": "Payable"
},
"\u00c7\u0131kar\u0131lm\u0131\u015f Di\u011fer Menkul K\u0131ymetler": {
"account_type": "Payable"
}
},
"Ticari Bor\u00e7lar": {
"Al\u0131nan Depozito Ve Teminatlar": {
"account_type": "Payable"
},
"Bor\u00e7 Senetleri": {
"account_type": "Payable"
},
"Bor\u00e7 Senetleri Reeskontu(-)": {
"account_type": "Payable"
},
"Di\u011fer Ticari Bor\u00e7lar": {
"account_type": "Payable"
},
"Sat\u0131c\u0131lar": {
"account_type": "Payable"
},
"account_type": "Payable"
},
"Y\u0131llara Yayg\u0131n \u0130n\u015faat Ve Onar\u0131m Hakedi\u015fleri": {
"350 Y\u0131llara Yayg\u0131n \u0130n\u015faat Ve Onar\u0131m Hakedi\u015fleri Bedelleri": {
"account_type": "Payable"
},
"account_type": "Payable"
},
"root_type": "",
"\u00d6denecek Vergi ve Di\u011fer Y\u00fck\u00fcml\u00fcl\u00fckler": {
"Vadesi Ge\u00e7mi\u015f, Ertelenmi\u015f Veya Taksitlendirilmi\u015f Vergi Ve Di\u011fer Y\u00fck\u00fcml\u00fcl\u00fckler": {
"account_type": "Tax"
},
"account_type": "Tax",
"\u00d6denecek Di\u011fer Y\u00fck\u00fcml\u00fcl\u00fckler": {
"account_type": "Tax"
},
"\u00d6denecek Sosyal G\u00fcvenl\u00fck Kesintileri": {
"account_type": "Tax"
},
"\u00d6denecek Vergi Ve Fonlar": {
"account_type": "Tax"
}
}
},
"Maliyet Hesaplar\u0131": {
"Ara\u015ft\u0131rma Ve Geli\u015ftirme Giderleri": {},
"Direkt \u0130lk Madde Ve Malzeme Giderleri": {
"Direk \u0130lk Madde Ve Malzeme Giderleri Hesab\u0131": {},
"Direkt \u0130lk Madde Ve Malzeme Fiyat Fark\u0131": {},
"Direkt \u0130lk Madde Ve Malzeme Miktar Fark\u0131": {},
"Direkt \u0130lk Madde Ve Malzeme Yans\u0131tma Hesab\u0131": {}
},
"Direkt \u0130\u015f\u00e7ilik Giderleri": {
"Direkt \u0130\u015f\u00e7ilik Giderleri": {},
"Direkt \u0130\u015f\u00e7ilik Giderleri Yans\u0131tma Hesab\u0131": {},
"Direkt \u0130\u015f\u00e7ilik S\u00fcre Farklar\u0131": {},
"Direkt \u0130\u015f\u00e7ilik \u00dccret Farklar\u0131": {}
},
"Finansman Giderleri": {
"Finansman Giderleri": {},
"Finansman Giderleri Fark Hesab\u0131": {},
"Finansman Giderleri Yans\u0131tma Hesab\u0131": {}
},
"Genel Y\u00f6netim Giderleri": {
"Genel Y\u00f6netim Gider Farklar\u0131 Hesab\u0131": {},
"Genel Y\u00f6netim Giderleri": {},
"Genel Y\u00f6netim Giderleri Yans\u0131tma Hesab\u0131": {}
},
"Genel \u00dcretim Giderleri": {
"Genel \u00dcretim Giderleri": {},
"Genel \u00dcretim Giderleri B\u00fct\u00e7e Farklar\u0131": {},
"Genel \u00dcretim Giderleri Kapasite Farklar\u0131": {},
"Genel \u00dcretim Giderleri Verimlilik Giderleri": {},
"Genel \u00dcretim Giderleri Yans\u0131tma Hesab\u0131": {}
},
"Hizmet \u00dcretim Maliyeti": {
"Hizmet \u00dcretim Maliyeti": {},
"Hizmet \u00dcretim Maliyeti Fark Hesaplar\u0131": {},
"Hizmet \u00dcretim Maliyeti Yans\u0131tma Hesab\u0131": {}
},
"Maliyet Muhasebesi Ba\u011flant\u0131 Hesaplar\u0131": {
"Maliyet Muhasebesi Ba\u011flant\u0131 Hesab\u0131": {},
"Maliyet Muhasebesi Yans\u0131tma Hesab\u0131": {}
},
"Pazarlama, Sat\u0131\u015f Ve Da\u011f\u0131t\u0131m Giderleri": {
"Atra\u015ft\u0131rma Ve Geli\u015ftirme Giderleri": {},
"Pazarlama Sat\u0131\u015f Ve Dag\u0131t\u0131m Giderleri Yans\u0131tma Hesab\u0131": {},
"Pazarlama Sat\u0131\u015f Ve Da\u011f\u0131t\u0131m Giderleri Fark Hesab\u0131": {}
},
"root_type": ""
},
"Naz\u0131m Hesaplar": {
"root_type": ""
},
"Serbest Hesaplar": {
"root_type": ""
},
"Uzun Vadeli Yabanc\u0131 Kaynaklar": {
"Al\u0131nan Avanslar": {
"Al\u0131nan Di\u011fer Avanslar": {
"account_type": "Payable"
},
"Al\u0131nan Sipari\u015f Avanslar\u0131": {
"account_type": "Payable"
},
"account_type": "Payable"
},
"Bor\u00e7 Ve Gider Kar\u015f\u0131l\u0131klar\u0131": {
"Di\u011fer Bor\u00e7 Ve Gider Kar\u015f\u0131l\u0131klar\u0131": {
"account_type": "Payable"
},
"K\u0131dem Tazminat\u0131 Kar\u015f\u0131l\u0131\u011f\u0131": {},
"account_type": "Payable"
},
"Di\u011fer Bor\u00e7lar": {
"Ba\u011fl\u0131 Ortakl\u0131klara Bor\u00e7lar": {
"account_type": "Payable"
},
"Di\u011fer Bor\u00e7 Senetleri Reeskontu(-)": {
"account_type": "Payable"
},
"Di\u011fer \u00c7e\u015fitli Bor\u00e7lar": {
"account_type": "Payable"
},
"Kamuya Olan Ertelenmi\u015f Veya Taksitlendirilmi\u015f Bor\u00e7lar": {
"account_type": "Payable"
},
"Ortaklara Bor\u00e7lar": {
"account_type": "Payable"
},
"account_type": "Payable",
"\u0130\u015ftiraklere Bor\u00e7lar": {
"account_type": "Payable"
}
},
"Di\u011fer Uzun Vadeli Yabanc\u0131 Kaynaklar": {
"Di\u011fer \u00c7e\u015fitli Uzun Vadeli Yabanc\u0131 Kaynaklar": {
"account_type": "Payable"
},
"Gelecek Y\u0131llara Ertelenmi\u015f Veya Terkin Edilecek KDV": {
"account_type": "Payable"
},
"Tesise Kat\u0131lma Paylar\u0131": {
"account_type": "Payable"
},
"account_type": "Payable"
},
"Gelecek Y\u0131llara Ait Gelirler Ve Gider Tahakkuklar\u0131": {
"Gelecek Y\u0131llara Ait Gelirler": {},
"Gider Tahakkuklar\u0131": {}
},
"Mali Bor\u00e7lar": {
"Banka Kredileri": {
"account_type": "Payable"
},
"Di\u011fer Mali Bor\u00e7lar": {
"account_type": "Payable"
},
"Ertelenmi\u015f Finansal Kiralama Bor\u00e7lanma Maliyetleri(-)": {
"account_type": "Payable"
},
"Finansal Kiralama \u0130\u015flemlerinden Bor\u00e7lar": {
"account_type": "Payable"
},
"Menkul K\u0131ymetler \u0130hra\u00e7 Fark\u0131(-)": {
"account_type": "Payable"
},
"account_type": "Payable",
"\u00c7\u0131kar\u0131lm\u0131\u015f Di\u011fer Menkul K\u0131ymetler": {
"account_type": "Payable"
},
"\u00c7\u0131kar\u0131lm\u0131\u015f Tahviller": {
"account_type": "Payable"
}
},
"Ticari Bor\u00e7lar": {
"Al\u0131nan Depozito Ve Teminatlar": {
"account_type": "Payable"
},
"Bor\u00e7 Senetleri": {
"account_type": "Payable"
},
"Bor\u00e7 Senetleri Reeskontu(-)": {
"account_type": "Payable"
},
"Di\u011fer Ticari Bor\u00e7lar": {
"account_type": "Payable"
},
"Sat\u0131c\u0131lar": {
"account_type": "Payable"
},
"account_type": "Payable"
},
"root_type": ""
},
"\u00d6z Kaynaklar": {
"D\u00f6nem Net K\u00e2r\u0131 (Zarar\u0131)": {
"D\u00f6nem Net K\u00e2r\u0131": {},
"D\u00f6nem Net Zarar\u0131(-)": {}
},
"Ge\u00e7mi\u015f Y\u0131llar K\u00e2rlar\u0131": {
"Ge\u00e7mi\u015f Y\u0131llar K\u00e2rlar\u0131": {}
},
"Ge\u00e7mi\u015f Y\u0131llar Zararlar\u0131(-)": {
"Ge\u00e7mi\u015f Y\u0131llar Zararlar\u0131(-)": {}
},
"K\u00e2r Yedekleri": {
"Di\u011fer K\u00e2r Yedekleri": {},
"Ola\u011fan\u00fcst\u00fc Yedekler": {},
"Stat\u00fc Yedekleri": {},
"Yasal Yedekler": {},
"\u00d6zel Fonlar": {}
},
"Sermaye Yedekleri": {
"Di\u011fer Sermaye Yedekleri": {},
"Hisse Senedi \u0130ptal K\u00e2rlar\u0131": {},
"Hisse Senetleri \u0130hra\u00e7 Primleri": {},
"Maddi Duran Varl\u0131k Yeniden De\u011ferlenme Art\u0131\u015flar\u0131": {},
"Maliyet Art\u0131\u015flar\u0131 Fonu": {},
"\u0130\u015ftirakler Yeniden De\u011ferleme Art\u0131\u015flar\u0131": {}
},
"root_type": "",
"\u00d6denmi\u015f Sermaye": {
"Sermaye": {},
"\u00d6denmi\u015f Sermaye(-)": {
"account_type": "Payable"
}
}
}
}
}

View File

@@ -1,341 +0,0 @@
{
"country_code": "uy",
"name": "Uruguay - Plan de Cuentas",
"tree": {
"ACTIVO": {
"ACTIVO CORRIENTE": {
"BIENES DE CAMBIO": {
"Importaciones en tramite": {},
"Materiales y Suministros": {},
"Materias Primas": {},
"Mercaderia de Reventa": {},
"Prevision p/desvalorizaciones": {},
"Productos Terminados": {},
"Productos en Proceso": {}
},
"CREDITOS POR VENTAS": {
"Cheques en Cartera ME": {},
"Cheques en Cartera MN": {},
"Deudores Simples Plaza": {},
"Deudores Varios (def)": {},
"Deudores por Exportaciones": {},
"Documentos a Cobrar ME": {},
"Documentos a Cobrar MN": {},
"Ingresos diferidos": {},
"Intereses percibidos por adelantado": {},
"Prevision p/dtos y Bonificaciones": {},
"Prevision para Deudores Incobrables": {}
},
"DGI ANTICIPOS": {
"Diversos": {
"account_type": "Tax"
},
"Icosa Anticipo": {
"account_type": "Tax"
},
"Ingresos diferidos": {},
"Ingresos percibidos por adelantado": {},
"Irae Anticipo": {
"account_type": "Tax"
},
"Patrimonio Anticipo": {
"account_type": "Tax"
},
"Prevision para Deudores Incobrables": {}
},
"DGI IVA x COMPRAS": {
"Iva Anticipo Importaci\u00f3n": {
"account_type": "Tax"
},
"Iva Compras B\u00e1sica": {
"account_type": "Tax"
},
"Iva Compras M\u00ednima": {
"account_type": "Tax"
},
"Iva Importaci\u00f3n": {
"account_type": "Tax"
},
"Iva Pagos": {
"account_type": "Tax"
},
"Iva Retenciones": {
"account_type": "Tax"
}
},
"DISPONIBILIDADES": {
"Banco Cuenta Corriente": {},
"Banco Cuenta Corriente ME": {},
"Caja Moneda Extranjera": {},
"Caja Moneda Nacional": {},
"Movimientos Banco (def)": {}
},
"INVERSIONES TEMPORARIAS": {
"Dep\u00f3sitos Bancarios": {},
"Intereses percibidos por adelantado": {},
"Previsi\u00f3n para desvalorizaciones": {},
"Valores P\u00fablicos": {}
},
"OTROS CREDITOS": {
"Anticipos a Proveedores": {},
"Casa Matriz, Empresas Controlantes": {},
"Controladas / Vinculadas": {},
"Depositos en Garantia": {},
"Pagos adelantados": {},
"Saldos Deudor de ctas de Directores": {}
}
},
"ACTIVO NO CORRIENTE": {
"BIENES DE CAMBIO NO CORRIENTES": {
"Bienes de cambio no corrientes": {}
},
"BIENES DE USO": {
"Amort.Ac.Inmuebles": {},
"Amort.Ac.Maq.y Herram.": {},
"Amort.Ac.Mueb.y Utiles": {},
"Amort.Ac.Vehiculos": {},
"Inmuebles": {},
"Maquinas y Herramientas": {},
"Muebles y \u00datiles": {},
"Veh\u00edculos": {}
},
"CREDITOS A LARGO PLAZO": {
"Cr\u00e9ditos a Largo Plazo": {}
},
"INTANGIBLES": {
"Amortizaciones Acumuladas": {},
"Gastos de investigacion": {},
"Patentes, marcas y licencias": {}
},
"INVERSIONES A LARGO PLAZO": {
"Depositos Bancarios": {},
"Inmuebles": {},
"Intereses percibidos por adelantado": {},
"Menos: Amort. Acum.": {},
"Prevision para Desvalorizaciones": {},
"Titulos y Acciones": {},
"Valores orig. y revaluados s/anexo": {}
}
},
"root_type": "Asset"
},
"GANANCIAS": {
"INGRESOS FINANCIEROS": {
"Descuentos Obtenidos": {},
"Diferencias de Cambio ganadas": {},
"Intereses ganados": {}
},
"Ingresos Operativos (def)": {},
"VENTAS EXTRAORDINARIAS": {
"Ventas extraordinarias": {}
},
"VENTAS ORDINARIAS": {
"Ventas Exentas": {},
"Ventas Tasa B\u00e1sica": {},
"Ventas Tasa M\u00ednima": {},
"Ventas por Exportaciones": {}
},
"root_type": "Income"
},
"ORDEN ACTIVO": {
"Acciones a Emitir": {},
"Suscriptores de acciones": {},
"root_type": "Asset"
},
"ORDEN PASIVO": {
"Capital Autorizado a Suscribir": {},
"Capital suscripto": {},
"root_type": "Liability"
},
"PASIVO": {
"PASIVO CORRIENTE": {
"DEUDAS COMERCIALES": {
"Acreedores Varios (def)": {},
"Deuds. Contratos de Cambio Import.": {},
"Documentos a Pagar ds/Comerciales": {},
"Intereses a vencer ds/Comerciales": {},
"Proveedores de Plaza": {},
"Proveedores por Importaciones": {}
},
"DEUDAS DIVERSAS": {
"Acreedores fiscales": {},
"Acreedores por Cargas Sociales": {},
"Casa Matriz, Empresas Controlantes,": {},
"Cobros Anticipados": {},
"Controladas/Vinculadas": {},
"DGI ICOSA": {
"Icosa Anticipo a Pagar": {
"account_type": "Tax"
},
"Icosa a Pagar": {
"account_type": "Tax"
},
"Icosa del Ejercicio": {
"account_type": "Tax"
}
},
"DGI IRAE": {
"Irae Anticipo a Pagar": {
"account_type": "Tax"
},
"Irae a Pagar": {
"account_type": "Tax"
},
"Irae del Ejercicio": {
"account_type": "Tax"
}
},
"DGI PATRIMONIO": {
"Patrimonio Anticipo a Pagar": {
"account_type": "Tax"
},
"Patrimonio a Pagar": {
"account_type": "Tax"
},
"Patrimonio del Ejercicio": {
"account_type": "Tax"
}
},
"Dividendos a Pagar": {},
"Otras deudas": {},
"Saldos Acreedores Cuentas Directores": {},
"Sueldos y Jornales a pagar": {}
},
"DEUDAS FINANCIERAS": {
"Documentos a pagar ME a pagar ds/Financieras": {},
"Documentos a pagar MN a pagar ds/Financieras": {},
"Ints. a vencer ds/Financieras": {},
"Obligaciones": {},
"Prestamos Bancarios": {}
},
"DGI IVA x VENTAS": {
"Bps": {
"account_type": "Tax"
},
"Irpf Retenido": {
"account_type": "Tax"
},
"Iva Retenido": {
"account_type": "Tax"
},
"Iva Ventas B\u00e1sica": {
"account_type": "Tax"
},
"Iva Ventas M\u00ednima": {
"account_type": "Tax"
},
"Iva a Pagar": {
"account_type": "Tax"
}
},
"PREVISIONES": {
"Responsabilidad frente a terceros": {}
}
},
"PASIVO NO CORRIENTE": {
"DEUDAS COMERCIALES": {
"Deudas Comerciales": {}
},
"DEUDAS DIVERSAS": {
"Deudas Diversas": {}
},
"DEUDAS FINANCIERAS": {
"Deudas Financieras": {}
},
"PREVISIONES NO CORRIENTES": {
"Previsiones No Corrientes": {}
}
},
"root_type": "Liability"
},
"PATRIMONIO": {
"AJUSTES AL PATRIMONIO": {
"AJUSTES PATRIMONIO (H)": {
"Revaluaciones fiscales": {
"account_type": "Equity"
},
"Revaluaciones voluntarias": {
"account_type": "Equity"
}
}
},
"APORTE DE PROPIETARIOS/SOCIOS": {
"APORTES A CAPITALIZAR": {},
"CAPITAL": {
"Capital Integrado": {
"account_type": "Equity"
}
}
},
"GANANCIAS RETENIDAS": {
"RESERVAS": {
"P\u00e9rdidas y Ganancias": {
"account_type": "Equity"
},
"Reservas Legales": {
"account_type": "Equity"
},
"Reservas Voluntarias": {
"account_type": "Equity"
}
},
"RESULTADOS ACUMULADOS": {
"Dividendos provisorios": {
"account_type": "Equity"
},
"Resultados del ejercicio": {
"account_type": "Equity"
}
}
},
"root_type": "Asset"
},
"PERDIDAS": {
"AMORTIZACIONES": {
"Amortizaciones": {}
},
"COSTO DE LO VENDIDO": {
"Costo de Mercader\u00edas": {},
"Costo de Venta de Bienes de Uso": {},
"Costos de lo vendido": {}
},
"GASTOS DE ADMINISTRACION Y VENTAS": {
"Alquileres": {},
"Cargas Sociales": {},
"Combustible": {},
"Comunicaciones y Servicios Telef\u00f3nicos": {},
"Energ\u00eda El\u00e9ctrica y Aguas Corrientes": {},
"Fletes": {},
"Gastos Varios (def)": {},
"Honorarios Profesionales": {},
"Mantenimiento Veh\u00edculos": {},
"Papeler\u00eda": {},
"Publicidad": {},
"Representaci\u00f3n": {},
"Seguros": {},
"Servicios Contratados": {},
"Sueldos y Jornales": {}
},
"GASTOS FINANCIEROS": {
"Descuentos Concedidos": {},
"Diferencias de Cambio perdidas": {},
"Intereses y Gastos Bancarios": {},
"Multas y Recargos Fiscales": {}
},
"OBLIGACIONES TRIBUTARIAS": {
"Contribuciones": {},
"IVA x VENTAS": {
"IVA ventas 10%": {
"account_type": "Tax"
},
"IVA ventas 22%": {
"account_type": "Tax"
}
},
"Otros": {},
"Retenciones": {}
},
"root_type": "Expense"
}
}
}

View File

@@ -1,612 +0,0 @@
{
"country_code": "ve",
"name": "Venezuelan - Chart of Accounts",
"tree": {
"ACTIVO": {
"ACTIVO CIRCULANTE": {
"DOCUMENTOS Y CUENTAS POR COBRAR": {
"0TRAS CUENTAS POR COBRAR": {
"0TRAS CUENTAS X COBRAR OTROS DEUDORES": {
"account_type": "Receivable"
},
"ADELANTO A PROVEEDORES": {},
"DEPOSITOS VARIOS": {},
"ENTES GUBERNAMENTALES": {},
"RECLAMO AL SEGURO": {},
"TRANSFERENCIAS BANCARIAS": {}
},
"COMPA\u00d1IAS AFILIADAS Y RELACIONADAS": {
"ACCESORIOS AMD COMPUTADORAS,C.A.": {},
"AMD COMPUTER SHOP, C.A.": {},
"COMERCIALIZADORA JGV 3000, C.A.": {},
"COMERCIALIZADORA LVG ELECTRONIC, C.A.": {},
"COMERCIALIZADORA M321,C.A.": {}
},
"CUENTAS POR COBRAR ACCIONISTAS": {
"CUENTAS POR PAGAR SOCIOS": {
"account_type": "Payable"
}
},
"CUENTAS POR COBRAR EMPLEADOS": {
"CUENTAS POR COBRAR CLIENTES": {
"account_type": "Receivable"
},
"CUENTAS POR COBRAR SOCIOS": {
"account_type": "Receivable"
},
"PRESTAMOS PERSONALES": {},
"SEGURO DE VEHICULOS": {},
"UTILIDADES": {},
"VACACIONES": {},
"VIATICOS VENDEDORES": {}
},
"CUENTAS POR COBRAR EXTERIOR": {},
"CUENTAS POR COBRAR NACIONALES": {
"COBRO ANTICIPO CLIENTES": {},
"CUENTAS POR COBRAR CLIENTES": {
"account_type": "Receivable"
},
"CUENTAS POR COBRAR DETALLISTA": {
"account_type": "Receivable"
},
"CUENTAS POR COBRAR MAYORISTA": {
"account_type": "Receivable"
}
},
"EFECTOS POR COBRAR": {
"EFECTOS POR COBRAR NACIONALES": {
"account_type": "Receivable"
}
},
"INTERESES POR COBRAR": {},
"PROVINCION INCOBRABLES NACIONAL": {
"PROVINCION INCOBRABLES EXTERIOR": {},
"PROVISION INCOBRALES NACIONALES": {}
}
},
"EFECTIVO Y VALORES NEGOCIABLES": {
"BANCOS E INSTITUCIONES FINANCIERAS EXTERIOR": {
"BANCO MERCANTIL COMMERCEBANK": {
"account_type": "Cash"
}
},
"BANCOS E INTITUCIONES FINANCIERAS": {
"BANCO BANESCO": {
"account_type": "Cash"
},
"BANCO BANPLUS": {
"account_type": "Cash"
},
"BANCO BOLIVAR": {
"account_type": "Cash"
},
"BANCO CORP BANCA": {
"account_type": "Cash"
},
"BANCO DE VENEZUELA": {
"account_type": "Cash"
},
"BANCO EXTERIOR": {
"account_type": "Cash"
},
"BANCO FONDO COMUN": {
"account_type": "Cash"
},
"BANCO MERCANTIL": {
"account_type": "Cash"
},
"BANCO PROVINCIAL": {
"account_type": "Cash"
},
"BANESCO BANCO UNIVERSAL": {
"account_type": "Cash"
}
},
"CAJAS": {
"CAJA CHICA": {},
"CAJA GENERAL": {},
"CAJA PRINCIPAL": {},
"FONDO A DEPOSITAR": {}
},
"INVERSIONES A CORTO PLAZO": {
"INVERSIONES EN BONOS M.E.": {},
"INVERSIONES EN BONOS M.N.": {},
"INVERSIONES TEMPORALES": {},
"PAPELES COMERCIALES": {}
}
},
"GASTOS OPERACIONALES": {
"GASTOS PREPAGADOS OPERATIVOS": {
"ALQUILERES": {},
"PUBLICIDAD": {},
"SEGURO H.C.M.": {},
"SEGURO PREPAGADOS": {}
}
},
"IMPUESTOS PAGADOS POR ANTICIPADOS": {
"IMPUESTOS": {
"I.S.L.R RETENIDO": {},
"I.S.L.R. DECLARACION ESTIMADAS": {},
"I.V.A. CREDITO FISCAL": {},
"I.V.A. CREDITO FISCAL IMPORTACION": {},
"I.V.A. RETENIDO": {},
"PATENTE MUNICIPAL ESTIMADA": {}
}
},
"INVENTARIOS": {
"INVENTARIO EN TRANSITO": {
"MERCANCIA EN TRANSITOS": {}
},
"INVENTARIOS DE MERCANCIA": {
"INVENTARIO FINAL": {},
"INVENTARIO MERCANCIA ACTUALIZACION DEL VALOR": {},
"INVENTARIOS DE MERCANCIA EXTERIOR": {},
"INVENTARIOS DE MERCANCIA NACIONAL": {}
}
}
},
"ACTIVO LARGO PLAZO": {
"ACTIVO FIJO NETO": {
"ACTIVO FIJO": {
"INMUEBLES COSTO ORIGINAL": {},
"LICENCIA & SOFWARE COSTO ORIGINAL": {},
"MAQUINARIAS Y EQUIPOS COSTO ORIGINAL": {},
"MUEBLES Y ENSERES COSTO ORIGINAL": {},
"TERRENO COSTO ORIGINAL": {},
"VEHICULOS COSTO ORIGINAL": {}
},
"DEPRECIACION Y AMORTIZACION ACUMULADAS": {
"INMUEBLES COSTO ORIGINAL": {},
"MAQUINARIAS Y EQUIPOS COSTO ORIGINAL": {},
"MEJORAS A PROPIEDAD COSTO ORIGINAL": {},
"MUEBLES Y ENSERES COSTO ORIGINAL": {},
"TERRENOS COSTO ORIGINAL": {},
"VEHICULOS COSTO ORIGINAL": {}
}
},
"CARGOS DIFERIDOS": {
"CARGOS DIFERIDOS": {
"GASTOS DE CONSTITUCION": {},
"MARCA DE FABRICA": {},
"OTRAS CUENTAS POR COBRAR": {
"account_type": "Receivable"
}
}
},
"IMPUESTOS DIFERIDOS": {
"IMPUESTOS DIFERIDOS I.S.L.R": {
"IMPUESTOS DIFERIDOS I.S.L.R": {}
}
},
"INVERSIONES LARGO PLAZO": {
"TITULOS DE VALORES": {
"BONOS TITULOS": {},
"INVERSIONES EN BONOS M.N.": {},
"INVERSIONES PERMANENTES": {}
}
},
"OTROS ACTIVOS": {
"OTROS ACTIVOS": {
"DEPOSITOS GARANTIA ARRENDAMIENTO LOCAL": {},
"DEPOSITOS GARANTIA BANCOS": {},
"DEPOSITOS GARANTIA PROVEEDORES": {}
}
}
},
"root_type": ""
},
"COSTO": {
"COSTO DE VENTAS": {
"COSTO DE VENTAS": {
"COSTO DE VENTAS": {
"COSTO DE VENTAS": {}
}
}
},
"root_type": ""
},
"CUENTAS DE ORDEN": {
"CUENTAS DE ORDEN": {
"CUENTAS DE ORDEN DEUDORAS": {
"CUENTAS DE ORDEN DEUDORAS": {
"CARTAS DE CREDITOS": {},
"MERCANCIAS EN CONSIGNACION": {}
}
}
},
"CUENTAS DE ORDEN ACREEDORAS": {
"CUENTAS DE ORDEN ACREEDORAS": {
"CUENTAS DE ORDEN ACREEDORAS": {
"MERCANCIA EN CONSIGNACION P. COMPRA0": {}
}
}
},
"root_type": ""
},
"GASTOS": {
"GASTOS OPERATIVOS": {
"DEPRECIACION Y AMORTIZACION": {
"AMORTIZACION": {
"SEGUROS": {}
},
"DEPRECIACION": {
"INMUEBLES": {},
"LICENCIA & SOFTWARE": {},
"MAQUINARIAS Y EQUIPOS": {},
"MEJORAS A PROPIEDAD": {},
"MUEBLES Y ENSERES": {},
"VEHICULOS": {}
}
},
"GASTOS COMERCIALIZACION": {
"GASTOS DE DISTRIBUCION": {
"ACTIVIDADES REGIONALES": {},
"CUENTAS INCOBRABLES NACIONALES": {},
"DISTRIBUCION Y REPARTO LOCALES": {},
"EVENTOS ESPECIALES": {},
"MATERIALES PROMOCIONALES": {},
"MEDIOS": {},
"PATENTE INDUSTRIA Y COMERCIO": {},
"PRODUCCION MATERIAL P.O.P.": {},
"PROMOCIONES": {},
"PUBLICIDAD": {},
"TRANSPORTE Y FLETES": {}
}
},
"GASTOS DE PERSONAL": {
"GASTOS PERSONAL": {
"BENEFICIOS ADIESTRAMIENTOS-CURSOS": {},
"BENEFICIOS BECAS": {},
"BENEFICIOS COMEDOR": {},
"BENEFICIOS SERVICIOS MEDICOS": {},
"BENEFICIOS UNIFORMES": {},
"BONIFICACION UNICA ESPECIAL": {},
"BONO VACACIONAL": {},
"COMISION AL PERSONAL": {},
"CONTRIBUCIONES F.A.O.V.": {},
"CONTRIBUCIONES I.N.C.E.S.": {},
"CONTRIBUCIONES I.V.S.S.": {},
"GASTOS PERSONAL CONTRATADO": {},
"GASTOS PERSONAL PASANTE": {},
"GASTOS PERSONAL TRANSFERIDOSR": {},
"HORAS EXTRAORDINARIAS": {},
"HORAS EXTRAS": {},
"INTERESES S/PRESTACIONES SOCIALES": {},
"LOCTI": {},
"LOPCYMAT": {},
"PRESTACIONES SOCIALES": {},
"PRIMA POR RENDIMIENTO": {},
"PROGRAMA DE ALIMENTACION EMPLEADOS": {},
"SEGURO H.C.M.": {},
"SUELDOS DIRECTIVOS": {},
"SUELDOS EMPLEADOS": {},
"TRANSPORTE Y ALIMENTACION": {},
"UTILIDADES": {},
"VACACIONES": {},
"VIATICOS Y GASTOS DE REPRESENTACION": {}
}
},
"GASTOS GENERALES": {
"GASTOS GENERALES": {
"AGUA POTABLE Y REFRIGERIO": {},
"AJUSTE DE INVENTARIOS DONADOS": {},
"AJUSTE DE INVENTARIOS OBSOLETOS": {},
"ALQUILER DE LOCALES": {},
"ARTICULOS DE OFICINA": {},
"ASEO URBANO": {},
"ASEO Y LIMPIEZA": {},
"AVERIAS-PRODUCTOS": {},
"BONIFICACION UNICA ESPECIAL": {},
"COMBUSTIBLES Y LUBRICANTES": {},
"COMIDAS, VIAJES Y TRASLADOS": {},
"CONDOMINIOS": {},
"CONVENSION DE COMERCIALIZACION": {},
"DERECHO DE FRENTE": {},
"ENERGIA ELECTRICA": {},
"EQUIPOS Y EVENTOS DEPOSRTIVOS": {},
"ESTACIONAMINETO": {},
"FLETES Y TRANSPORTES": {},
"FOTOCOPIADO": {},
"GASTOS DE I.S.L.R.": {},
"GASTOS DE REPRESENTACION": {},
"GASTOS DE SISTEMAS": {},
"HONORARIOS PROFESIONALES": {},
"HOSPEDAJE": {},
"MANTENIMIENTOS": {},
"OBSEQUIOS": {},
"PARTIDAS NO DEDUCIBLES": {},
"PASAJE EXTERIOR NO DEDUCIBLE": {},
"PASAJES LOCALES Y EXT.DEDUCIBLES": {},
"RELACIONES INDUSTRIALES": {},
"REPARACIONES": {},
"REPAROS": {},
"SEGUROS": {},
"SERVICIOS CONTRATADOS A TERCEROS": {},
"SERVICIOS DE PUBLICIDAD": {},
"SERVICIOS PUBLICOS": {},
"SUMINISTROS DE EQUIPOS DE OFICINA": {},
"TELEFONOS Y TELEGRAFOS": {},
"TRAMITES DE SOLVENCIAS": {},
"TRAMITES LEGALES": {},
"UTILES DE LIMPIEZA": {},
"VIATICOS DEDUCIBLES": {},
"VIATICOS NO DEDUCIBLES": {}
}
}
},
"root_type": ""
},
"INGRESOS": {
"INGRESOS OPERACIONALES": {
"INGRESOS OPERACIONALES": {
"DESCUENTOS Y DEVOLUCION EN VENTAS": {
"DESCUENTOS EN VENTAS": {},
"DEVOLUCIONES EN VENTAS": {}
},
"INGRESOS POR SERVICIOS": {
"INGRESOS POR SERVICIOS": {}
},
"VENTAS": {
"VENTAS EXPORTACION": {},
"VENTAS INMUEBLES": {},
"VENTAS NACIONALES AL DETAL": {},
"VENTAS NACIONALES AL MAYOR": {}
}
}
},
"root_type": ""
},
"OTROS INGRESOS (EGRESOS)": {
"EGRESOS": {
"GASTOS FINANCIEROS": {
"EGRESOS NO GRAVABLES": {
"IMPUESTOS A LAS TRANSACIONES FINANCIERAS": {}
},
"GASTOS FINANCIEROS": {
"COMISIONES TICKET DE ALIMENTACION": {},
"COMSIONES Y GASTOS BANCARIOS": {},
"INTERESES BANCOS NACIONALES": {},
"OTROS EGRESOS": {}
},
"OTROS EGRESOS": {
"AJUSTE DE A\u00d1OS ANTERIORES": {},
"FLUCTUACION CAMBIARIA NO REALIZADAS": {},
"INTERESES S/PRESTACIONES SOCIALES": {},
"PERDIDA POR ROBO DE INVENTARIO": {},
"PERDIDAS EN DIFERENCIAL CAMBIARIO": {},
"PERDIDAS EN INVERSIONES DE BONOS P.": {},
"PERDIDAS EN VENTAS ACTIVOS FIJOS": {},
"PERDIDAS EN VENTAS DE INVERSIONES": {}
}
}
},
"OTROS INGRESOS": {
"OTROS INGRESOS": {
"INGRESOS FINANCIEROS": {
"INTERESES DE BANCOS EXTRANJEROS": {},
"INTERESES DE BANCOS NACIONALES": {},
"OTROS INGRESOS FINANCIEROS": {}
},
"OTROS INGRESOS": {
"AJUSTES A\u00d1OS ANTERIORES": {},
"GANANCIAS EN DIFERENCIAL CAMBIARIO": {},
"GANANCIAS EN VENTAS DE ACTIVOS FIJOS": {},
"GANANCIAS EN VENTAS DE INVERSIONES": {},
"INTERESES VARIOS": {},
"OTROS INGRESOS": {}
}
}
},
"root_type": ""
},
"PASIVO": {
"OTROS PASIVOS A CORTO PLAZO": {
"OTROS PASIVOS A CORTO PLAZO": {
"OTROS PASIVOS A CORTO PLAZO": {
"PASIVOS A CORTO PLAZO": {}
}
}
},
"PASIVO A LARGO PLAZO": {
"ACUMULACIONES PARA INDEMNIZ. LABORALES": {
"ACUMULACIONES PARA INDEMNIZ.LABORALES": {
"INDEMNIZACIONES DOBLES": {},
"INDEMNIZACIONES SENCILLAS": {}
}
},
"OTROS PASIVOS A LARGO PLAZO": {
"OTROS PASIVOS A LARGO PLAZO": {
"OTROS PASIVOS A LARGO PLAZO": {}
}
},
"PASIVOS FINANCIEROS A LARGO PLAZO": {
"PASIVOS FINANCIEROS A LARGO PLAZO": {
"PASIVOS FINANCIEROS A LARGO PLAZO": {}
}
},
"PASIVOS INTERCOMPA\u00d1IAS": {
"PASIVOS INTERCOMPA\u00d1IAS": {
"PASIVOS INTERCOMPA\u00d1IAS": {}
}
}
},
"PASIVOA CORTO PLAZO": {
"ACUMULACIONES LABORALES": {
"ACUMULACIONES LABORALES": {
"F.A.O.V APORTES EMPLEADOS": {},
"FONDO DE AHORRO": {},
"FONDO FIDEICOMISO": {},
"I.N.C.E.S APORTES EMPLEADOS": {},
"I.V.S.S APORTES EMPLEADOS": {}
}
},
"DIVIDENDO POR PAGAR": {
"DIVIDENDO POR PAGAR": {
"DIVDENDO POR COBRAR NO COBRADOS": {
"account_type": "Receivable"
},
"DIVIDENDO POR PAGAR VIGENTES": {
"account_type": "Payable"
}
}
},
"DOCUMENTOS Y CUENTAS POR PAGAR": {
"COMPA\u00d1IAS AFILIADAS Y RELACIONADAS": {
"ACCESORIOS AMD COMPUTADORAS,C.A.": {},
"AMD COMPUTER SHOP, C.A.": {},
"COMERCIALIZADORA JGV 3000, C.A.": {},
"COMERCIALIZADORA LVG ELECTRONIC, C.A.": {},
"COMERCIALIZADORA M321,C.A.": {}
},
"CUENTAS POR PAGAR ACCIONISTAS": {
"CUENTAS POR PAGAR SOCIOS": {
"account_type": "Payable"
}
},
"PROVEEDORES EXTRANJEROS": {
"MICRO INFORMATICA 11C": {},
"STARREC GROUP USA,INC": {},
"T.W.C. COMPUTER, INC.": {}
},
"PROVEEDORES OCASIONALES": {
"CUENTAS POR PAGAR PROVEEDORES": {
"account_type": "Payable"
}
}
},
"GASTOS ACUMULADOS Y RETENCIONES POR PAGAR": {
"CONTRIBUCIONES": {
"F.A.O.V APORTE EMPRESA": {},
"I.N.C.E.S APORTE EMPRESA": {},
"I.V.S.S APORTE EMPRESA": {}
},
"OTRAS ACUMULACIONES": {
"ADELANTO DE CLIENTES": {},
"ALQUILERES": {},
"BONIFICACION ACCIDENTAL UNICA": {},
"BONO VACACIONAL": {},
"COMISIONES": {},
"CONVESION DE COMERCIALIZACION": {},
"IMPUESTOS POR PAGAR": {
"account_type": "Payable"
},
"INTERESES S/PRESTACIONES SOCIALES": {},
"L.O.P.T.I.": {},
"NOMINA POR PAGAR": {
"account_type": "Payable"
},
"POLIZA DE SEGURO POR PAGAR": {
"account_type": "Payable"
},
"PRESTACIONES SOCIALES": {},
"PROGRAMA DE ALIMENTACION": {},
"PUBLICIDAD Y PROPAGANDA": {},
"TARJETA CORPORATIVA": {},
"UTILIDADES": {},
"VACACIONES": {}
},
"RETENCIONES E IMPUESTOS POR PAGAR": {
"I.V.A DEBITO FISCAL": {},
"I.V.A.RETENIDO EN COMPRAS": {},
"RETENCIONES I.S.L.R. EMPLEADOS": {},
"RETENCIONES I.S.L.R. PROVEEDORES": {}
},
"RETENCIONES VARIAS": {
"EMBARGO DE SUELDO": {},
"PRESTAMOS SOBRE FIDEICOMISO": {},
"SINDICATOS": {}
}
},
"IMPUESTOS SOBRE LA RENTA POR PAGAR": {
"I.S.L.R. ACUMULADOS GASTOS": {
"DECLARACION ESTIMADAS": {},
"I.S.L.R. ACUMULADOS GASTOS": {},
"RAR AJUSTE INICIAL POR INFLACION": {}
}
},
"PASIVOS FINACIEROS A CORTO PLAZO": {
"PASIVOS FINANCIEROS A CORTO PLAZO": {
"BANCO BANESCO": {
"account_type": "Cash"
},
"BANCO EXTRANJERO": {
"account_type": "Cash"
},
"BANCO MERCANTIL": {
"account_type": "Cash"
}
}
},
"RESERVAS": {
"RESERVAS": {
"RESERVAS FINANCIERAS": {},
"RESERVAS FISCALES": {},
"RESERVAS OPERATIVAS": {}
}
}
},
"root_type": ""
},
"PATRIMONIO": {
"CAPITAL SOCIAL": {
"ACCIONES EN TESORERIA": {
"ACCIONES EN TESORERIA": {
"ACCIONES EN TESORERIA": {},
"ACTUALIZACION DE VALOR": {}
}
},
"CAPITAL SOCIAL PAGADO": {
"CAPITAL SOCIAL PAGADO": {
"ACTUALIZACION DEL VALOR": {},
"CAPITAL SOCIAL PAGADO": {},
"CAPITAL SUSCRITO POR COPBAR": {}
}
}
},
"GANANCIAS Y PERDIDAS": {
"GANACIAS Y PERDIDAS": {
"GANACIAS Y PERDIDAS": {
"REI EJERCICIO": {}
}
}
},
"RESERVA DE CAPITAL": {
"OTRAS RESERVAS": {
"OTRAS RESERVAS": {
"ACTUALIZACION DEL VALOR": {},
"VALOR ORIGINAL": {}
}
},
"RESERVA LEGAL": {
"RESERVA LEGAL": {
"ACTUALIZACION DE VALOR": {},
"VALOR ORIGINAL RESERVA LEGAL": {}
}
}
},
"SUPERAVIT": {
"RESULT.POR TENDENCIA DE ACTIVO NO MONETARIOS": {
"RESULT.POR TENDENCIA DE ACTIVO NO MONETARIOS": {
"RETAM INVERSIONES": {},
"RETAM-ACTIVOS": {},
"RETAM-INVENTARIOS": {}
}
},
"SUPERAVIT GANADO": {
"RESULTADO POR EXPOS. A LA INFLACION": {
"ACTUALIZACION DEL PATRIMONIO": {},
"EXCLUSIONES FISCALES": {},
"REAJUSTE POR INFLACION": {},
"REI-ACUMULADOS": {},
"REI-EJERCICIO": {}
},
"SUPERAVIT OPERATIVO": {
"UTILIDADES DEL EJERCICIO": {},
"UTILIDADES NO DISTRIBUIDAS": {}
}
}
},
"root_type": ""
}
}
}

View File

@@ -1,475 +0,0 @@
{
"country_code": "ae",
"name": "U.A.E - Chart of Accounts",
"tree": {
"Assets": {
"Current Assets": {
"Accounts Receivable": {
"Corporate Credit Cards": {
"account_type": "Receivable"
},
"Other Receivable": {
"Accrued Rebates Due from Suppliers": {
"account_type": "Receivable"
},
"Accrued Income from Suppliers": {
"account_type": "Receivable"
},
"Other Debtors": {
"account_type": "Receivable"
},
"account_type": "Receivable"
},
"Post Dated Cheques Received": {
"account_type": "Receivable"
},
"Staff Receivable": {
"account_type": "Receivable"
},
"Trade Receivable": {
"account_type": "Receivable"
},
"Trade in Opening Fees": {
"account_type": "Receivable"
},
"account_type": "Receivable"
},
"Cash in Hand & Banks": {
"Banks": {
"Bank Margin On LC & LG": {},
"Banks Blocked Deposits": {},
"Banks Call Deposit Accounts": {},
"Banks Current Accounts": {
"account_type": "Bank"
},
"account_type": "Bank"
},
"Cash in Hand": {
"Cash in Safe": {
"Main Safe": {
"account_type": "Cash"
},
"Main Safe - Foreign Currency": {
"account_type": "Cash"
}
},
"Petty Cash": {
"Petty Cash - Administration": {
"account_type": "Cash"
},
"Petty Cash - Others": {
"account_type": "Cash"
}
},
"account_type": "Cash"
},
"Cash in Transit": {
"Credit Cards": {
"Gateway Credit Cards": {
"account_type": "Bank"
},
"Manual Visa & Master Cards": {
"account_type": "Bank"
},
"PayPal Account": {
"account_type": "Bank"
},
"Visa & Master Credit Cards": {
"account_type": "Bank"
}
}
}
},
"Inventory": {
"Consigned Stock": {
"Handling Difference in Inventory": {},
"Items Delivered to Customs on temporary Base": {}
},
"Stock in Hand": {
"account_type": "Stock"
}
},
"Preliminary and Preoperating Expenses": {
"Preoperating Expenses": {}
},
"Prepayments & Deposits": {
"Deposits": {
"Deposit - Office Rent": {},
"Deposit Others": {},
"Deposit to Immigration (Visa)": {},
"Deposits - Customs": {}
},
"Prepaid Taxes": {
"Sales Taxes Receivables": {},
"Withholding Tax Receivables": {}
},
"Prepayments": {
"Other Prepayments": {},
"PrePaid Advertisement Expenses": {},
"Prepaid Bank Guarantee": {},
"Prepaid Consultancy Fees": {},
"Prepaid Employees Housing": {},
"Prepaid Finance charge for Loans": {},
"Prepaid Legal Fees": {},
"Prepaid License Fees": {},
"Prepaid Life Insurance": {},
"Prepaid Maintenance": {},
"Prepaid Medical Insurance": {},
"Prepaid Office Rent": {},
"Prepaid Other Insurance": {},
"Prepaid Schooling Fees": {},
"Prepaid Site Hosting Fees": {},
"Prepaid Sponsorship Fees": {}
}
}
},
"Long Term Assets": {
"Fixed Assets": {
"Accumulated Depreciation": {
"Acc. Depreciation of Motor Vehicles": {
"account_type": "Accumulated Depreciation"
},
"Acc. Deprn.Computer Hardware & Software": {
"account_type": "Accumulated Depreciation"
},
"Acc.Deprn.of Furniture & Office Equipment": {
"account_type": "Accumulated Depreciation"
},
"Amortisation on Leasehold Improvement": {
"account_type": "Accumulated Depreciation"
},
"account_type": "Accumulated Depreciation"
},
"Fixed Assets (Cost Price)": {
"Computer Hardware & Software": {
"account_type": "Fixed Asset"
},
"Furniture and Equipment": {
"account_type": "Fixed Asset"
},
"Leasehold Improvement": {},
"Motor Vehicles": {
"account_type": "Fixed Asset"
},
"Work In Progress": {},
"account_type": "Fixed Asset"
}
},
"Intangible Assets": {
"Computer Card Renewal": {},
"Disposal of Outlets": {},
"Registration of Trademarks": {}
},
"Intercompany Accounts": {},
"Investments": {
"Investments in Subsidiaries": {}
}
},
"root_type": "Asset"
},
"Closing And Temporary Accounts": {
"Closing Accounts": {
"Closing Account": {}
},
"root_type": "Liability"
},
"Expenses": {
"Commercial Expenses": {
"Consultancy Fees": {},
"Provision for Doubtful Debts": {}
},
"Cost of Sale": {
"Cost Of Goods Sold": {
"Cost Of Goods Sold I/C Sales": {},
"Cost of Goods Sold in Trading": {
"account_type": "Cost of Goods Sold"
},
"account_type": "Cost of Goods Sold"
},
"Expenses Included In Valuation": {
"account_type": "Expenses Included In Valuation"
},
"Stock Adjustment": {
"account_type": "Stock Adjustment"
}
},
"Depreciation": {
"Depreciation & Amortization": {
"Amortization on Leasehold Improvement": {},
"Depreciation Of Computer Hard & Soft": {
"account_type": "Depreciation"
},
"Depreciation Of Furniture & Office Equipment\n\t\t\t": {
"account_type": "Depreciation"
},
"Depreciation Of Motor Vehicles": {
"account_type": "Depreciation"
}
}
},
"Direct Expenses": {
"Financial Charges": {
"Air Miles Card Charges": {},
"Amex Credit Cards Charges": {},
"Bank Finance & Loan Charges": {},
"Credit Card Charges": {},
"Credit Card Swipe Charges": {},
"PayPal Charges": {}
}
},
"MISC Charges": {
"Other Charges": {
"Capital Loss": {
"Disposal of Business Branch": {},
"Loss On Fixed Assets Disposal": {},
"Loss on Difference on Exchange": {}
},
"Other Non Operating Exp": {
"Other Non Operating Expenses": {}
},
"Previous Year Adjustments": {
"Previous Year Adjustments Account": {}
},
"Royalty Fees": {
"Royalty to Parent Co.": {}
},
"Tax / Zakat Expenses": {
"Income Tax": {
"account_type": "Tax"
},
"Zakat": {},
"account_type": "Tax"
}
}
},
"Share Resources": {
"Share Resource Expenses Account": {}
},
"Store Operating Expenses": {
"Selling, General & Admin Expenses": {
"Advertising Expenses": {
"Other - Advertising Expenses": {}
},
"Bank & Finance Charges": {
"Other Bank Charges": {}
},
"Communications": {
"Courier": {},
"Others - Communication": {},
"Telephone": {},
"Web Site Hosting Fees": {}
},
"Office & Various Expenses": {
"Cleaning": {},
"Conveyance Expenses": {},
"Gifts & Donations": {},
"Insurance": {},
"Kitchen and Buffet Expenses": {},
"Maintenance": {},
"Others - Office Various Expenses": {},
"Security & Guard": {},
"Stationary From Suppliers": {},
"Stationary Out Of Stock": {},
"Subscriptions": {},
"Training": {},
"Vehicle Expenses": {}
},
"Personnel Cost": {
"Basic Salary": {},
"End Of Service Indemnity": {},
"Housing Allowance": {},
"Leave Salary": {},
"Leave Ticket": {},
"Life Insurance": {},
"Medical Insurance": {},
"Personnel Cost Others": {},
"Sales Commission": {},
"Staff School Allowances": {},
"Transportation Allowance": {},
"Uniform": {},
"Visa Expenses": {}
},
"Professional & Legal Fees": {
"Audit Fees": {},
"Legal fees": {},
"Others - Professional Fees": {},
"Sponsorship Fees": {},
"Trade License Fees": {}
},
"Provision & Write Off": {
"Amortisation of Preoperating Expenses": {},
"Cash Shortage": {},
"Others - Provision & Write off": {},
"Write Off Inventory": {},
"Write Off Receivables & Payables": {}
},
"Rent Expenses": {
"Office Rent": {},
"Warehouse Rent": {}
},
"Travel Expenses": {
"Air tickets": {},
"Hotel": {},
"Meals": {},
"Others": {},
"Per Diem": {}
},
"Utilities": {
"Other Utility Cahrges": {},
"Water & Electricity": {}
}
}
},
"root_type": "Expense"
},
"Liabilities": {
"Current Liabilities": {
"Accounts Payable": {
"Payables": {
"Advance Payable to Suppliers": {
"account_type": "Payable"
},
"Consigned Payable": {
"account_type": "Payable"
},
"Other Payable": {
"account_type": "Payable"
},
"Post Dated Cheques Paid": {
"account_type": "Payable"
},
"Staff Payable": {},
"Suppliers Price Protection": {
"account_type": "Payable"
},
"Trade Payable": {
"account_type": "Payable"
},
"account_type": "Payable"
}
},
"Accruals & Provisions": {
"Accruals": {
"Accrued Personnel Cost": {
"Accrued - Commissions": {},
"Accrued - Leave Salary": {},
"Accrued - Leave Tickets": {},
"Accrued - Salaries": {},
"Accrued Other Personnel Cost": {},
"Accrued Salaries Increment": {},
"Accrued-Staff Bonus": {}
}
},
"Accrued Expenses": {
"Accrued Other Expenses": {
"Accrued - Audit Fees": {},
"Accrued - Office Rent": {},
"Accrued - Sponsorship": {},
"Accrued - Telephone": {},
"Accrued - Utilities": {},
"Accrued Others": {}
}
},
"Other Current Liabilities": {
"Accrued Dubai Customs": {},
"Deferred income": {},
"Shipping & Handling": {}
},
"Provisions": {
"Tax Payables": {
"Income Tax Payable": {},
"Sales Tax Payable": {},
"Withholding Tax Payable": {}
}
},
"Short Term Loan": {}
},
"Duties and Taxes": {
"account_type": "Tax",
"is_group": 1
},
"Reservations & Credit Notes": {
"Credit Notes": {
"Credit Notes to Customers": {},
"Reservations": {}
}
},
"Stock Liabilities": {
"Stock Received But Not Billed": {
"account_type": "Stock Received But Not Billed"
}
},
"Unearned Income": {}
},
"Long Term Liabilities": {
"Long Term Loans & Provisions": {}
},
"root_type": "Liability"
},
"Revenue": {
"Direct Revenue": {
"Other Direct Revenue": {
"Other Revenue - Operating": {
"Advertising Income": {},
"Branding Income": {},
"Early Setmt Margin from Suppliers": {},
"Marketing Rebate from Suppliers": {},
"Rebate from Suppliers": {},
"Service Income": {},
"Space Rental Income": {}
}
}
},
"Indirect Revenue": {
"Other Indirect Revenue": {
"Capital Gain": {},
"Excess In Till": {},
"Gain On Difference Of Exchange": {},
"Management Consultancy Fees": {},
"Other Income": {}
},
"Other Revenue - Non Operating": {
"Interest Revenue": {},
"Interest from FD": {},
"Products Listing Fees from Suppliers": {},
"Trade Opening Fees from suppliers": {}
}
},
"Sales": {
"Sales from Other Regions": {
"Sales from Other Region": {
"account_type": "Income Account"
}
},
"Sales of same region": {
"Management Consultancy Fees 1": {
"account_type": "Income Account"
},
"Sales Account": {
"account_type": "Income Account"
},
"Sales of I/C": {
"account_type": "Income Account"
}
}
},
"root_type": "Income"
},
"Share Holder Equity": {
"Capital": {
"Contributed Capital": {},
"Share Capital": {},
"Shareholders Current A/c": {},
"Sub Ordinated Loan": {},
"Treasury Stocks": {}
},
"Retained Earnings": {
"Current Year Results": {},
"Dividends Paid": {},
"Previous Years Results": {}
},
"account_type": "Equity",
"root_type": "Equity"
}
}
}

Some files were not shown because too many files have changed in this diff Show More