* remove console statements
* set account & cost center for redemption
* add test case for single/multi tier & is_return scenario
* reset tier when changing loyalty program
* make loyalty fields non copy type
* fix test case - delete si after every test to avoid interference
* Add dashboard on subscriber screen
* Add Subscription and Subscription Plan to Account Dashboard
* Fetch customer name while creating subscriber
* [fix] add section for Subscription Period
* minor fixes
* optimization
* fix checking of customer_group & territory of customer in loyalty program
* fetch and set applicable loyalty program
- in customer.py if found 1 program, set it or show a message to set it manually
- in sales invoice, if found 1 program for selected customer with no program set, set it else open a dialog with applicable options
* removed disabled field, added from_date & to_date
* loyalty program section made collapsible, added redeem check in it
* setting loyalty program improvised, manual selection if multiple found
* get_query added, amount calculation updated
* args passed rectified for expiry_date
* get loyalty_points logic improv, redemption_details logic added
* improv based on from/to date and other rectification
* code rectified based on different scenarios
- is_return, cancel, make loyalty points entry improv
* cost center number field when creating new
added field in the tree's dialog, necessary changes in the autoname function
* rename function's name appropriately
* First Cut for the Loyalty Program
* finished the collection part
* redmeption for the loyalty point
update the loyalty point entry in the FIFO style
make the accounting entry knocking the debtors account against the expense account selected in the loyalty program
update the outstanding balance in the client side
* completed for the desk viewe
* wrap up for the desk and shopping cart
* pos
* fix and test the travis
* Add configurable frequency in Selling Settings for update of project and company
* remove redundant code
* remove redundant code, only trigger calculation if order/invoice is present
* removed dangling commas as per common convention in hooks
* fix:handling multiple documents
* Update selling_settings.json
* enable selection of coa for user
Give user option to select coa that's been verified along with standard and standard with numbers. Also added a button that opens a dialog and renders the selected chart
* read chart from file and make a tree render-able dict of it
* tree method to return node data for coa setup wizard
* To fixed if if no schedule and disposal is NOT within the period, then opening accumulated depreciation not included.
If no schedule, and disposal is within period, accumulated dep is the amount eliminated.
* Update asset_depreciations_and_balances.py
* fix in query incase list is empty
* periodicity not found error
when called from consolidated financial statements and custom cash flow is activated
* unset currency filter to apply default currency or so
* python 2 - 3 fix
* Fetch withheld percentage
* Set query for accounts on the basis of company
* Fix bank guarantee error on submit
* Remove errors caused by fields which are removed
* utility function added for treeview
function to distinguish defaults from user permission and return appropriate data
* make use of utility function for treeview
* Payroll Entry - Accrual entry - exclude only tax impact - and separate JE for Flexi in Bank Entry
* Journal Entry - validate cheque info on submit
* Payroll Entry - Make Bamk Entry - Separate JE for benefit component
* location tree fixes
validate if child present while deleting, filter lists down only group enabled node
* department tree fixes
Adding child fix if added from rootnode with company filter applied. Rename consistency added. Validation added in on_trash
* Company tree fix
Check if child exist while deleting a node validation added.
* Supplier Group tree fixes
on_trash validation added if child node present
* Cost Center tree fixes
Adding child to root node throws error because parent_cost_center picks up root name
* Fix Purchase Receipt tests
* Fix Item test
* Fix daily work summary test
* Modify currency exchange test cases
* Fix Leave Application test
* Update working hours when making salary slip from timesheet
* Replace fixer.io with exchangeratesapi
* Fix codacy
* Add new gst field in Taxes and Charges template - is_inter_state
* Add a patch
* Add a regional function to fetch taxes on the basis of GSTin
* Add regional function to hooks.py
* Fetch taxes for Purchase Invoice on the basis of Supplier GSTIN
* Fixes in the setup.py for India region
* Set is_inter_state field
For the existing Taxes and Charges templates, if an account_head with igst account (which is set in GST Settings) is found, set the checkbox and also check if it doesn't have a cgst account.
* Fix as per review comment
* add doctypes allowed to group items, average the rate
* add check field to group items during print
* call common before_print in delivery note
* fix precision issue while calculating average
* fix iteritems() takes exactly 1 argument (2 given)
* adds new helper functions
* use new functions to make POS invoices filterable on warehouse and cost center
* more PEP8 fixes
* Replace frappe.db.sql to frappe.get_list to apply permissions (#14037)
* Replace frappe.db.sql to frappe.get_list to apply permission
- All get_children method had frappe.db.sql in them which
had no permission check, now its replaced with frappe.get_list
which will check permission based on the user.
* Fix codacy
- Remove trailing whitespace
* Add parent filter
* Add ifnull checks
* set All Department as default parent_department
* add department field in employee_transfer
* copied data from options to fetch_from
* add department field wherever employee's link field present
* empty options field where fetch_from is added
* Project Budget does not filter per Project
Project Budget does not filter per Project and always return actual expense amount of all entries tagged to a project.
* Update budget.py
* add new fields to Supplier Master:
- on_hold: To signal the Customer is blocked from completing certain transactions
- hold_type: 3 options - All, invoices and payments
* sanitize `on_hold` field input
* show hold status in list view
* add `release_date` field to Supplier Master:
- specifies the date when transaction restraint will be removed
* reset release date if supplier is not on hold
* add validation to stop transactions when Supplier is blocked
* add test cases
* return empty list for outstanding references if supplier is blocked
* block make button:payment if supplier is blocked
* adjust test cases
* PEP 8 clean up
* more tests
* adds new fields to Purchase Invoice:
- release_date: once set, invoice will be on hold until set date
- hold_comment: so user can add comment pertaining to why invoice is on hold
* implement individual purchase invoice on hold logic
* allow user to change release date
* update manual
* final cleanup including more validation and tests
* update supplier manual
* make default for release_date argument todays date
* remove Auto Repeat added by mistake
* add on_hold_field to purchase invoice
* add 'On Hold' or 'Temporarily on Hold' status for purchase invoice in list view
* implement explicit payment hold in purchase invoice
* update manual
* add dialog for saving comment
* bug fix, refactor, clean up
* more test cases
* Replace frappe.db.sql to frappe.get_list to apply permission
- All get_children method had frappe.db.sql in them which
had no permission check, now its replaced with frappe.get_list
which will check permission based on the user.
* Fix codacy
- Remove trailing whitespace
* Update standard_chart_of_accounts.py
adding account for employee advances
* Update standard_chart_of_accounts_with_account_number.py
adding account for employee advances
* Update company.py
adding accounts for default fields in company doctypes
* Update company.py
Missing some default accounts for fields in company doctype
* rebase with enterprise_sprint
* Add Inter company account checkbox in Account master
* Add Inter Company Journal Entry Voucher Type in Journal Entry
* Make Inter Company Journal Entry button
* Dialog to select company for Inter Company Journal Entry
* Map relevant fields in the Inter Company Journal Entry and reference links
* Rebase
* Add Documentation
* Renamed - Employee Loan Application to Loan Application, Employee Loan to Loan and field Employee Loan Account to Loan Account
* Patch added
* Dynamic link fields 'applicant' and 'applicant_type'
* Member link visible only if domain non profit is active
* Modified loan_dashboard
* Make Repayment Entry button
* Common file loan_common.js for loan and loan_application
* repayment schedule rows selection in dialog
* validation if repayment amount > total paid amount
* repayment only if disbursement is done, make repayment by selecting the installment which falls in the current month
* fetch nowdate if disbursement date not found
* Rebased with develop
* updated non-profit module page
* updated patch for renamed fields
* dialog to select repayment entries
* hidden field to store reschedule paid status
* update paid check in loan on journal entry updation
* calculate total paid
* updated docs
* codacy fix
* child table employee expense approver
* set query in department
* mandatory approver check in hr settings
* triggers on leave and expense approver
* fetch all parent approvers from department hierarchy
* fixes
* patch to move employee approvers from employee to department
* removed hard coding of roles
* modify approvers list query
* commonified functions
* patch
* renamed standard reply occurrences
* removed leave approvers table from Employee master
* email templates for leave application notification
* set default email templates for leave in hr settings
* notify by email template
* approval status in expense claim
* render template in patch
* removed unused code
* Single child table department approver
* read instead of render template
* error fix if party_type = student or shareholder
* clear party filter when party_type changes to avoid error throw
* dict with values of party_name in utils.js
* fetch party_name from erpnext.utils.get_party_name
* Update general_ledger.py
* Added 'Paid Amount' and 'Change Amount' in GST POS Invoice and POS Invoice print formats
* Update gst_pos_invoice.json
Updated its 'disabled' property.
* Update pos_invoice.json
Updated its 'disabled' property.
* Shows change amount only if it exists
* Updated disable property of print formats
* [fix] #8427
* review comments changes
* Validation for reserved warhouse
* code improvements
* alignment
* test case
* message changes
* default warehouse / remove validation / change sql
* fix
* patch
* Fixed merge conflict
* Fixes and cleanups of reserve qty for subcontracting
* set from_warehouse only if purchase_order and purpose found (#12398)
* [HotFix] Validation issue for subcontract stock entry (#12127)
* [Fix] Validation issue for subcontract stock entry
* Update stock_entry.py
* Fixes and cleanups of reserve qty for subcontracting
* patch fixed
* Reload bin in patch
* [fix] set source warehouse in stock entry for manufacture
* [fix] #8540
* code alignment
* code alignment
* Move target warehouse validation to submit
* validation code improvement
* code changes for single stock entry
* validation fix
* call make_rm_stock_entry
* remove old stock entry method/rewrite test case
* Don't set bom_no against raw materials while trasferring items for sub-contracting
* minor fix
* add mode of payment field to Payment Term
* add mode of payment field to Payment Terms Template Detail
* add mode of payment field to Payment Schedule
* add mode of payment in `get_payment_term_details`
* editable unallocated amount in payment entry to handle multi currency
* set unallocated amount on server side
* some minor fixes
* Fixes in territory patch
* removed print
* minor fixes
* GoCardless integration
* Addition of a method for determining if the email should be sent or not
* Correction for Tests
* Codacy fix
* Documents moved to ERPNext
* Codacy fix
* Codacy fixes
* Remove method where not necessary and replace with hasattr
- Plan is to be linked to a Product
- Plan will be used to create Invoice items
- Subscriber can have multiple plans
- Contains billing cycle information
* add child doctype - Cash Flow Mapping Account
* adds new doctype - Cash Flow Mapping
* adds new doctype - Cash Flow Mapper
* adds new doctype Cash Flow Mapping Template
* adds new doctype Cash Flow Mapping Template
* adds adjustments to Cash Flow Mapper:
- remove fields from Cash Flow Mapping Template Details
- update in Cash FLow Mapper
* get cash_flow_accouts from Cash Flow Mapping
* change `tmp` to `mappers` and make sure `mappers` is sorted by its `position` field
* changes description from 'Net Profit/Loss' to 'Profit for the year'
* set `net_profit_loss` `parent_account` properly
* modify `get_account_type_based_data`:
- changed signature such that `account_type` parameter is now `account_name`
- where clause in query is now based on `name`
* remove zero rows
* de-duplicates row, summing similar accounts in the process
* makes gl sum calculation use `parent_account` as a condition
* add the `section_leader` immediately after adding net profit, sorts `accounts` by `is_working_capital` field
* adds `is_working_capital` to "account_types" so that we can use this to determine when to add "Changes in working capital" for operating activities
* add "Movement in working capital" subheader
* refactor code for readability
* adds new fields to `Cash Flow Mapping`:
- `is_interest_paid` to allow me recognise accounts for 'Interest Paid'
- `is_income_tax_paid` to allow me recognise accounts for 'Income Taxes Paid'
* allow `Cash Flow Mapping` to be renamable
* adds new field - `section_subtotal` useful for only Operating Activities
* changes `Cash Flow Mapping` doctype fields:
- remove `is_income_tax`_field
- add `is_income_tax_liability` field to identify tax payable accounts
- add `is_income_tax_expense` field to identify tax expense accounts in P or L
* calculates and shows tax paid adjustment in cash flow statement
* renames `is_interest_paid` to `is_finance_cost`
* - adds finance costs calculation
- correctly sets opening balance dates
* prevents users from selecting extra options in Cash Flow Mapping
* adds validation to prevent selecting multiple options
* adds new fields to Cash Flow Mapping
* calculate non cash p or l items (2nd pass)
* separates default cash flow generation from custom
* adds new setting to Accounts Settings:
- allow user elect to use customised cash flow report
* clean up
* removes mandatory constraint from accounts field
* allow rename, disallow create and delete
* adds patch to add default Cash Flow Mappers
* refactors custom_cashflow
* add article to explain configuration
* refactor
* further refactor
* final clean up (hopefully)
* clean up for codacy
* more codacy fixes
* more codacy fixes
* fix broken patch
* rename article to .md
* create default mappers after install
* PEP 8
* create the tables in `after_install` call
* added currency filter
* modified files
* pull margin only if currency matches
* Renamed price to rate in pricing rule
* fetch rate only if currency matches
* rebase with develop
* rebase with develop
* patch to set currency in existing docs
* currency field mandatory in pricing rule
* modified test cases
* rebase with develop
* fixed test case
* patch for custom workflow
* deleted field approval_status
* replaced approval_status with workflow_state
* updated test cases
* validation to check expense approver
* check if workflow_state_name already exists
* fixes
* modified notifications.py
* removed field exp_approval and modified test cases
* [fix] Validate Party in not present in Party Type
* [fix] Minor Changes
* [fix] Valid Customer and Supplier fetch
* [WIP] Allow and prevent for creating party
* [fix] minor changes
* [fix] Requested Changes
* [fix] Codacy issue
* Update opening_invoice_creation_tool.py
* pass bill_date as parameter and calculate due_date on that basis
* calculate payment_schedule on the basis of bill_date if present else posting_date
* add bill_date as an argument to get_party_details
* pass bill_date on supplier trigger in purchase invoice
* Add new Select to filters
* get the currencies from database rather than hardcoded
* label report columns:
- If presentation currency is available in filters, use it or
- If company is available in filters, use it or
- use default company currency
* add new function - get_currency
* tweak new function `get_currency`
* add new function `convert` to convert a value to another currency
* add new function `convert_to_presentation_currency`
* clean up `get_currency` first pass
* memoise the exchange rates
* limit fetched GL entries to to_date
* check if account type is p&l or not and use appropriate exchange rate based on that
* change EXCHANGE RATE to a dict, use for memoisation
* rename EXCHANGE_RATE
* cache exchange rates and use them as needed
* add docstrings
* add presentation currency logic to financial statement reports
* move new functions from `general_ledger.py` to new module
* clean up
* PEP 8 clean up
* move function to util.py
* PEP 8 clean up
* remove presentation currency option from cashflow
* adjust currency as needed
* allow users to save presentation currency in Accounts Settings
* add new function `get_presentation_currency_list`
* refactor query_report modules with no promises
* Revert "allow users to save presentation currency in Accounts Settings"
This reverts commit 3b58a6296cf3f7b4d80ac55b03f9d5d4887b796b.
* show print page in correct currency
* Update utils.py
* Added doctypes related to shares
- Shareholder doctype, the entity who does the transaction
- Share doctype, a child table to kepp list of all shares
- Share Transfer doctype, Logs of all made transactions
* Added logic for share transfer
- update shareholder automatically on share transfer/issue/purchase
- purchase and transfer have method remove_share which doesn't get executed because of some bug
* Added report view for share ledger
* Removed share number tracking
- removed share number tracking from Share Ledger child table for Shareholder doctype
- new doctype Share Type created
* Share Balance report added
- math behind Share Balance report needs fixing
* Changes in shareholder
- Share numbers are not tracked in Shareholder
- Share Ledger doctype deleted
- Share Balance Report bug fixed
* Shareholder
- fixed report for share balance
- remove bug from share transfer by making share type mandatory
- added buttons to shareholder for direct link to report
* Added tests for Share Transfer
* minor codacy fixes
* Added Shareholder to Party Type
* rate in share ledger & balance report is currency
* First attempt at modelling shares after Item
* Share Manager changes
- on creation of shareholder party it should check if the same combo exists
- in shareholder party make report button visible iff folio no exists
- create folio no on creation of share transfer iff it doesnt already exist
- move reports from shareholder to shareholder party
* Shareholder chages
- delete share child table doctype
- autoname added to folio no
- modify tests for share transfer
* minor changes
* removed share_no child doctype
* Restructured Share Transfer Logic (not tested)
- Everything revolves around Share Balance child table in Shareholder Party
- is_company flag still to be utilized
* Tested Share Tranfer
* minor fixes
* started new shareholder structure
* modified shareholder
* renamed Shareholder Party to Shareholder
* Shareholder rewrite complete
* new tests for shareholder written
* codacy fixes
* Added documentation