Git Product home page Git Product logo

erpnext_documentation's Introduction

ERPNext Documentation

This GitHub repository is archived since we now use a different contribution pipeline.

You can directly contribute to the documentation through docs.erpnext.com. For new conribution guidellines refer docs.erpnext.com/contribute.

The GitHub repository for ERPNext product user manual. ERPNext is the world's largest 100% open source ERP product.

English documentation link: https://docs.erpnext.com/docs/user/manual/en

On the website, you'll see cards in the beginning, to view fuller lists of documentation with all topics, click on "View full Contents".

How to contribute?

  1. To learn how to contribute to ERPNext documentation, visit this WIKI section.

  2. To know how content in the documentation is formatted, visit this WIKI page.

Check out our website http://erpnext.com/

Start a free trial at https://erpnext.com/pricing

License

MIT

Documentation License

CC-BY-SA-3.0

erpnext_documentation's People

Contributors

abhishekbalam avatar akshitakl avatar ankush avatar anupamvs avatar anurag810 avatar asbasawaraj avatar auliabismar avatar barredterra avatar deepeshgarg007 avatar gavindsouza avatar hasnain2808 avatar hrwx avatar jigneshpshah avatar kennethsequeira avatar mangesh-khairnar avatar marination avatar michellealva avatar nabinhait avatar netchampfaris avatar nextchamp-saqib avatar pateljannat avatar prasadarr avatar prasadfrappe avatar rmehta avatar rohitwaghchaure avatar ruchamahabal avatar saurabh6790 avatar scmmishra avatar surajshetty3416 avatar thunderbottom avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

erpnext_documentation's Issues

Uncaught Server Exception

I have tried to install the erpnext_documentation application but have no good results, I would appreciate any guidance.

Environment: ERPNext Docker
ERPNext: v12.18.0 (version-12)
Frappe Framework: v12.15.0 (version-12)

Bench installed and running with a first ERPNext site.

erpnext_documentation installation steps:

bench get-app erpnext_documentation
bench get-app frappe_theme
bench new-site site-name
bench --site site-name install-app erpnext_documentation
bench start

Uncaught Server Exception

Traceback (most recent call last):
  File "/workspace/development/frappe-bench/apps/frappe/frappe/utils/jinja.py", line 80, in render_template
    return get_jenv().from_string(template).render(context)
  File "/workspace/development/frappe-bench/env/lib/python3.7/site-packages/jinja2/asyncsupport.py", line 76, in render
    return original_render(self, *args, **kwargs)
  File "/workspace/development/frappe-bench/env/lib/python3.7/site-packages/jinja2/environment.py", line 1008, in render
    return self.environment.handle_exception(exc_info, True)
  File "/workspace/development/frappe-bench/env/lib/python3.7/site-packages/jinja2/environment.py", line 780, in handle_exception
    reraise(exc_type, exc_value, tb)
  File "/workspace/development/frappe-bench/env/lib/python3.7/site-packages/jinja2/_compat.py", line 37, in reraise
    raise value.with_traceback(tb)
  File "<template>", line 1, in top-level template code
  File "/workspace/development/frappe-bench/env/lib/python3.7/site-packages/jinja2/environment.py", line 1005, in render
    return concat(self.root_render_func(self.new_context(vars)))
  File "<template>", line 14, in root
  File "/workspace/development/frappe-bench/apps/frappe/frappe/./templates/web.html", line 15, in root
    {% block page_container %}
  File "/workspace/development/frappe-bench/apps/frappe/frappe/./templates/base.html", line 42, in root
    {{ head_include or "" }}
  File "/workspace/development/frappe-bench/apps/frappe/frappe/./templates/web.html", line 92, in block_content
  File "/workspace/development/frappe-bench/env/lib/python3.7/site-packages/jinja2/sandbox.py", line 440, in call
    return __context.call(__obj, *args, **kwargs)
  File "/workspace/development/frappe-bench/env/lib/python3.7/site-packages/jinja2/runtime.py", line 574, in _invoke
    rv = self._func(*arguments)
  File "/workspace/development/frappe-bench/apps/frappe/frappe/./templates/web.html", line 43, in macro
    {% endmacro %}
  File "/workspace/development/frappe-bench/apps/frappe/frappe/./templates/web.html", line 122, in block_page_container
  File "<template>", line 29, in block_page_content
  File "/workspace/development/frappe-bench/env/lib/python3.7/site-packages/jinja2/sandbox.py", line 438, in call
    if not __self.is_safe_callable(__obj):
  File "/workspace/development/frappe-bench/env/lib/python3.7/site-packages/jinja2/sandbox.py", line 340, in is_safe_callable
    return not (getattr(obj, 'unsafe_callable', False) or
jinja2.exceptions.UndefinedError: 'web_blocks' is undefined

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/workspace/development/frappe-bench/apps/frappe/frappe/website/render.py", line 50, in render
    data = render_page_by_language(path)
  File "/workspace/development/frappe-bench/apps/frappe/frappe/website/render.py", line 177, in render_page_by_language
    return render_page(path)
  File "/workspace/development/frappe-bench/apps/frappe/frappe/website/render.py", line 193, in render_page
    return build(path)
  File "/workspace/development/frappe-bench/apps/frappe/frappe/website/render.py", line 200, in build
    return build_page(path)
  File "/workspace/development/frappe-bench/apps/frappe/frappe/website/render.py", line 218, in build_page
    html = frappe.render_template(context.source, context)
  File "/workspace/development/frappe-bench/apps/frappe/frappe/utils/jinja.py", line 82, in render_template
    throw(title="Jinja Template Error", msg="<pre>{template}</pre><pre>{tb}</pre>".format(template=template, tb=get_traceback()))
  File "/workspace/development/frappe-bench/apps/frappe/frappe/__init__.py", line 377, in throw
    msgprint(msg, raise_exception=exc, title=title, indicator='red', is_minimizable=is_minimizable)
  File "/workspace/development/frappe-bench/apps/frappe/frappe/__init__.py", line 356, in msgprint
    _raise_exception()
  File "/workspace/development/frappe-bench/apps/frappe/frappe/__init__.py", line 316, in _raise_exception
    raise raise_exception(msg)
frappe.exceptions.ValidationError: <pre>{% extends "templates/web.html" %}
			{% block page_content %}
---
full_width: 1
title: ERPNext Documentation
---

{% from "templates/includes/macros.html" import cards %}

{{ web_blocks([
	{
		'template': 'Hero',
		'values': {
			'title': 'ERPNext Documentation',
			'subtitle': 'ERPNext is a comprehensive business solution with features from Financial Accounting to Portals.'
		},
		'add_bottom_padding': 0
	}
]) }}

<div class="container section-padding-bottom">
	{{ cards([
		{
			'title': 'Manual in English',
			'content': 'The ERPNext Manual covers everything you want to know about configuring and using ERPNext',
			'link': '/docs/user/manual/en'
		},
		{
			'title': 'Handbuch in Deutsch',
			'content': 'Das ERPNext Handbuch enthält alle Informationen zur Konfiguration und Verwendung von ERPNext',
			'link': '/docs/user/manual/de'
		},
		{
			'title': 'Manual en Español',
			'content': 'El Manual ERPNext convierte todo lo que desea saber sobre la configuración y el uso de ERPNext',
			'link': '/docs/user/manual/es'
		}
	]) }}
</div>

<section class="section section-padding-top section-padding-bottom bg-light">
  <div class="container">
    <h2 class="section-title">Developer Documentation</h2>
    <p class="section-description">
      Learn more about Frappe Framework, the framework on which ERPNext is built
	</p>
	{{ cards([
		{
			'title': 'Frappe Framework',
			'content': 'ERPNext is built using the Frappe Framework, a fully featured web framework in Python and Javascript',
			'link': 'https://frappeframework.com/docs'
		},
		{
			'title': 'Tutorial',
			'content': 'Learn the framework architecture by understanding how to build custom apps that can extend ERPNext',
			'link': 'https://frappeframework.com/docs/user/en/tutorial'
		},
		{
			'title': 'Developer API',
			'content': 'Learn about how to build integrations and extensions for ERPNext by using the Developer API',
			'link': 'https://frappeframework.com/docs/user/en/api'
		}
	]) }}
  </div>
</section>

{% set content %}
## Contribution and Feedback

ERPNext is Open Source under the GNU General Public Licence v3 and has
been listed as one of the Best Open Source Softwares in the world by
many online blogs.

You're encouraged to help improve the quality of this documentation, by
sending a pull request on the [GitHub Repository](https://github.com/frappe/erpnext_documentation).
If you would like to have a discussion regarding the documentation,
you can do so [at the forum](https://discuss.erpnext.com).

{% endset %}

{{
	web_blocks([
		{
			'template': 'Markdown',
			'values': {
				'content': content
			}
		}
	])
}}

{{
	web_blocks([
		{
			'template': 'Section with CTA',
			'values': {
				'title': 'Get Started with ERPNext',
				'subtitle': 'ERPNext is used by more than 5000 companies across the world.',
				'cta_label': 'Start Free Trial',
				'cta_url': 'https://erpnext.com/pricing',
				'cta_description': '<a href="https://erpnext.com/contact-form">Contact Us</a>',
				'show_confetti': 1
			},
			'add_top_padding': 0
		}
	])
}}
{% endblock %}</pre><pre>Traceback (most recent call last):
  File "/workspace/development/frappe-bench/apps/frappe/frappe/utils/jinja.py", line 80, in render_template
    return get_jenv().from_string(template).render(context)
  File "/workspace/development/frappe-bench/env/lib/python3.7/site-packages/jinja2/asyncsupport.py", line 76, in render
    return original_render(self, *args, **kwargs)
  File "/workspace/development/frappe-bench/env/lib/python3.7/site-packages/jinja2/environment.py", line 1008, in render
    return self.environment.handle_exception(exc_info, True)
  File "/workspace/development/frappe-bench/env/lib/python3.7/site-packages/jinja2/environment.py", line 780, in handle_exception
    reraise(exc_type, exc_value, tb)
  File "/workspace/development/frappe-bench/env/lib/python3.7/site-packages/jinja2/_compat.py", line 37, in reraise
    raise value.with_traceback(tb)
  File "<template>", line 1, in top-level template code
  File "/workspace/development/frappe-bench/env/lib/python3.7/site-packages/jinja2/environment.py", line 1005, in render
    return concat(self.root_render_func(self.new_context(vars)))
  File "<template>", line 14, in root
  File "/workspace/development/frappe-bench/apps/frappe/frappe/./templates/web.html", line 15, in root
    {% block page_container %}
  File "/workspace/development/frappe-bench/apps/frappe/frappe/./templates/base.html", line 42, in root
    {{ head_include or "" }}
  File "/workspace/development/frappe-bench/apps/frappe/frappe/./templates/web.html", line 92, in block_content
  File "/workspace/development/frappe-bench/env/lib/python3.7/site-packages/jinja2/sandbox.py", line 440, in call
    return __context.call(__obj, *args, **kwargs)
  File "/workspace/development/frappe-bench/env/lib/python3.7/site-packages/jinja2/runtime.py", line 574, in _invoke
    rv = self._func(*arguments)
  File "/workspace/development/frappe-bench/apps/frappe/frappe/./templates/web.html", line 43, in macro
    {% endmacro %}
  File "/workspace/development/frappe-bench/apps/frappe/frappe/./templates/web.html", line 122, in block_page_container
  File "<template>", line 29, in block_page_content
  File "/workspace/development/frappe-bench/env/lib/python3.7/site-packages/jinja2/sandbox.py", line 438, in call
    if not __self.is_safe_callable(__obj):
  File "/workspace/development/frappe-bench/env/lib/python3.7/site-packages/jinja2/sandbox.py", line 340, in is_safe_callable
    return not (getattr(obj, 'unsafe_callable', False) or
jinja2.exceptions.UndefinedError: 'web_blocks' is undefined
</pre>

When submitting PR for PT Translation

Why when trying to submit a PR those links are being translated or generating errors!!!

/home/runner/work/erpnext_documentation/erpnext_documentation/erpnext_documentation/www/docs/user/manual/pt/CRM/address.md:36:93 - Unknown word (multipl)
/home/runner/work/erpnext_documentation/erpnext_documentation/erpnext_documentation/www/docs/user/manual/pt/CRM/articles/sales_funnel.md:19:109 - Unknown word (visualise)
/home/runner/work/erpnext_documentation/erpnext_documentation/erpnext_documentation/www/docs/user/manual/pt/CRM/articles/sales_funnel.md:27:23 - Unknown word (visualise)
/home/runner/work/erpnext_documentation/erpnext_documentation/erpnext_documentation/www/docs/user/manual/pt/CRM/contact.md:24:90 - Unknown word (cust)
/home/runner/work/erpnext_documentation/erpnext_documentation/erpnext_documentation/www/docs/user/manual/pt/CRM/contents.md:37:49 - Unknown word (linkedin)
/home/runner/work/erpnext_documentation/erpnext_documentation/erpnext_documentation/www/docs/user/manual/pt/CRM/contract.md:42:9 - Unknown word (Fulfilment)
/home/runner/work/erpnext_documentation/erpnext_documentation/erpnext_documentation/www/docs/user/manual/pt/CRM/contract.md:43:31 - Unknown word (fulfilment)
/home/runner/work/erpnext_documentation/erpnext_documentation/erpnext_documentation/www/docs/user/manual/pt/CRM/contract.md:43:111 - Unknown word (Fulfilment)
/home/runner/work/erpnext_documentation/erpnext_documentation/erpnext_documentation/www/docs/user/manual/pt/CRM/contract.md:45:12 - Unknown word (Fulfilment)
/home/runner/work/erpnext_documentation/erpnext_documentation/erpnext_documentation/www/docs/user/manual/pt/CRM/contract.md:45:54 - Unknown word (fulfilment)
/home/runner/work/erpnext_documentation/erpnext_documentation/erpnext_documentation/www/docs/user/manual/pt/CRM/contract.md:47:57 - Unknown word (fulfiled)

Avoid using "click here" links

Currently, there are many links within the documentation labelled "click here". Hopefully it is already understood that these are best avoided. If more info is required, please comment.

Separate docs by major release

Problem

At the moment it is very common that docs just reflect the bleeding edge of features. While v13 is being developed, docs get updated with v13 features, old docs from earlier versions get overwritten. For someone using v8 or even v11, the current docs must be completely unusable.

Possible Solutions

a)

For every major release, copy all the docs to a new folder named v12, v13, v14, ... . There they can safely be edited, removed or enhanced. The folder structure could, for example, be /docs/user/manual/{language}/{major_version}/{module}/*. Docs that are valid for multiple versions can be copied between versions. The advantage of this approach is that all docs can be viewed on a single site.

b)

Have a separate branch for each version, like the code repositories. Deploy each branch to a different subdomain, eg. v12.docs.erpnext.com. Docs that are valid for multiple versions can be backported. The advantage of this approach is that it's very similar to the development workflow.

Wrong shortcut key to focus the search bar

image

Search bar say "?" as the key to focus on it but instead it is "/" on the keyboard. "?" is reached with shift + that key. I understand the key is the same but we tend to press Shift to type "?" so.

How to make outgoing calls ?

Is there any way we have figured out to make outgoing calls from the Erpnext system using the Exotel API ?
There is a click to call feature in Exotel (https://exotel.com/features/click-to-call/) which we could use to make outgoing calls.
Ideal behaviour is enabling to allow people to call back the callers as they are going through the issues in the issue doc type, so that it can help gather more details instead of shifting many screens and again copy pasting the number and trying to call.
It also helps link the issues to outgoing calls made for followup.

Distinguish better between app and docs in browser tabs

When using ERPnext and reading the documentation at the same time, you can end up with two browser tabs which look identical. E.g. in the following, one tab is viewing the app, the other is viewing https://docs.erpnext.com/docs/user/manual/en/customize-erpnext/customize-form but it is impossible to tell which is which:

image

Can something be done to better distinguish these, e.g. changing the favicon, and/or adding " - ERPnext docs" to the end of page titles in the docs, or similar?

Clear instructions for setting up Exployee in Exotel

For setting up Exotel user, the existing guidelines are not clear enoough. As we understand, For the user to get pop-up below steps need to be followed :

  • Setup a Employee for the user. Make sure the active mobile number linked in Exotel is mentioned in the Employee contact number
  • Add the employee into a group.
  • Create a communication medium with name of Communication medium same as Exophone number in exotel.
  • Assign the Employee groups to a communication medium and schedule them.

The above steps would in majority make sure the incoming call notification pop-up is received to you.

SSO documentation

SSO isn't terribly easy to setup, but it's even harder if there's no documentation :)

I thought maybe three letter search terms like SSO were stripped out of search, but looking for "Single Sign On" or "LDAP" also got 0 hits on the documentation.

It DOES seem to be supported; for example, please see: https://discuss.erpnext.com/t/using-frappe-as-an-identity-provider-for-single-sign-on-sso/42410

Please add SSO/LDAP and it's official setup information to the documentation.

Even a mention of the capabilities would be great!

Thank you,

    == John ==

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.