Repository Analysis

frappe/erpnext

Free and Open Source Enterprise Resource Planning (ERP)

9.1 Low AI signal View on GitHub

Analysis Overview

This report presents the forensic synthetic code analysis of frappe/erpnext, a Python project with 36,812 GitHub stars. SynthScan v2.0 examined 840,765 lines of code across 5174 source files, recording 7260 pattern matches distributed across 18 syntactic categories. The overall adjusted score of 9.1 places this repository in the Low AI signal band.

The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).

9.1
Adjusted Score
9.1
Raw Score
100%
Time Factor
2026-07-14
Last Push
36.8K
Stars
Python
Language
840.8K
Lines of Code
5.2K
Files
7.3K
Pattern Hits
2026-07-14
Scan Date
0.02
HC Hit Rate

What These Metrics Mean

Adjusted Score
Primary synthetic code indicator. Raw score normalised per 1,000 lines of code and multiplied by the temporal discount factor. This is the definitive comparative metric — use it to rank repositories by AI authorship density.
Raw Score
The unmodified sum of all severity-weighted, context-multiplied pattern match scores before temporal discounting. Reflects the absolute signal strength independent of when the repository was last active.
Time Factor
The temporal discount multiplier (0–100%) applied to the raw score. Repositories last updated before ChatGPT's launch (Nov 2022) receive a 5% factor. Full signal is only assigned to repositories active in the post-adoption era (Jan 2024+).
Pattern Hits
Total count of individual pattern matches across all files and categories. A high hit count with a low score may indicate a very large codebase with isolated AI snippets; a low count with a high score indicates dense, concentrated AI signatures.
HC Hit Rate
High+Critical pattern hits per file, averaged across the repository. This orthogonal signal catches repositories where a few files are densely packed with high-severity AI tells — a strong indicator even when the normalised score appears moderate due to codebase size.
Lines of Code / Files
Total lines and files analysed. The scanner examines 94 file extensions. These denominators are used to normalise the score, enabling fair comparison between repositories of vastly different sizes.

Score History

This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.

Severity Breakdown

Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.

CRITICAL 47HIGH 44MEDIUM 141LOW 7028

Directory Score Breakdown

This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.

Pattern Findings

The scanner identified 7260 distinct pattern matches across 18 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.

Reading the findings table: The Severity column indicates the diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.

Hyper-Verbose Identifiers5782 hits · 5294 pts
SeverityFileLineSnippetContext
LOWbanking/src/hooks/useMultiFileUploadProgress.ts4export function useMultiFileUploadProgress() {CODE
LOWerpnext/__init__.py76def is_perpetual_inventory_enabled(company):CODE
LOWerpnext/deprecation_dumpster.py130def taxes_and_totals_get_itemised_taxable_amount(items):CODE
LOWerpnext/deprecation_dumpster.py148def get_pos_profile_item_details(company, ctx, pos_profile=None, update_data=False):CODE
LOWerpnext/edi/doctype/code_list/code_list_import.py48def import_genericode_from_url(CODE
LOWerpnext/edi/doctype/code_list/code_list_import.py65def get_uploaded_genericode_file() -> tuple[bytes, str | None]:CODE
LOWerpnext/edi/doctype/code_list/code_list_import.py91def fetch_genericode_from_url(url: str) -> bytes:CODE
LOWerpnext/edi/doctype/code_list/code_list_import.py97def import_genericode_content(CODE
LOWerpnext/edi/doctype/code_list/code_list_import.py153def process_genericode_import(CODE
LOWerpnext/edi/doctype/code_list/code_list_import.py170def get_genericode_columns_and_examples(root):CODE
LOWerpnext/edi/doctype/code_list/test_code_list_import.py53 def test_import_genericode_rejects_remote_file_url(self):STRING
LOWerpnext/edi/doctype/code_list/test_code_list_import.py67 def test_import_genericode_rejects_file_scheme_url(self):STRING
LOWerpnext/edi/doctype/code_list/test_code_list_import.py81 def test_import_genericode_from_trusted_url(self):STRING
LOWerpnext/edi/doctype/code_list/test_code_list_import.py104 def test_import_genericode_from_trusted_url_propagates_fetch_errors(self):STRING
LOWerpnext/edi/doctype/code_list/test_code_list_import.py112 def test_import_genericode_from_uploaded_file_returns_metadata(self):STRING
LOWerpnext/edi/doctype/code_list/test_code_list_import.py122 def test_process_genericode_import_reads_file_doc_content(self):STRING
LOWerpnext/edi/doctype/code_list/test_code_list_import.py144 def test_import_genericode_from_local_file_url(self):STRING
LOWerpnext/edi/doctype/common_code/common_code.py37 def validate_distinct_references(self):CODE
LOW…type/bulk_transaction_log/test_bulk_transaction_log.py35 def test_load_raises_when_no_detail_rows(self):CODE
LOW…type/bulk_transaction_log/test_bulk_transaction_log.py46 def test_load_succeeds_and_aggregates_after_detail_inserted(self):CODE
LOW…type/bulk_transaction_log/test_bulk_transaction_log.py66 def test_load_isolated_per_date(self):CODE
LOW…n/doctype/bulk_transaction_log/bulk_transaction_log.py106def serialize_transaction_log(data):CODE
LOWerpnext/portal/utils.py22def create_customer_or_supplier():CODE
LOWerpnext/buying/utils.py14def update_last_purchase_rate(doc, is_submit) -> None:CODE
LOWerpnext/buying/utils.py90def validate_item_and_get_basic_data(row) -> dict:CODE
LOWerpnext/buying/utils.py103def validate_stock_item_warehouse(row, item) -> None:CODE
LOWerpnext/buying/utils.py112def check_on_hold_or_closed_status(doctype, docname) -> None:CODE
LOWerpnext/buying/utils.py127def get_linked_material_requests(items: str | list):CODE
LOW…report/procurement_tracker/test_procurement_tracker.py11 def test_report_executes_and_lists_po(self):CODE
LOW…report/procurement_tracker/test_procurement_tracker.py24 def test_multi_line_po_stays_one_coherent_row(self):CODE
LOW…g/report/purchase_analytics/test_purchase_analytics.py46 def test_supplier_group_tree_rolls_up_to_root(self):CODE
LOW…g/report/purchase_analytics/test_purchase_analytics.py63 def test_item_group_tree_rolls_up_to_root(self):CODE
LOW…g/report/purchase_analytics/test_purchase_analytics.py80 def test_supplier_group_by_quantity(self):CODE
LOW…ation_comparison/test_supplier_quotation_comparison.py40 def test_no_filters_returns_empty(self):CODE
LOW…ation_comparison/test_supplier_quotation_comparison.py43 def test_quotation_line_listed_with_price(self):CODE
LOW…ation_comparison/test_supplier_quotation_comparison.py58 def test_compares_multiple_suppliers_for_item(self):CODE
LOW…_be_received/test_subcontracted_item_to_be_received.py28 def test_pending_and_received_qty(self):CODE
LOW…_be_received/test_subcontracted_item_to_be_received.py77def make_subcontracting_receipt_against_sco(sco, quantity=5):CODE
LOW…em_to_be_received/subcontracted_item_to_be_received.py91def get_subcontract_order_supplied_item(order_type, orders):CODE
LOW…d_receive/test_requested_items_to_order_and_receive.py39 def test_ordered_received_material_requests(self):CODE
LOW…d_receive/test_requested_items_to_order_and_receive.py47 def test_required_date_is_earliest_schedule_date(self):CODE
LOW…se_purchase_history/test_item_wise_purchase_history.py31 def test_purchase_order_line_shown_with_values(self):CODE
LOW…se_purchase_history/test_item_wise_purchase_history.py41 def test_draft_purchase_order_excluded(self):CODE
LOW…se_purchase_history/test_item_wise_purchase_history.py47 def test_date_range_filters_on_transaction_date(self):CODE
LOW…se_purchase_history/test_item_wise_purchase_history.py90 def test_received_quantity_reflects_receipt(self):CODE
LOW…se_purchase_history/test_item_wise_purchase_history.py96 def test_billed_amount_reflects_invoice(self):CODE
LOW…se_purchase_history/test_item_wise_purchase_history.py104 def test_amounts_reported_in_company_currency(self):CODE
LOW…se_purchase_history/test_item_wise_purchase_history.py121 def test_chart_aggregates_amount_per_item(self):CODE
LOW…em_wise_purchase_history/item_wise_purchase_history.py207def get_purchase_order_details(company_list, filters):CODE
LOW…erred/subcontracted_raw_materials_to_be_transferred.py62def get_order_items_to_supply(filters):CODE
LOW…/test_subcontracted_raw_materials_to_be_transferred.py21 def test_pending_and_transferred_qty(self):CODE
LOW…/test_subcontracted_raw_materials_to_be_transferred.py75def transfer_subcontracted_raw_materials(sco):CODE
LOW…ntract_order_summary/test_subcontract_order_summary.py37 def test_subcontracting_order_is_listed(self):CODE
LOW…ntract_order_summary/test_subcontract_order_summary.py45 def test_out_of_range_date_excludes_order(self):CODE
LOW…subcontract_order_summary/subcontract_order_summary.py90def prepare_subcontracted_data(orders, supplied_items):CODE
LOW…urchase_order_analysis/test_purchase_order_analysis.py10 def test_report_executes_and_lists_po(self):CODE
LOW…rt/purchase_order_trends/test_purchase_order_trends.py13 def test_supplier_with_divergent_stored_name_stays_one_row(self):CODE
LOW…rt/purchase_order_trends/test_purchase_order_trends.py37 def test_total_row_not_double_counted_in_chart(self):CODE
LOW…rt/purchase_order_trends/test_purchase_order_trends.py73 def test_chart_currency_matches_company_currency(self):CODE
LOW…rt/purchase_order_trends/test_purchase_order_trends.py97 def test_group_by_chart_matches_table_total_with_mixed_group_sizes(self):CODE
5722 more matches not shown…
Hallucination Indicators47 hits · 495 pts
SeverityFileLineSnippetContext
CRITICALerpnext/buying/doctype/purchase_order/purchase_order.js288 this.frm.fields_dict.items_section.wrapper.addClass("hide-border");CODE
CRITICALerpnext/buying/doctype/purchase_order/purchase_order.js290 this.frm.fields_dict.items_section.wrapper.removeClass("hide-border");CODE
CRITICALerpnext/selling/page/point_of_sale/pos_controller.js52 dialog.fields_dict.balance_details.df.data.push({ mode_of_payment, opening_amount: "0" });CODE
CRITICALerpnext/selling/doctype/sales_order/sales_order.js267 dialog.fields_dict.items.df.data.forEach((row) => {CODE
CRITICALerpnext/selling/doctype/sales_order/sales_order.js304 dialog.fields_dict.items.df.data.forEach((row) => {CODE
CRITICALerpnext/selling/doctype/sales_order/sales_order.js311 dialog.fields_dict.items.df.data.push({CODE
CRITICALerpnext/selling/doctype/sales_order/sales_order.js445 dialog.fields_dict.items.df.data.push({CODE
CRITICALerpnext/selling/doctype/sales_order/sales_order.js469 dialog.fields_dict.items.df.data.push({CODE
CRITICALerpnext/selling/doctype/sales_order/sales_order.js577 dialog.fields_dict.sr_entries.df.data.push({CODE
CRITICALerpnext/selling/doctype/sales_order/sales_order.js729 frm.schedule_dialog.fields_dict.delivery_schedule.df.data.push({CODE
CRITICALerpnext/selling/doctype/sales_order/sales_order.js778 frm.schedule_dialog.fields_dict.delivery_schedule.df.data.push({CODE
CRITICALerpnext/selling/doctype/sales_order/sales_order.js801 frm.schedule_dialog.fields_dict.delivery_schedule.df.data.push({CODE
CRITICALerpnext/selling/doctype/sales_order/sales_order.js1434 this.frm.fields_dict.items.grid.toggle_reqd(CODE
CRITICALerpnext/manufacturing/doctype/bom/bom.js544 dialog.fields_dict.items.df.data.push({CODE
CRITICALerpnext/manufacturing/doctype/bom/bom.js1069 frm._bom_rm_dialog.fields_dict.items.df.data.push({CODE
CRITICALerpnext/manufacturing/doctype/bom/bom.js1076 frm._bom_rm_dialog.fields_dict.items.grid.refresh();CODE
CRITICALerpnext/manufacturing/doctype/work_order/work_order.js429 dialog.fields_dict.operations.df.data.push({CODE
CRITICALerpnext/public/js/stock_reservation.js180 dialog.fields_dict.items.df.data.push(args);CODE
CRITICALerpnext/public/js/stock_reservation.js252 dialog.fields_dict.sr_entries.df.data.push({CODE
CRITICALerpnext/public/js/utils.js711 dialog.fields_dict.alternative_items.df.data.push({CODE
CRITICALerpnext/public/js/utils.js833 const row = dialog.fields_dict.trans_items.df.data.find(CODE
CRITICALerpnext/public/js/utils.js876 dialog.fields_dict.trans_items.df.data.some((doc) => {CODE
CRITICAL…/public/js/bom_configurator/bom_configurator.bundle.js340 this.layout.fields_dict.items.grid.data.forEach((row) => {CODE
CRITICAL…/public/js/bom_configurator/bom_configurator.bundle.js344 this.layout.fields_dict.items.grid.refresh();CODE
CRITICALerpnext/public/js/utils/serial_no_batch_selector.js52 this.dialog.fields_dict.entries.df.data.push({CODE
CRITICALerpnext/public/js/utils/serial_no_batch_selector.js66 this.dialog.fields_dict.entries.grid.refresh();CODE
CRITICALerpnext/public/js/utils/serial_no_batch_selector.js565 this.dialog.fields_dict.entries.grid.refresh();CODE
CRITICALerpnext/public/js/utils/serial_no_batch_selector.js597 let existing_row = this.dialog.fields_dict.entries.df.data.filter((d) => {CODE
CRITICALerpnext/public/js/utils/serial_no_batch_selector.js608 this.dialog.fields_dict.entries.df.data.push({CODE
CRITICALerpnext/public/js/utils/serial_no_batch_selector.js620 this.dialog.fields_dict.entries.df.data.push({CODE
CRITICALerpnext/public/js/utils/serial_no_batch_selector.js626 this.dialog.fields_dict.entries.grid.refresh();CODE
CRITICALerpnext/public/js/utils/serial_no_batch_selector.js631 let existing_row = this.dialog.fields_dict.entries.df.data.filter((d) => {CODE
CRITICALerpnext/public/js/utils/serial_no_batch_selector.js640 this.dialog.fields_dict.entries.df.data.push({CODE
CRITICALerpnext/public/js/utils/serial_no_batch_selector.js649 this.dialog.fields_dict.entries.grid.refresh();CODE
CRITICALerpnext/public/js/utils/serial_no_batch_selector.js748 this.dialog.fields_dict.entries.df.data.push(d);CODE
CRITICALerpnext/public/js/utils/serial_no_batch_selector.js751 this.dialog.fields_dict.entries.grid.refresh();CODE
CRITICALerpnext/public/js/controllers/transaction.js1784 this.frm.fields_dict.items.grid.toggle_enable(CODE
CRITICALerpnext/public/js/controllers/buying.js145 this.frm.fields_dict.supplied_items.grid.update_docfield_property(CODE
CRITICAL…ctype/payment_reconciliation/payment_reconciliation.js249 let payments = this.frm.fields_dict.payments.grid.get_selected_children();CODE
CRITICAL…ctype/payment_reconciliation/payment_reconciliation.js253 let invoices = this.frm.fields_dict.invoices.grid.get_selected_children();CODE
CRITICAL…ctype/payment_reconciliation/payment_reconciliation.js368 dialog.fields_dict.allocation.df.data.push({CODE
CRITICALerpnext/accounts/doctype/pos_invoice/pos_invoice.js256 dialog.fields_dict.payments.df.data.some((d) => {CODE
CRITICAL…/accounts/doctype/purchase_invoice/purchase_invoice.js209 this.frm.fields_dict.items.grid.update_docfield_property(CODE
CRITICAL…g/doctype/subcontracting_order/subcontracting_order.js310 dialog.fields_dict.items.df.data.push({CODE
CRITICAL…g/doctype/subcontracting_order/subcontracting_order.js414 dialog.fields_dict.sr_entries.df.data.push({CODE
CRITICALerpnext/stock/doctype/stock_entry/stock_entry.js1236 this.frm.fields_dict.items.grid.get_field("item_code").get_query = function () {CODE
CRITICALerpnext/stock/doctype/stock_entry/stock_entry.js1265 this.frm.fields_dict.items.grid.get_field("expense_account").get_query = function () {CODE
Deep Nesting536 hits · 452 pts
SeverityFileLineSnippetContext
LOW…n/doctype/bulk_transaction_log/bulk_transaction_log.py116CODE
LOWerpnext/portal/utils.py4CODE
LOWerpnext/buying/utils.py14CODE
LOW…ort/purchase_order_analysis/purchase_order_analysis.py136CODE
LOWerpnext/buying/doctype/purchase_order/mapper.py221CODE
LOWerpnext/buying/doctype/purchase_order/purchase_order.py552CODE
LOWerpnext/buying/doctype/purchase_order/purchase_order.py328CODE
LOW…ying/doctype/purchase_order/services/subcontracting.py15CODE
LOW…doctype/request_for_quotation/request_for_quotation.py384CODE
LOWerpnext/selling/page/point_of_sale/point_of_sale.py551CODE
LOW…next/selling/report/sales_analytics/sales_analytics.py154CODE
LOW…next/selling/report/sales_analytics/sales_analytics.py561CODE
LOW…on_item_group/item_group_wise_sales_target_variance.py155CODE
LOW…for_packing_items/available_stock_for_packing_items.py9CODE
LOW…ng/report/sales_order_analysis/sales_order_analysis.py154CODE
LOW…sition_and_loyalty/customer_acquisition_and_loyalty.py100CODE
LOW…ng/report/address_and_contacts/address_and_contacts.py70CODE
LOW…or_sales_order/payment_terms_status_for_sales_order.py98CODE
LOW…or_sales_order/payment_terms_status_for_sales_order.py276CODE
LOW…chase_request/pending_so_items_for_purchase_request.py52CODE
LOWerpnext/selling/doctype/quotation/quotation.py235CODE
LOWerpnext/selling/doctype/sales_order/sales_order.py714CODE
LOWerpnext/selling/doctype/sales_order/sales_order.py804CODE
LOWerpnext/selling/doctype/sales_order/sales_order.py361CODE
LOWerpnext/selling/doctype/sales_order/sales_order.py617CODE
LOWerpnext/selling/doctype/sales_order/mapper.py32CODE
LOWerpnext/selling/doctype/sales_order/mapper.py185CODE
LOWerpnext/selling/doctype/sales_order/mapper.py232CODE
LOW…xt/selling/doctype/sales_order/services/reservation.py35CODE
LOW…selling/doctype/sales_order/services/subcontracting.py14CODE
LOWerpnext/selling/doctype/sms_center/sms_center.py44CODE
LOW…ty_management/doctype/quality_review/quality_review.py48CODE
LOW…agement/doctype/quality_procedure/quality_procedure.py84CODE
LOW…agement/doctype/quality_procedure/quality_procedure.py108CODE
LOW…6_0/set_not_applicable_on_german_item_tax_templates.py163CODE
LOWerpnext/patches/v16_0/migrate_tax_withholding_data.py1056CODE
LOW…_0/repost_stock_ledger_entries_for_target_warehouse.py8CODE
LOW…hes/v12_0/set_purchase_receipt_delivery_note_detail.py6CODE
LOW…hes/v12_0/set_purchase_receipt_delivery_note_detail.py23CODE
LOW…hes/v12_0/set_purchase_receipt_delivery_note_detail.py66CODE
LOW…ext/patches/v12_0/fix_percent_complete_for_projects.py5CODE
LOWerpnext/patches/v12_0/set_priority_for_support.py31CODE
LOWerpnext/patches/v12_0/set_priority_for_support.py72CODE
LOWerpnext/patches/v12_0/set_serial_no_status.py5CODE
LOW…xt/patches/v12_0/move_item_tax_to_item_tax_template.py102CODE
LOW…es/v12_0/move_credit_limit_to_customer_credit_limit.py20CODE
LOW…/v12_0/update_end_date_and_status_in_email_campaign.py5CODE
LOW…t/patches/v15_0/recalculate_amount_difference_field.py9CODE
LOW…pnext/patches/v15_0/link_purchase_item_to_asset_doc.py48CODE
LOW…15_0/migrate_old_item_wise_tax_detail_data_to_table.py31CODE
LOW…15_0/migrate_old_item_wise_tax_detail_data_to_table.py286CODE
LOW…15_0/migrate_old_item_wise_tax_detail_data_to_table.py164CODE
LOW…s/v15_0/update_total_number_of_booked_depreciations.py8CODE
LOW…/move_item_defaults_to_child_table_for_multicompany.py8CODE
LOWerpnext/patches/v11_0/add_item_group_defaults.py8CODE
LOWerpnext/patches/v11_0/update_delivery_trip_status.py8CODE
LOW…atches/v14_0/set_packed_qty_in_draft_delivery_notes.py8CODE
LOWerpnext/patches/v14_0/migrate_gl_to_payment_ledger.py99CODE
LOWerpnext/patches/v13_0/update_sla_enhancements.py8CODE
LOWerpnext/patches/v13_0/delete_orphaned_tables.py9CODE
476 more matches not shown…
Decorative Section Separators79 hits · 265 pts
SeverityFileLineSnippetContext
MEDIUMerpnext/hooks.py726# ------------STRING
MEDIUMerpnext/patches/v16_0/migrate_tax_withholding_data.py467 # -------------------------------------------------------------------------COMMENT
MEDIUMerpnext/patches/v16_0/migrate_tax_withholding_data.py469 # -------------------------------------------------------------------------COMMENT
MEDIUMerpnext/patches/v16_0/migrate_tax_withholding_data.py1231# =============================================================================COMMENT
MEDIUMerpnext/patches/v16_0/migrate_tax_withholding_data.py1233# =============================================================================COMMENT
MEDIUMerpnext/patches/v16_0/migrate_tax_withholding_data.py294# =============================================================================COMMENT
MEDIUMerpnext/patches/v16_0/migrate_tax_withholding_data.py296# =============================================================================COMMENT
MEDIUMerpnext/patches/v16_0/migrate_tax_withholding_data.py350 # -------------------------------------------------------------------------COMMENT
MEDIUMerpnext/patches/v16_0/migrate_tax_withholding_data.py352 # -------------------------------------------------------------------------COMMENT
MEDIUMerpnext/patches/v16_0/migrate_tax_withholding_data.py561 # -------------------------------------------------------------------------COMMENT
MEDIUMerpnext/patches/v16_0/migrate_tax_withholding_data.py563 # -------------------------------------------------------------------------COMMENT
MEDIUMerpnext/patches/v16_0/migrate_tax_withholding_data.py803 # -------------------------------------------------------------------------COMMENT
MEDIUMerpnext/patches/v16_0/migrate_tax_withholding_data.py805 # -------------------------------------------------------------------------COMMENT
MEDIUMerpnext/patches/v16_0/migrate_tax_withholding_data.py864 # -------------------------------------------------------------------------COMMENT
MEDIUMerpnext/patches/v16_0/migrate_tax_withholding_data.py866 # -------------------------------------------------------------------------COMMENT
MEDIUMerpnext/patches/v16_0/migrate_tax_withholding_data.py897# =============================================================================COMMENT
MEDIUMerpnext/patches/v16_0/migrate_tax_withholding_data.py899# =============================================================================COMMENT
MEDIUMerpnext/patches/v16_0/migrate_tax_withholding_data.py1051# =============================================================================COMMENT
MEDIUMerpnext/patches/v16_0/migrate_tax_withholding_data.py1053# =============================================================================COMMENT
MEDIUMerpnext/manufacturing/doctype/job_card/job_card.js586 // ── Determine which action buttons to show ────────────────────────COMMENT
MEDIUMerpnext/manufacturing/doctype/job_card/job_card.js635 // ── Timer color reflects job state ────────────────────────────────COMMENT
MEDIUMerpnext/manufacturing/doctype/job_card/job_card.js642 // ── Action button HTML ────────────────────────────────────────────COMMENT
MEDIUMerpnext/manufacturing/doctype/job_card/job_card.js668 // ── Render widget ─────────────────────────────────────────────────COMMENT
MEDIUMerpnext/manufacturing/doctype/job_card/job_card.js694 // ── Wire up button click handlers ─────────────────────────────────COMMENT
MEDIUMerpnext/manufacturing/doctype/job_card/job_card.js752 // ── Timer tick ────────────────────────────────────────────────────COMMENT
MEDIUMerpnext/public/js/shop_floor/shop_floor.js72 // ── App shell ────────────────────────────────────────────────────────────COMMENT
MEDIUMerpnext/public/js/shop_floor/shop_floor.js262 // ── Manager board ────────────────────────────────────────────────────────COMMENT
MEDIUMerpnext/public/js/shop_floor/shop_floor.js434 // ── Operator pane ──────────────────────────────────────────────────────────COMMENT
MEDIUMerpnext/public/js/shop_floor/shop_floor.js693 // ── Operator actions (unchanged behaviour, reload() instead of load()) ─────COMMENT
MEDIUMerpnext/public/js/shop_floor/shop_floor.js927 // ── Inline Quality Check ─────────────────────────────────────────────────────COMMENT
MEDIUMerpnext/public/js/shop_floor/shop_floor.js1160 // ── Timers ────────────────────────────────────────────────────────────────COMMENT
MEDIUMerpnext/public/js/shop_floor/shop_floor.js1199 // ── Realtime + lifecycle ───────────────────────────────────────────────────COMMENT
MEDIUMerpnext/public/js/shop_floor/shop_floor.js1233 // ── Keyboard ────────────────────────────────────────────────────────────────COMMENT
MEDIUMerpnext/public/js/shop_floor/shop_floor.js1427 // ── Scanner ──────────────────────────────────────────────────────────────COMMENT
MEDIUMerpnext/public/js/shop_floor/shop_floor.js1537 // ── Route options (e.g. the Work Order "Shop Floor" button) ────────────────COMMENT
MEDIUMerpnext/public/js/shop_floor/shop_floor.js1555 // ── Styles ──────────────────────────────────────────────────────────────────COMMENT
MEDIUMerpnext/accounts/test/test_pre_submit_validation.py220# ---------------------------------------------------------------------------COMMENT
MEDIUMerpnext/accounts/test/test_pre_submit_validation.py222# ---------------------------------------------------------------------------COMMENT
MEDIUM…counts/doctype/payment_request/test_payment_request.py1716 # ============================================================================COMMENT
MEDIUM…counts/doctype/payment_request/test_payment_request.py1718 # ============================================================================COMMENT
MEDIUM…counts/doctype/payment_request/test_payment_request.py1876 # ============================================================================COMMENT
MEDIUM…counts/doctype/payment_request/test_payment_request.py1878 # ============================================================================COMMENT
MEDIUM…counts/doctype/payment_request/test_payment_request.py1315 # ============================================================================COMMENT
MEDIUM…counts/doctype/payment_request/test_payment_request.py1317 # ============================================================================COMMENT
MEDIUM…counts/doctype/payment_request/test_payment_request.py1562 # ============================================================================COMMENT
MEDIUM…counts/doctype/payment_request/test_payment_request.py1564 # ============================================================================COMMENT
MEDIUM…counts/doctype/payment_request/test_payment_request.py1940 # ============================================================================COMMENT
MEDIUM…counts/doctype/payment_request/test_payment_request.py1942 # ============================================================================COMMENT
MEDIUM…e/financial_report_template/financial_report_engine.py46# ============================================================================COMMENT
MEDIUM…e/financial_report_template/financial_report_engine.py48# ============================================================================COMMENT
MEDIUM…e/financial_report_template/financial_report_engine.py206# ============================================================================COMMENT
MEDIUM…e/financial_report_template/financial_report_engine.py208# ============================================================================COMMENT
MEDIUM…e/financial_report_template/financial_report_engine.py361# ============================================================================COMMENT
MEDIUM…e/financial_report_template/financial_report_engine.py363# ============================================================================COMMENT
MEDIUM…e/financial_report_template/financial_report_engine.py1124# ============================================================================COMMENT
MEDIUM…e/financial_report_template/financial_report_engine.py1126# ============================================================================COMMENT
MEDIUM…e/financial_report_template/financial_report_engine.py1376# ============================================================================COMMENT
MEDIUM…e/financial_report_template/financial_report_engine.py1378# ============================================================================COMMENT
MEDIUM…e/financial_report_template/financial_report_engine.py1929# ============================================================================COMMENT
MEDIUM…e/financial_report_template/financial_report_engine.py1931# ============================================================================COMMENT
19 more matches not shown…
Cross-File Repetition41 hits · 205 pts
SeverityFileLineSnippetContext
HIGH…uying/doctype/supplier_quotation/supplier_quotation.py0if permitted in settings and any item has 0 qty, the so has unit price items.STRING
HIGHerpnext/buying/doctype/purchase_order/purchase_order.py0if permitted in settings and any item has 0 qty, the so has unit price items.STRING
HIGH…doctype/request_for_quotation/request_for_quotation.py0if permitted in settings and any item has 0 qty, the so has unit price items.STRING
HIGHerpnext/selling/doctype/quotation/quotation.py0if permitted in settings and any item has 0 qty, the so has unit price items.STRING
HIGHerpnext/selling/doctype/sales_order/sales_order.py0if permitted in settings and any item has 0 qty, the so has unit price items.STRING
HIGHerpnext/buying/doctype/purchase_order/purchase_order.py0update requested qty (before ordered_qty is updated)STRING
HIGH…xt/selling/doctype/sales_order/services/reservation.py0update requested qty (before ordered_qty is updated)STRING
HIGH…ext/stock/doctype/material_request/material_request.py0update requested qty (before ordered_qty is updated)STRING
HIGHerpnext/selling/doctype/sales_order/sales_order.py0creates stock reservation entries for sales order items.STRING
HIGH…xt/selling/doctype/sales_order/services/reservation.py0creates stock reservation entries for sales order items.STRING
HIGH…ype/stock_reservation_entry/stock_reservation_entry.py0creates stock reservation entries for sales order items.STRING
HIGHerpnext/selling/doctype/sales_order/sales_order.py0returns events for gantt / calendar view rendering. :param start: start date-time. :param end: end date-time. :param filSTRING
HIGHerpnext/projects/doctype/timesheet/timesheet.py0returns events for gantt / calendar view rendering. :param start: start date-time. :param end: end date-time. :param filSTRING
HIGHerpnext/setup/doctype/holiday_list/holiday_list.py0returns events for gantt / calendar view rendering. :param start: start date-time. :param end: end date-time. :param filSTRING
HIGHerpnext/selling/doctype/customer/customer.py0hook to return the target email address for notifications.STRING
HIGHerpnext/crm/doctype/opportunity/opportunity.py0hook to return the target email address for notifications.STRING
HIGHerpnext/crm/doctype/prospect/prospect.py0hook to return the target email address for notifications.STRING
HIGHerpnext/crm/doctype/lead/lead.py0hook to return the target email address for notifications.STRING
HIGH…atches/v13_0/delete_report_requested_items_to_order.py0check for one or multiple auto email reports and deleteSTRING
HIGHerpnext/patches/v13_0/delete_old_purchase_reports.py0check for one or multiple auto email reports and deleteSTRING
HIGHerpnext/patches/v13_0/delete_old_sales_reports.py0check for one or multiple auto email reports and deleteSTRING
HIGHerpnext/setup/doctype/item_group/item_group.py0check whether tax rate is not entered twice for same tax typeSTRING
HIGH…ccounts/doctype/item_tax_template/item_tax_template.py0check whether tax rate is not entered twice for same tax typeSTRING
HIGHerpnext/stock/doctype/item/item.py0check whether tax rate is not entered twice for same tax typeSTRING
HIGHerpnext/manufacturing/report/test_reports.py0test that all script report in stock modules are executable with supported filtersSTRING
HIGHerpnext/accounts/test/test_reports.py0test that all script report in stock modules are executable with supported filtersSTRING
HIGHerpnext/stock/report/test_reports.py0test that all script report in stock modules are executable with supported filtersSTRING
HIGHerpnext/accounts/report/financial_statements.py0returns a dict like { "account": [gl entries], ... }STRING
HIGH…inancial_statement/consolidated_financial_statement.py0returns a dict like { "account": [gl entries], ... }STRING
HIGH…eport/profitability_analysis/profitability_analysis.py0returns a dict like { "account": [gl entries], ... }STRING
HIGH…nsolidated_trial_balance/consolidated_trial_balance.py0return columns and data for the report. this is the main entry point for the report. it accepts the filters as a dictionSTRING
HIGH…eport/invalid_ledger_entries/invalid_ledger_entries.py0return columns and data for the report. this is the main entry point for the report. it accepts the filters as a dictionSTRING
HIGH…_and_batch_bundle/incorrect_serial_and_batch_bundle.py0return columns and data for the report. this is the main entry point for the report. it accepts the filters as a dictionSTRING
HIGH…/report/negative_batch_report/negative_batch_report.py0return columns and data for the report. this is the main entry point for the report. it accepts the filters as a dictionSTRING
HIGH…next/accounts/report/gross_profit/test_gross_profit.py0helper function to populate default values in sales invoiceSTRING
HIGH…/payment_reconciliation/test_payment_reconciliation.py0helper function to populate default values in sales invoiceSTRING
HIGH…type/payment_ledger_entry/test_payment_ledger_entry.py0helper function to populate default values in sales invoiceSTRING
HIGHerpnext/controllers/tests/test_accounts_controller.py0helper function to populate default values in sales invoiceSTRING
HIGH…/payment_reconciliation/test_payment_reconciliation.py0helper function to populate default values in payment entrySTRING
HIGH…type/payment_ledger_entry/test_payment_ledger_entry.py0helper function to populate default values in payment entrySTRING
HIGHerpnext/controllers/tests/test_accounts_controller.py0helper function to populate default values in payment entrySTRING
Excessive Try-Catch Wrapping152 hits · 170 pts
SeverityFileLineSnippetContext
LOW…lier_scorecard_criteria/supplier_scorecard_criteria.py52 except Exception:CODE
LOWerpnext/buying/doctype/purchase_order/mapper.py238 except Exception as e:CODE
LOW…t/buying/doctype/purchase_order/test_purchase_order.py818 except Exception:CODE
LOW…supplier_scorecard_period/supplier_scorecard_period.py78 except Exception:CODE
LOW…supplier_scorecard_period/supplier_scorecard_period.py97 except Exception:CODE
MEDIUM…supplier_scorecard_period/supplier_scorecard_period.py92def calculate_weighted_score(self, weighing_function):CODE
LOW…type/supplier/patches/migrate_supplier_portal_users.py12 except Exception:CODE
MEDIUM…type/supplier/patches/migrate_supplier_portal_users.py8def execute():CODE
LOWerpnext/buying/doctype/request_for_quotation/mapper.py86 except Exception:CODE
LOWerpnext/selling/doctype/sales_order/test_sales_order.py1655 except Exception:CODE
LOW…16_0/set_posting_datetime_for_sabb_and_drop_indexes.py30 except Exception:CODE
LOW…pnext/patches/v4_2/update_requested_and_ordered_qty.py32 except Exception:CODE
LOW…atches/v12_0/move_bank_account_swift_number_to_bank.py19 except Exception:CODE
LOWerpnext/patches/v15_0/drop_sle_indexes.py16 except Exception:CODE
LOW…_task_assignee_email_field_in_asset_maintenance_log.py17 except Exception:CODE
LOW…t_based_on_num_days_in_month_to_daily_prorata_based.py19 except Exception as e:CODE
MEDIUM…t_based_on_num_days_in_month_to_daily_prorata_based.py8def execute():CODE
LOW…n_to_depreciation_amount_based_on_num_days_in_month.py19 except Exception as e:CODE
MEDIUM…n_to_depreciation_amount_based_on_num_days_in_month.py8def execute():CODE
LOW…15_0/migrate_old_item_wise_tax_detail_data_to_table.py290 except Exception:CODE
LOW…/patches/v15_0/drop_index_posting_datetime_from_sle.py15 except Exception:CODE
LOWerpnext/patches/v15_0/remove_exotel_integration.py20 except Exception:CODE
LOW…15_0/unset_incorrect_additional_discount_percentage.py77 except Exception:CODE
MEDIUM…15_0/unset_incorrect_additional_discount_percentage.py74def get_semantic_version(version):CODE
LOW…/move_item_defaults_to_child_table_for_multicompany.py37 except Exception:CODE
LOWerpnext/patches/v14_0/crm_ux_cleanup.py21 except Exception as e:CODE
LOW…es/v14_0/migrate_deferred_accounts_to_item_defaults.py8 except Exception:CODE
MEDIUM…es/v14_0/migrate_deferred_accounts_to_item_defaults.py4def execute():CODE
LOWerpnext/patches/v14_0/migrate_gl_to_payment_ledger.py187 except Exception as err:CODE
LOW…atches/v14_0/rename_ongoing_status_in_sla_documents.py20 except Exception:CODE
LOW…te_accounting_dimensions_in_subcontracting_doctypes.py42 except Exception:CODE
LOW…/patches/v10_0/rename_price_to_rate_in_pricing_rule.py12 except Exception as e:CODE
LOWerpnext/patches/v13_0/drop_unused_sle_index_parts.py9 except Exception:CODE
MEDIUMerpnext/patches/v13_0/drop_unused_sle_index_parts.py6def execute():CODE
LOW…pnext/patches/v13_0/trim_whitespace_from_serial_nos.py68 except Exception:CODE
LOWerpnext/patches/v13_0/reset_corrupt_defaults.py22 except Exception:CODE
LOWerpnext/patches/v13_0/reset_corrupt_defaults.py28 except Exception:CODE
LOW…t/patches/v13_0/modify_invalid_gain_loss_gl_entries.py63 except Exception:CODE
LOW…atches/v13_0/create_accounting_dimensions_in_orders.py37 except Exception:CODE
LOWerpnext/patches/v13_0/job_card_status_on_hold.py18 except Exception:CODE
LOW…t/patches/v13_0/add_missing_fg_item_for_stock_entry.py92 except Exception:CODE
LOWerpnext/crm/frappe_crm_api.py29 except Exception:CODE
LOWerpnext/crm/frappe_crm_api.py102 except Exception:CODE
LOWerpnext/crm/frappe_crm_api.py160 except Exception:CODE
LOWerpnext/crm/frappe_crm_api.py172 except Exception:CODE
LOWerpnext/crm/frappe_crm_api.py218 except Exception:CODE
LOWerpnext/crm/frappe_crm_api.py232 except Exception:CODE
MEDIUMerpnext/crm/frappe_crm_api.py208def remove_allowed_users_on_crm_install():CODE
MEDIUMerpnext/crm/frappe_crm_api.py222def disable_frappe_crm_data_synchronization_on_crm_uninstall():CODE
LOWerpnext/crm/doctype/opportunity/opportunity.py152 except Exception:CODE
LOWerpnext/crm/doctype/email_campaign/email_campaign.py123 except Exception:CODE
LOWerpnext/crm/doctype/email_campaign/email_campaign.py200 except Exception:CODE
LOWerpnext/setup/utils.py155 except Exception:CODE
LOWerpnext/setup/demo.py30 except Exception:CODE
LOWerpnext/setup/demo.py73 except Exception:CODE
LOWerpnext/setup/setup_wizard/operations/taxes_setup.py129 except Exception:CODE
LOW…saction_deletion_record/transaction_deletion_record.py472 except Exception as e:CODE
LOW…saction_deletion_record/transaction_deletion_record.py611 except Exception:CODE
MEDIUMerpnext/setup/doctype/company/company.py913def install_country_fixtures(company, country):CODE
LOWerpnext/setup/doctype/company/company.py919 except Exception:CODE
92 more matches not shown…
Unused Imports223 hits · 164 pts
SeverityFileLineSnippetContext
LOWerpnext/edi/doctype/code_list/code_list_import.py1CODE
LOWerpnext/edi/doctype/code_list/code_list.py11CODE
LOWerpnext/buying/utils.py5CODE
LOW…uying/doctype/supplier_quotation/supplier_quotation.py7CODE
LOWerpnext/buying/doctype/supplier_quotation/mapper.py4CODE
LOWerpnext/buying/doctype/purchase_order/purchase_order.py5CODE
LOWerpnext/buying/doctype/purchase_order/purchase_order.py9CODE
LOW…doctype/request_for_quotation/request_for_quotation.py10CODE
LOWerpnext/buying/doctype/request_for_quotation/mapper.py4CODE
LOWerpnext/selling/page/point_of_sale/point_of_sale.py5CODE
LOWerpnext/selling/doctype/quotation/quotation.py7CODE
LOWerpnext/selling/doctype/quotation/mapper.py4CODE
LOWerpnext/selling/doctype/sales_order/sales_order.py5CODE
LOWerpnext/selling/doctype/sales_order/sales_order.py11CODE
LOWerpnext/selling/doctype/customer/customer.py5CODE
LOW…_0/crm_settings_handle_allowed_users_for_frappe_crm.py1CODE
LOWerpnext/projects/doctype/project/project.py634CODE
LOWerpnext/projects/doctype/task/task.py5CODE
LOWerpnext/projects/doctype/timesheet/timesheet.py5CODE
LOWerpnext/crm/frappe_crm_api.py1CODE
LOW…ext/crm/doctype/contract_template/contract_template.py5CODE
LOWerpnext/crm/doctype/opportunity/mapper.py5CODE
LOWerpnext/crm/doctype/opportunity/opportunity.py5CODE
LOWerpnext/crm/doctype/opportunity/opportunity.py10CODE
LOWerpnext/crm/doctype/lead/mapper.py5CODE
LOWerpnext/crm/doctype/lead/lead.py10CODE
LOWerpnext/setup/install.py5CODE
LOWerpnext/setup/doctype/holiday_list/holiday_list.py5CODE
LOW…p/doctype/terms_and_conditions/terms_and_conditions.py5CODE
LOW…doctype/authorization_control/authorization_control.py20CODE
LOWerpnext/setup/doctype/department/department.py5CODE
LOWerpnext/tests/bootstrap_test_data.py3CODE
LOWerpnext/manufacturing/doctype/bom/bom.py10CODE
LOWerpnext/manufacturing/doctype/bom/bom.py11CODE
LOWerpnext/manufacturing/doctype/bom/bom.py26CODE
LOWerpnext/manufacturing/doctype/bom/bom.py26CODE
LOWerpnext/manufacturing/doctype/bom/bom.py26CODE
LOWerpnext/manufacturing/doctype/bom/bom.py26CODE
LOWerpnext/manufacturing/doctype/bom/bom.py38CODE
LOWerpnext/manufacturing/doctype/bom/bom.py38CODE
LOWerpnext/manufacturing/doctype/bom/bom.py38CODE
LOWerpnext/manufacturing/doctype/bom/bom.py38CODE
LOWerpnext/manufacturing/doctype/bom/bom.py38CODE
LOWerpnext/manufacturing/doctype/bom/bom.py38CODE
LOWerpnext/manufacturing/doctype/bom/bom.py38CODE
LOWerpnext/manufacturing/doctype/bom/bom.py586CODE
LOWerpnext/manufacturing/doctype/job_card/job_card.py35CODE
LOW…facturing/doctype/bom_update_log/bom_updation_utils.py10CODE
LOWerpnext/manufacturing/doctype/work_order/mapper.py11CODE
LOWerpnext/manufacturing/doctype/work_order/work_order.py4CODE
LOWerpnext/manufacturing/doctype/work_order/work_order.py11CODE
LOWerpnext/manufacturing/doctype/work_order/work_order.py26CODE
LOWerpnext/manufacturing/doctype/work_order/work_order.py26CODE
LOWerpnext/manufacturing/doctype/work_order/work_order.py26CODE
LOWerpnext/manufacturing/doctype/work_order/work_order.py26CODE
LOWerpnext/manufacturing/doctype/work_order/work_order.py26CODE
LOWerpnext/manufacturing/doctype/work_order/work_order.py26CODE
LOWerpnext/manufacturing/doctype/work_order/work_order.py26CODE
LOWerpnext/manufacturing/doctype/work_order/work_order.py26CODE
LOWerpnext/manufacturing/doctype/work_order/work_order.py26CODE
163 more matches not shown…
Self-Referential Comments40 hits · 126 pts
SeverityFileLineSnippetContext
MEDIUMerpnext/edi/doctype/code_list/code_list_import.py114 # Create a new Code List document with the extracted nameCOMMENT
MEDIUM…t/buying/doctype/purchase_order/test_purchase_order.py1327 # Create a Purchase Order and Fully Bill itCOMMENT
MEDIUMerpnext/buying/doctype/request_for_quotation/mapper.py57# This method is used to make supplier quotation from supplier's portal.COMMENT
MEDIUM…pe/request_for_quotation/test_request_for_quotation.py121 # Create a Purchase Taxes and Charges Template for testingCOMMENT
MEDIUM…t_sales_partner_target_variance_based_on_item_group.py21 # Create a Target DistributionCOMMENT
MEDIUM…t_sales_partner_target_variance_based_on_item_group.py29 # Create a Sales Invoice for the PartnerCOMMENT
MEDIUM…st_sales_person_target_variance_based_on_item_group.py17 # Create a Target DistributionCOMMENT
MEDIUM…st_sales_person_target_variance_based_on_item_group.py28 # Create a Sales Order with 50-50 contribution between both Sales peopleCOMMENT
MEDIUMerpnext/selling/doctype/sales_order/test_sales_order.py764 # Create the Material Request from the sales order for the Packing ItemsCOMMENT
MEDIUMerpnext/selling/doctype/sales_order/test_sales_order.py2046 # Create a advance payment against that Sales OrderCOMMENT
MEDIUMerpnext/setup/setup_wizard/operations/taxes_setup.py267 # Create a new group account named 'Duties and Taxes' or 'Tax Assets' justCOMMENT
MEDIUM…saction_deletion_record/transaction_deletion_record.py658 # This method is the entry point for the chain of events that followCOMMENT
MEDIUMerpnext/tests/bootstrap_test_data.py1# This file is solely to trigger BootStrapTestData from CICOMMENT
MEDIUMerpnext/manufacturing/doctype/job_card/test_job_card.py554 # Create a corrective operation against itCOMMENT
MEDIUM…xt/manufacturing/doctype/work_order/test_work_order.py2057 # Create a work orderCOMMENT
MEDIUM…xt/manufacturing/doctype/work_order/test_work_order.py2076 # Create a stock entry to manufacture the itemCOMMENT
MEDIUM…turing/doctype/production_plan/test_production_plan.py3030 # Create the shared phantom BOMCOMMENT
MEDIUMerpnext/www/book_appointment/index.py112 # Create a appointment document from formCOMMENT
MEDIUM…report/accounts_receivable/test_accounts_receivable.py929 # Create a list of customer groups, e.g., ["Group1", "Group2"]COMMENT
MEDIUM…counts/doctype/payment_request/test_payment_request.py1158 # Create a customer with contact and address to ensure assertions runCOMMENT
MEDIUM…t/accounts/doctype/sales_invoice/test_sales_invoice.py4583 # Create a sales orderCOMMENT
MEDIUM…ext/accounts/doctype/subscription/test_subscription.py355 # Create a non pre-billed subscription, processing should not createCOMMENT
MEDIUM…counts/doctype/loyalty_program/test_loyalty_program.py201 # Create a new loyalty program with multiple tiersCOMMENT
MEDIUM…unts/doctype/purchase_invoice/test_purchase_invoice.py98 # Create a Purchase Invoice with update_stock=TrueCOMMENT
MEDIUM…unts/doctype/purchase_invoice/test_purchase_invoice.py2419 # Create a SupplierCOMMENT
MEDIUM…e/bank_reconciliation_tool/bank_reconciliation_tool.py162 # Create a new journal entry based on the bank transactionCOMMENT
MEDIUM…e/bank_reconciliation_tool/bank_reconciliation_tool.py322 # Create a new payment entry based on the bank transactionCOMMENT
MEDIUM…e/bank_reconciliation_tool/bank_reconciliation_tool.py687 # Create a new journal entry based on the bank transactionCOMMENT
MEDIUM…doctype/repost_item_valuation/repost_item_valuation.py640 # This function is called every 15 minutes via hooks.pyCOMMENT
MEDIUM…doctype/repost_item_valuation/repost_item_valuation.py689 # This function is called every hour via hooks.pyCOMMENT
MEDIUM…tock/doctype/purchase_receipt/test_purchase_receipt.py3034 # Create a Purchase Receipt and Fully Bill itCOMMENT
MEDIUM…tock/doctype/purchase_receipt/test_purchase_receipt.py5837 # Create a Company without Stock Accounts Linked.COMMENT
MEDIUMerpnext/stock/doctype/stock_entry/test_stock_entry.py2571 # Create a Material Request for Material TransferCOMMENT
MEDIUMerpnext/controllers/tests/test_accounts_controller.py849 # Create a Sales Taxes and Charges TemplateCOMMENT
MEDIUMerpnext/controllers/tests/test_accounts_controller.py865 # Create a Sales InvoiceCOMMENT
MEDIUMerpnext/controllers/tests/test_accounts_controller.py881 # Create a Sales InvoiceCOMMENT
MEDIUMerpnext/controllers/tests/test_accounts_controller.py2190 # Create a sales order with discount amountCOMMENT
MEDIUMerpnext/controllers/tests/test_accounts_controller.py2226 # Create a purchase order with discount amountCOMMENT
MEDIUMerpnext/controllers/tests/test_accounts_controller.py2262 # Create a sales order with discount amountCOMMENT
MEDIUMerpnext/controllers/tests/test_accounts_controller.py2300 # Create a sales order with discount percentage instead of amountCOMMENT
Modern Structural Boilerplate98 hits · 106 pts
SeverityFileLineSnippetContext
LOWerpnext/buying/utils.py14def update_last_purchase_rate(doc, is_submit) -> None:CODE
LOWerpnext/buying/utils.py67def set_stock_levels(row) -> None:CODE
LOW…ying/doctype/purchase_order/services/subcontracting.py45 def set_service_items_for_finished_goods(self) -> None:CODE
LOW…ying/doctype/purchase_order/services/subcontracting.py87 def update_subcontracting_order_status(self) -> None:CODE
LOW…xt/buying/doctype/purchase_order/services/drop_ship.py14 def update_dropship_received_qty(self, data: list[dict]) -> None:CODE
LOW…xt/buying/doctype/purchase_order/services/drop_ship.py74 def update_delivered_qty_in_sales_order(self) -> None:CODE
LOW…xt/buying/doctype/purchase_order/services/drop_ship.py88 def set_received_qty_to_zero_for_drop_ship_items(self) -> None:CODE
LOW…pnext/buying/doctype/purchase_order/services/status.py18 def update_status(self, status: str) -> None:CODE
LOW…pnext/buying/doctype/purchase_order/services/status.py39 def update_receiving_percentage(self) -> None:CODE
LOWerpnext/selling/doctype/sales_order/mapper.py826def set_delivery_date(items: list, sales_order: str) -> None:CODE
LOWerpnext/selling/doctype/sales_order/mapper.py986 def update_item_quantity(source, target, source_parent) -> None:CODE
LOWerpnext/selling/doctype/sales_order/mapper.py998 def update_packed_item_qty(source, target, source_parent) -> None:CODE
LOW…xt/selling/doctype/sales_order/services/reservation.py35 def update_reserved_qty(self, so_item_rows: list | None = None) -> None:CODE
LOW…ling/doctype/sales_order/services/delivery_schedule.py65 def update_delivery_date_based_on_schedule(self, child_row, first_delivery_date) -> None:CODE
LOW…selling/doctype/sales_order/services/subcontracting.py57 def update_subcontracting_order_status(self) -> None:CODE
LOWerpnext/selling/doctype/sales_order/services/status.py18 def set_default_statuses(self) -> None:CODE
LOWerpnext/selling/doctype/sales_order/services/status.py27 def update_status(self, status: str) -> None:CODE
LOWerpnext/selling/doctype/sales_order/services/status.py47 def update_delivery_status(self) -> None:CODE
LOWerpnext/selling/doctype/sales_order/services/status.py68 def update_picking_status(self) -> None:CODE
LOWerpnext/selling/doctype/sales_order/services/status.py97 def set_indicator(self) -> None:CODE
LOWerpnext/projects/doctype/task/task.py396 def set_missing_values(source: dict, target: dict) -> None:CODE
LOW…ring/report/process_loss_report/process_loss_report.py122def update_data_with_total_pl_value(data: Data) -> None:CODE
LOW…facturing/doctype/bom_update_log/bom_updation_utils.py46def update_cost_in_level(doc: "BOMUpdateLog", bom_list: list[str], batch_name: int | str) -> None:CODE
LOW…facturing/doctype/bom_update_log/bom_updation_utils.py99def update_new_bom_in_bom_items(unit_cost: float, current_bom: str, new_bom: str) -> None:CODE
LOW…facturing/doctype/bom_update_log/bom_updation_utils.py119def update_cost_in_boms(bom_list: list[str]) -> None:CODE
LOW…facturing/doctype/bom_update_log/bom_updation_utils.py210def set_values_in_log(log_name: str, values: dict[str, Any], commit: bool = False) -> None:CODE
LOWerpnext/utilities/transaction_base.py374 def set_fetched_values(self, item_obj: object, item_details: dict) -> None:CODE
LOWerpnext/utilities/transaction_base.py439 def set_rate_based_on_price_list(self, item_obj: object, item_details: dict) -> None:CODE
LOWerpnext/utilities/transaction_base.py497 def set_item_rate_and_discounts(self, item_obj: object, item_details: dict) -> None:CODE
LOWerpnext/accounts/utils.py2868def update_subscription_on_invoice_update(doc: "Document", method: str | None = None) -> None:CODE
LOWerpnext/accounts/services/advances.py27def set_advances(doc) -> None:CODE
LOWerpnext/accounts/services/advances.py128def set_advance_gain_or_loss(doc) -> None:CODE
LOWerpnext/accounts/services/advances.py162def set_total_advance_paid(doc) -> None:CODE
LOWerpnext/accounts/services/advances.py177def set_advance_payment_status(doc) -> None:CODE
LOWerpnext/accounts/services/taxes.py25 def set_taxes(self) -> None:CODE
LOWerpnext/accounts/services/taxes.py48 def set_taxes_and_charges(self) -> None:CODE
LOWerpnext/accounts/services/taxes.py105 def set_other_charges(self) -> None:CODE
LOWerpnext/accounts/services/taxes.py351def set_child_tax_template_and_map(item, child_item, parent_doc) -> None:CODE
LOWerpnext/accounts/services/internal_transfer.py36 def set_account(self) -> None:CODE
LOWerpnext/accounts/services/child_item_update.py406def update_bin_on_delete(row, doctype: str) -> None:CODE
LOWerpnext/accounts/services/child_item_update.py552def update_child_item_uom_and_weight(child_item, new_data) -> None:CODE
LOWerpnext/accounts/services/exchange_gain_loss.py205def set_transaction_currency_and_rate_in_gl_map(doc, gl_entries: list) -> None:CODE
LOWerpnext/accounts/services/payment_schedule.py17 def set_payment_schedule(self) -> None:CODE
LOWerpnext/accounts/services/payment_schedule.py209 def set_due_date(self) -> None:CODE
LOWerpnext/accounts/doctype/sales_invoice/services/pos.py36 def _set_default_change_amount_account(self) -> None:CODE
LOWerpnext/accounts/doctype/sales_invoice/services/pos.py105 def _set_selling_price_list(self, pos) -> None:CODE
LOWerpnext/accounts/doctype/sales_invoice/services/pos.py123 def _set_update_stock_from_profile(self, pos) -> None:CODE
LOWerpnext/accounts/doctype/sales_invoice/services/pos.py141 def _set_terms_and_taxes(self, pos) -> None:CODE
LOWerpnext/accounts/doctype/sales_invoice/services/pos.py151 def update_paid_amount(self) -> None:CODE
LOWerpnext/accounts/doctype/sales_invoice/services/pos.py169 def set_account_for_mode_of_payment(self) -> None:CODE
LOWerpnext/accounts/doctype/sales_invoice/services/pos.py339def update_multi_mode_option(doc, pos_profile) -> None:CODE
LOW…counts/doctype/sales_invoice/services/inter_company.py66def update_linked_doc(doctype: str, name: str, inter_company_reference: str | None) -> None:CODE
LOW…ccounts/doctype/sales_invoice/services/fixed_assets.py58 def set_income_account_for_fixed_assets(self) -> None:CODE
LOW…ccounts/doctype/sales_invoice/services/fixed_assets.py110 def _update_asset(self) -> None:CODE
LOW…ts/doctype/sales_invoice/services/timesheet_billing.py36 def update_time_sheet(self, sales_invoice: str | None) -> None:CODE
LOW…ts/doctype/sales_invoice/services/timesheet_billing.py54 def set_billing_hours_and_amount(self) -> None:CODE
LOW…ts/doctype/sales_invoice/services/timesheet_billing.py66 def update_timesheet_billing_for_project(self) -> None:CODE
LOW…ts/doctype/sales_invoice/services/timesheet_billing.py101 def _update_time_sheet_detail(self, timesheet, args, sales_invoice: str | None) -> None:CODE
LOW…ext/accounts/doctype/sales_invoice/services/loyalty.py126 def _set_loyalty_program_tier(self) -> None:CODE
LOW…next/accounts/doctype/sales_invoice/services/status.py70 def set_indicator(self) -> None:CODE
38 more matches not shown…
Redundant / Tautological Comments68 hits · 104 pts
SeverityFileLineSnippetContext
LOWerpnext/buying/utils.py40 # Check if item code is presentCOMMENT
LOW…t/buying/doctype/purchase_order/test_purchase_order.py1339 # Check if the billed amount reducedCOMMENT
LOW…t/buying/doctype/purchase_order/test_purchase_order.py1352 # Check if the billed amount stayed the sameCOMMENT
LOW…ort/customer_credit_balance/customer_credit_balance.py15 # Check if customer id is according to naming series or customer nameCOMMENT
LOWerpnext/selling/doctype/quotation/mapper.py211 # Check if a Customer already exists for the Lead or Prospect.COMMENT
LOWerpnext/selling/doctype/sales_order/test_sales_order.py316 # Check if payment terms are copied from sales order to sales invoiceCOMMENT
LOWerpnext/selling/doctype/sales_order/test_sales_order.py332 # Check if payment terms are not copied from sales order to sales invoiceCOMMENT
LOWerpnext/selling/doctype/sales_order/test_sales_order.py1565 # Check if Work Orders were raisedCOMMENT
LOW…agement/doctype/quality_procedure/quality_procedure.py60 # Check if any child process belongs to another parent.COMMENT
LOW…pnext/patches/v15_0/link_purchase_item_to_asset_doc.py64 # Check if the asset is groupedCOMMENT
LOWerpnext/patches/v13_0/update_member_email_address.py15 # Check if email_id already existsCOMMENT
LOWerpnext/crm/doctype/appointment/appointment.py78 # Set status to unverifiedCOMMENT
LOW…saction_deletion_record/transaction_deletion_record.py411 # Check if doctype exists and is not a child table or virtualCOMMENT
LOW…saction_deletion_record/transaction_deletion_record.py554 if "company" in db_company_fields: # Check if 'company' is a valid fieldCODE
LOWerpnext/manufacturing/doctype/job_card/test_job_card.py350 # Check if 'For Quantity' is negativeCOMMENT
LOWerpnext/www/book_appointment/index.py72 # Check if holidayCOMMENT
LOW…ort/customer_ledger_summary/customer_ledger_summary.py283 # Check if this is a direct return invoice (most specific condition first)COMMENT
LOW…ort/customer_ledger_summary/customer_ledger_summary.py286 # Check if this entry is against a return invoiceCOMMENT
LOWerpnext/accounts/report/balance_sheet/balance_sheet.py189 # Check if previous year balance sheet closedCOMMENT
LOW…ce_creation_tool/test_opening_invoice_creation_tool.py54 # Check if update stock is not enabledCOMMENT
LOW…ce_creation_tool/test_opening_invoice_creation_tool.py94 # Check if missing debit account error raisedCOMMENT
LOW…unts/doctype/bank_transaction/test_bank_transaction.py137 # Check if ERPNext can correctly filter a linked payments based on the debit/credit amountCOMMENT
LOW…bank_statement_import_log/bank_statement_import_log.py1084 # Check if there's an amount columnCOMMENT
LOW…bank_statement_import_log/bank_statement_import_log.py1098 # Check if there's a debit_credit column containing "cr"/"dr"COMMENT
LOW…/payment_reconciliation/test_payment_reconciliation.py841 # Check if difference journal entry gets generated for difference amount after reconciliationCOMMENT
LOW…/payment_reconciliation/test_payment_reconciliation.py935 # Check if difference journal entry gets generated for difference amount after reconciliationCOMMENT
LOW…t/accounts/doctype/sales_invoice/test_sales_invoice.py2438 # Check if SO is unlinked/replaced by SI in PE & if SO advance paid is 0COMMENT
LOW…t/accounts/doctype/sales_invoice/test_sales_invoice.py3422 # Check if adjustment entry is createdCOMMENT
LOW…t/accounts/doctype/sales_invoice/test_sales_invoice.py4600 # Check if loyalty points are applied correctlyCOMMENT
LOW…/cost_center_allocation/test_cost_center_allocation.py95 # Check if any child cost center is used as main cost center in any other existing allocationCOMMENT
LOW…ctype/cost_center_allocation/cost_center_allocation.py69 # Check if GLE exists against the main cost centerCOMMENT
LOW…ctype/cost_center_allocation/cost_center_allocation.py89 # Check if there are any future existing allocation records against the main cost centerCOMMENT
LOW…ctype/cost_center_allocation/cost_center_allocation.py143 # Check if child cost center is used as main cost center in any existing allocationCOMMENT
LOWerpnext/accounts/doctype/tax_rule/test_tax_rule.py389 # Check if accounts heads and rate fetched are also fetched from tax template or notCOMMENT
LOW…doctype/bank_transaction_rule/bank_transaction_rule.py98 # Set priority to 1 if no rules exist, otherwise increment by 1COMMENT
LOW…unts/doctype/purchase_invoice/test_purchase_invoice.py104 # Check if the received quantity is updated in Material RequestCOMMENT
LOW…/accounts/doctype/purchase_invoice/purchase_invoice.py711 # Check if there exists any item with cwip accounting enabled in it's asset categoryCOMMENT
LOW…/accounts/doctype/purchase_invoice/purchase_invoice.py853 # Check if outstanding amount is 0 due to debit note issued against invoiceCOMMENT
LOWerpnext/accounts/doctype/account/test_account.py170 # Check if renamed in childrenCOMMENT
LOWerpnext/accounts/doctype/account/account.py450 # Check if any previous balance existsCOMMENT
LOW…e/bank_reconciliation_tool/bank_reconciliation_tool.py716 # Check if this account is a Income or Expense AccountCOMMENT
LOW…ype/service_level_agreement/service_level_agreement.py106 # Check if repeated priorityCOMMENT
LOW…ype/service_level_agreement/service_level_agreement.py79 # Check if response and resolution time is set for every priorityCOMMENT
LOW…type/maintenance_schedule/test_maintenance_schedule.py84 # Check if item is mapped in visit.COMMENT
LOWerpnext/regional/italy/utils.py85 # Check if stamp duty (Bollo) of 2 EUR exists.COMMENT
LOW…type/stock_reconciliation/test_stock_reconciliation.py336 # Check if Serial No from Stock Reconcilation is intactCOMMENT
LOW…type/stock_reconciliation/test_stock_reconciliation.py340 # Check if Serial No from Stock Entry is Unlinked and InactiveCOMMENT
LOWerpnext/stock/doctype/batch/test_batch.py197 # Set user to session userCOMMENT
LOWerpnext/stock/doctype/item/item.py909 # Check if old attributes were removed from the listCOMMENT
LOW…next/stock/doctype/delivery_note/test_delivery_note.py377 # Check if Original DN updatedCOMMENT
LOW…next/stock/doctype/delivery_note/test_delivery_note.py385 # Check if unreturned amount is mapped in 2nd returnCOMMENT
LOW…next/stock/doctype/delivery_note/test_delivery_note.py446 # Check if Original DN updatedCOMMENT
LOW…tock/doctype/purchase_receipt/test_purchase_receipt.py4550 # Check if Original PR updatedCOMMENT
LOW…tock/doctype/purchase_receipt/test_purchase_receipt.py4559 # Check if the first partial debit billing percentage got updatedCOMMENT
LOW…tock/doctype/purchase_receipt/test_purchase_receipt.py4569 # Check if the second partial debit note billing percentage got updatedCOMMENT
LOW…tock/doctype/purchase_receipt/test_purchase_receipt.py483 # Check if Original PR updatedCOMMENT
LOW…tock/doctype/purchase_receipt/test_purchase_receipt.py492 # Check if unreturned amount is mapped in 2nd returnCOMMENT
LOW…tock/doctype/purchase_receipt/test_purchase_receipt.py547 # Check if Original PR updatedCOMMENT
LOW…tock/doctype/purchase_receipt/test_purchase_receipt.py3046 # Check if the billed amount reducedCOMMENT
LOW…tock/doctype/purchase_receipt/test_purchase_receipt.py3059 # Check if the billed amount stayed the sameCOMMENT
8 more matches not shown…
Verbosity Indicators37 hits · 60 pts
SeverityFileLineSnippetContext
LOW…ents/features/BankReconciliation/MatchAndReconcile.tsx839 // We need to check if the following details match:COMMENT
LOWerpnext/patches/v15_0/update_invoice_remarks.py22 ### Step 1: Update remarks in GL EntriesCOMMENT
LOWerpnext/patches/v15_0/update_invoice_remarks.py25 ### Step 2: Update remarks in Payment Ledger EntriesCOMMENT
LOWerpnext/patches/v15_0/update_invoice_remarks.py28 ### Step 3: Update remarks in Sales InvoiceCOMMENT
LOWerpnext/patches/v15_0/update_invoice_remarks.py55 ### Step 1: Update remarks in GL EntriesSTRING
LOWerpnext/patches/v15_0/update_invoice_remarks.py58 ### Step 2: Update remarks in Payment Ledger EntriesSTRING
LOWerpnext/patches/v15_0/update_invoice_remarks.py61 ### Step 3: Update remarks in Purchase InvoiceSTRING
LOWerpnext/manufacturing/doctype/bom/test_bom.py691 # Step 1: Create BOMCOMMENT
LOWerpnext/manufacturing/doctype/bom/test_bom.py710 # Step 2: Uncheck is_active fieldCOMMENT
LOWerpnext/manufacturing/doctype/bom/test_bom.py716 # Step 3: Check is_active fieldCOMMENT
LOW…_withholding_category/test_tax_withholding_category.py2911 # Step 1: Create a Payment Entry with over withheld amount at 10% rateCOMMENT
LOW…_withholding_category/test_tax_withholding_category.py2919 # Step 2: Create Purchase Invoice with partial adjustment and manual rate changeCOMMENT
LOW…_withholding_category/test_tax_withholding_category.py3032 # Step 1: Create a Payment Entry with over withheld amount at 10% rateCOMMENT
LOW…_withholding_category/test_tax_withholding_category.py3040 # Step 2: Create Purchase Invoice with partial adjustment and manual rate changeCOMMENT
LOW…_withholding_category/test_tax_withholding_category.py2964 # Step 3: Verify the tax withholding entriesCOMMENT
LOW…_withholding_category/test_tax_withholding_category.py3085 # Step 3: Verify the tax withholding entriesCOMMENT
LOW…_withholding_category/test_tax_withholding_category.py3188 # Step 3: Verify the tax withholding entries on invoiceCOMMENT
LOW…ancial_report_template/test_financial_report_engine.py2077 # Step 1: opening JV in current year (FY 2024) — must be posted before PCVCOMMENT
LOW…ancial_report_template/test_financial_report_engine.py2091 # Step 2: opening JV in next year (FY 2025)COMMENT
LOW…ancial_report_template/test_financial_report_engine.py2104 # Step 3: book Period Closing Voucher for previous year (FY 2023)COMMENT
LOW…/subcontracting_receipt/test_subcontracting_receipt.py1378 # Step 1: Create Subcontracting Receipt with rejected quantityCOMMENT
LOW…/subcontracting_receipt/test_subcontracting_receipt.py1392 # Step 2: Create Subcontract Return from Rejected WarehouseCOMMENT
LOW…tock/doctype/purchase_receipt/test_purchase_receipt.py2201 # Step 1: Create ItemCOMMENT
LOW…tock/doctype/purchase_receipt/test_purchase_receipt.py2204 # Step 2: Create Stock Entry (Material Receipt)COMMENT
LOW…tock/doctype/purchase_receipt/test_purchase_receipt.py2353 # Step 2: Create Stock Entry (Material Receipt)COMMENT
LOW…tock/doctype/purchase_receipt/test_purchase_receipt.py2409 # Step 1: Create Purchase Receipt with valuation rate 100COMMENT
LOW…tock/doctype/purchase_receipt/test_purchase_receipt.py2419 # Step 2: Create One more Purchase Receipt with valuation rate 200COMMENT
LOW…tock/doctype/purchase_receipt/test_purchase_receipt.py2429 # Step 3: Create Purchase Return for 2 qtyCOMMENT
LOW…tock/doctype/purchase_receipt/test_purchase_receipt.py2920 # Step 1: Create Purchase ReceiptCOMMENT
LOW…tock/doctype/purchase_receipt/test_purchase_receipt.py2216 # Step 3: Create Delivery Note with Internal CustomerCOMMENT
LOW…tock/doctype/purchase_receipt/test_purchase_receipt.py2231 # Step 4: Create Internal Purchase ReceiptCOMMENT
LOW…tock/doctype/purchase_receipt/test_purchase_receipt.py2245 # Step 5: Test Over Receipt AllowanceCOMMENT
LOW…tock/doctype/purchase_receipt/test_purchase_receipt.py2364 # Step 3: Create Delivery Note with Internal CustomerCOMMENT
LOW…tock/doctype/purchase_receipt/test_purchase_receipt.py2379 # Step 4: Create Internal Purchase ReceiptCOMMENT
LOW…tock/doctype/purchase_receipt/test_purchase_receipt.py2459 # Step 1: Create Purchase Receipt with valuation rate 100COMMENT
LOW…tock/doctype/purchase_receipt/test_purchase_receipt.py2960 # Step 2: Create Purchase ReceiptCOMMENT
LOW…tock/doctype/purchase_receipt/test_purchase_receipt.py3639 # Step 1: Create Purchase Receipt with valuation rate 100COMMENT
Structural Annotation Overuse36 hits · 58 pts
SeverityFileLineSnippetContext
LOWerpnext/patches/v15_0/update_invoice_remarks.py22 ### Step 1: Update remarks in GL EntriesCOMMENT
LOWerpnext/patches/v15_0/update_invoice_remarks.py25 ### Step 2: Update remarks in Payment Ledger EntriesCOMMENT
LOWerpnext/patches/v15_0/update_invoice_remarks.py28 ### Step 3: Update remarks in Sales InvoiceCOMMENT
LOWerpnext/patches/v15_0/update_invoice_remarks.py55 ### Step 1: Update remarks in GL EntriesSTRING
LOWerpnext/patches/v15_0/update_invoice_remarks.py58 ### Step 2: Update remarks in Payment Ledger EntriesSTRING
LOWerpnext/patches/v15_0/update_invoice_remarks.py61 ### Step 3: Update remarks in Purchase InvoiceSTRING
LOWerpnext/manufacturing/doctype/bom/test_bom.py691 # Step 1: Create BOMCOMMENT
LOWerpnext/manufacturing/doctype/bom/test_bom.py710 # Step 2: Uncheck is_active fieldCOMMENT
LOWerpnext/manufacturing/doctype/bom/test_bom.py716 # Step 3: Check is_active fieldCOMMENT
LOW…_withholding_category/test_tax_withholding_category.py2911 # Step 1: Create a Payment Entry with over withheld amount at 10% rateCOMMENT
LOW…_withholding_category/test_tax_withholding_category.py2919 # Step 2: Create Purchase Invoice with partial adjustment and manual rate changeCOMMENT
LOW…_withholding_category/test_tax_withholding_category.py3032 # Step 1: Create a Payment Entry with over withheld amount at 10% rateCOMMENT
LOW…_withholding_category/test_tax_withholding_category.py3040 # Step 2: Create Purchase Invoice with partial adjustment and manual rate changeCOMMENT
LOW…_withholding_category/test_tax_withholding_category.py2964 # Step 3: Verify the tax withholding entriesCOMMENT
LOW…_withholding_category/test_tax_withholding_category.py3085 # Step 3: Verify the tax withholding entriesCOMMENT
LOW…_withholding_category/test_tax_withholding_category.py3188 # Step 3: Verify the tax withholding entries on invoiceCOMMENT
LOW…ancial_report_template/test_financial_report_engine.py2077 # Step 1: opening JV in current year (FY 2024) — must be posted before PCVCOMMENT
LOW…ancial_report_template/test_financial_report_engine.py2091 # Step 2: opening JV in next year (FY 2025)COMMENT
LOW…ancial_report_template/test_financial_report_engine.py2104 # Step 3: book Period Closing Voucher for previous year (FY 2023)COMMENT
LOW…/subcontracting_receipt/test_subcontracting_receipt.py1378 # Step 1: Create Subcontracting Receipt with rejected quantityCOMMENT
LOW…/subcontracting_receipt/test_subcontracting_receipt.py1392 # Step 2: Create Subcontract Return from Rejected WarehouseCOMMENT
LOW…tock/doctype/purchase_receipt/test_purchase_receipt.py2201 # Step 1: Create ItemCOMMENT
LOW…tock/doctype/purchase_receipt/test_purchase_receipt.py2204 # Step 2: Create Stock Entry (Material Receipt)COMMENT
LOW…tock/doctype/purchase_receipt/test_purchase_receipt.py2353 # Step 2: Create Stock Entry (Material Receipt)COMMENT
LOW…tock/doctype/purchase_receipt/test_purchase_receipt.py2409 # Step 1: Create Purchase Receipt with valuation rate 100COMMENT
LOW…tock/doctype/purchase_receipt/test_purchase_receipt.py2419 # Step 2: Create One more Purchase Receipt with valuation rate 200COMMENT
LOW…tock/doctype/purchase_receipt/test_purchase_receipt.py2429 # Step 3: Create Purchase Return for 2 qtyCOMMENT
LOW…tock/doctype/purchase_receipt/test_purchase_receipt.py2920 # Step 1: Create Purchase ReceiptCOMMENT
LOW…tock/doctype/purchase_receipt/test_purchase_receipt.py2216 # Step 3: Create Delivery Note with Internal CustomerCOMMENT
LOW…tock/doctype/purchase_receipt/test_purchase_receipt.py2231 # Step 4: Create Internal Purchase ReceiptCOMMENT
LOW…tock/doctype/purchase_receipt/test_purchase_receipt.py2245 # Step 5: Test Over Receipt AllowanceCOMMENT
LOW…tock/doctype/purchase_receipt/test_purchase_receipt.py2364 # Step 3: Create Delivery Note with Internal CustomerCOMMENT
LOW…tock/doctype/purchase_receipt/test_purchase_receipt.py2379 # Step 4: Create Internal Purchase ReceiptCOMMENT
LOW…tock/doctype/purchase_receipt/test_purchase_receipt.py2459 # Step 1: Create Purchase Receipt with valuation rate 100COMMENT
LOW…tock/doctype/purchase_receipt/test_purchase_receipt.py2960 # Step 2: Create Purchase ReceiptCOMMENT
LOW…tock/doctype/purchase_receipt/test_purchase_receipt.py3639 # Step 1: Create Purchase Receipt with valuation rate 100COMMENT
Over-Commented Block51 hits · 48 pts
SeverityFileLineSnippetContext
LOWbanking/src/lib/namespace/sync.js61 }COMMENT
LOWerpnext/edi/doctype/common_code/common_code.js1// Copyright (c) 2024, Frappe Technologies Pvt. Ltd. and contributorsCOMMENT
LOW…_transaction_log_detail/bulk_transaction_log_detail.js1// Copyright (c) 2023, Frappe Technologies Pvt. Ltd. and contributorsCOMMENT
LOW…/delivery_schedule_item/test_delivery_schedule_item.py1# Copyright (c) 2025, Frappe Technologies Pvt. Ltd. and ContributorsCOMMENT
LOW…ctype/delivery_schedule_item/delivery_schedule_item.js1// Copyright (c) 2025, Frappe Technologies Pvt. Ltd. and contributorsCOMMENT
LOW…p/doctype/terms_and_conditions/terms_and_conditions.js1// Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and ContributorsCOMMENT
LOWerpnext/setup/doctype/incoterm/incoterm.js1// Copyright (c) 2022, Frappe Technologies Pvt. Ltd. and contributorsCOMMENT
LOWerpnext/setup/doctype/uom/uom.js1// Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and ContributorsCOMMENT
LOW…ccount/test_workstation_operating_component_account.py1# Copyright (c) 2025, Frappe Technologies Pvt. Ltd. and ContributorsCOMMENT
LOW…ent_account/workstation_operating_component_account.js1// Copyright (c) 2025, Frappe Technologies Pvt. Ltd. and contributorsCOMMENT
LOW…ting_component/test_workstation_operating_component.py1# Copyright (c) 2025, Frappe Technologies Pvt. Ltd. and ContributorsCOMMENT
LOW…operating_component/workstation_operating_component.js1// Copyright (c) 2025, Frappe Technologies Pvt. Ltd. and contributorsCOMMENT
LOW…acturing/doctype/sales_forecast/test_sales_forecast.py1# Copyright (c) 2025, Frappe Technologies Pvt. Ltd. and ContributorsCOMMENT
LOW…ring/doctype/workstation_cost/test_workstation_cost.py1# Copyright (c) 2025, Frappe Technologies Pvt. Ltd. and ContributorsCOMMENT
LOW…facturing/doctype/workstation_cost/workstation_cost.js1// Copyright (c) 2025, Frappe Technologies Pvt. Ltd. and contributorsCOMMENT
LOWerpnext/public/js/shop_floor/shop_floor.js1// Shop Floor — an immersive, keyboard-first operator/manager interface.COMMENT
LOWerpnext/public/js/utils/barcode_scanner.js21 // shouldn't cap further scans.COMMENT
LOW…ated_discount_mismatch/calculated_discount_mismatch.js1// Copyright (c) 2025, Frappe Technologies Pvt. Ltd. and contributorsCOMMENT
LOW…unts/report/accounts_receivable/accounts_receivable.py21 get_currency_precision,COMMENT
LOW…s/doctype/process_subscription/process_subscription.js1// Copyright (c) 2023, Frappe Technologies Pvt. Ltd. and contributorsCOMMENT
LOW…doctype/ledger_health_monitor/ledger_health_monitor.js1// Copyright (c) 2024, Frappe Technologies Pvt. Ltd. and contributorsCOMMENT
LOW…ts/doctype/pegged_currencies/test_pegged_currencies.py1# Copyright (c) 2025, Frappe Technologies Pvt. Ltd. and ContributorsCOMMENT
LOW…ccounts/doctype/pegged_currencies/pegged_currencies.js1// Copyright (c) 2025, Frappe Technologies Pvt. Ltd. and contributorsCOMMENT
LOWerpnext/accounts/doctype/ledger_health/ledger_health.js1// Copyright (c) 2024, Frappe Technologies Pvt. Ltd. and contributorsCOMMENT
LOW…doctype/subscription_settings/subscription_settings.js1// Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and contributorsCOMMENT
LOW…s/doctype/bank_account_balance/bank_account_balance.js1// Copyright (c) 2026, Frappe Technologies Pvt. Ltd. and contributorsCOMMENT
LOWerpnext/accounts/doctype/bisect_nodes/bisect_nodes.js1// Copyright (c) 2023, Frappe Technologies Pvt. Ltd. and contributorsCOMMENT
LOW…doctype/tax_withholding_group/tax_withholding_group.js1// Copyright (c) 2025, Frappe Technologies Pvt. Ltd. and contributorsCOMMENT
LOW…s/doctype/subscription_invoice/subscription_invoice.js1// Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and contributorsCOMMENT
LOW…doctype/pos_invoice_merge_log/pos_invoice_merge_log.py521 Splits invoices into multiple groupsCOMMENT
LOW…/accounts/doctype/account_category/account_category.js1// Copyright (c) 2025, Frappe Technologies Pvt. Ltd. and contributorsCOMMENT
LOW…unts/doctype/account_category/test_account_category.py1# Copyright (c) 2025, Frappe Technologies Pvt. Ltd. and ContributorsCOMMENT
LOWerpnext/support/doctype/issue/issue.js141COMMENT
LOWerpnext/support/doctype/issue/issue.js161 // frappe.set_route("Form", "Help Article", doc.name);COMMENT
LOW…xt/stock/doctype/item_lead_time/test_item_lead_time.py1# Copyright (c) 2025, Frappe Technologies Pvt. Ltd. and ContributorsCOMMENT
LOW…doctype/stock_closing_balance/stock_closing_balance.js1// Copyright (c) 2024, Frappe Technologies Pvt. Ltd. and contributorsCOMMENT
LOW…/doctype/stock_ledger_entry/test_stock_ledger_entry.py841 # state["stock_value"] += sle["stock_value_difference"]COMMENT
LOW…/doctype/stock_ledger_entry/test_stock_ledger_entry.py861 # self.assertSLEs(COMMENT
LOW…/doctype/stock_ledger_entry/test_stock_ledger_entry.py881 # },COMMENT
LOW…/doctype/stock_ledger_entry/test_stock_ledger_entry.py901COMMENT
LOW…/doctype/stock_ledger_entry/test_stock_ledger_entry.py921 # self.assertSLEs(COMMENT
LOW…/doctype/stock_ledger_entry/test_stock_ledger_entry.py941 # [COMMENT
LOW…/doctype/stock_ledger_entry/test_stock_ledger_entry.py961 # consume_new1 = make_stock_entry(COMMENT
LOWerpnext/startup/__init__.py1# ERPNext - web based ERP (http://erpnext.com)COMMENT
LOWerpnext/assets/doctype/asset_activity/asset_activity.js1// Copyright (c) 2023, Frappe Technologies Pvt. Ltd. and contributorsCOMMENT
LOW…ssets/doctype/asset_shift_factor/asset_shift_factor.js1// Copyright (c) 2023, Frappe Technologies Pvt. Ltd. and contributorsCOMMENT
LOWerpnext/shopping_cart/__init__.py1# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and ContributorsCOMMENT
LOW.github/workflows/sync-hotfix-translations.yml1# Orchestrator — lives on develop only.COMMENT
LOW.github/helper/start-db.sh1#!/bin/bashCOMMENT
LOW.github/helper/hydrate.sh1#!/bin/bashCOMMENT
LOW.github/helper/hydrate.sh21COMMENT
AI Structural Patterns52 hits · 46 pts
SeverityFileLineSnippetContext
LOW…er_and_receive/requested_items_to_order_and_receive.py79CODE
LOW…ort/purchase_order_analysis/purchase_order_analysis.py97CODE
LOW…next/patches/v14_0/update_pos_return_ledger_entries.py16CODE
LOWerpnext/projects/doctype/task/test_task.py205CODE
LOWerpnext/projects/doctype/timesheet/test_timesheet.py462CODE
LOWerpnext/crm/utils.py226CODE
LOW…ort/work_order_stock_report/work_order_stock_report.py106CODE
LOWerpnext/utilities/product.py148CODE
LOWerpnext/accounts/utils.py66CODE
LOWerpnext/accounts/utils.py99CODE
LOWerpnext/accounts/utils.py204CODE
LOWerpnext/accounts/utils.py1251CODE
LOWerpnext/accounts/utils.py2494CODE
LOWerpnext/accounts/party.py77CODE
LOWerpnext/accounts/party.py116CODE
LOWerpnext/accounts/party.py422CODE
LOW…e/account_balance_timeline/account_balance_timeline.py15CODE
LOWerpnext/accounts/report/financial_statements.py688CODE
LOW…lance_report/dimension_wise_accounts_balance_report.py80CODE
LOWerpnext/accounts/report/trial_balance/trial_balance.py141CODE
LOW…nsolidated_trial_balance/consolidated_trial_balance.py217CODE
LOW…/report/sales_payment_summary/sales_payment_summary.py64CODE
LOW…n_invoice_date/payment_period_based_on_invoice_date.py182CODE
LOW…pnext/accounts/report/general_ledger/general_ledger.py157CODE
LOW…eport/profitability_analysis/profitability_analysis.py95CODE
LOW…xt/accounts/doctype/payment_request/payment_request.py1363CODE
LOW…ctype/payment_reconciliation/payment_reconciliation.py560CODE
LOWerpnext/accounts/doctype/sales_invoice/mapper.py514CODE
LOWerpnext/accounts/doctype/journal_entry/journal_entry.py1266CODE
LOW…e/bank_reconciliation_tool/bank_reconciliation_tool.py150CODE
LOW…e/bank_reconciliation_tool/bank_reconciliation_tool.py309CODE
LOW…e/bank_reconciliation_tool/bank_reconciliation_tool.py1175CODE
LOW…e/bank_reconciliation_tool/bank_reconciliation_tool.py1215CODE
LOW…ccounts/doctype/pos_closing_entry/pos_closing_entry.py279CODE
LOW…ccounts/doctype/pos_closing_entry/pos_closing_entry.py337CODE
LOW…ervice_level_agreement/test_service_level_agreement.py412CODE
LOWerpnext/stock/stock_ledger.py1946CODE
LOWerpnext/stock/get_item_details.py182CODE
LOW…rehouse_wise_stock_value/warehouse_wise_stock_value.py14CODE
LOW…stock_value_by_item_group/stock_value_by_item_group.py15CODE
LOW…t_serial_no_valuation/incorrect_serial_no_valuation.py25CODE
LOW…_and_batch_bundle/incorrect_serial_and_batch_bundle.py101CODE
LOW…_and_batch_bundle/incorrect_serial_and_batch_bundle.py133CODE
LOW…transaction/incorrect_balance_qty_after_transaction.py25CODE
LOWerpnext/stock/report/reserved_stock/reserved_stock.py83CODE
LOW…eport/available_batch_report/available_batch_report.py76CODE
LOW…ype/stock_reservation_entry/stock_reservation_entry.py1815CODE
LOWerpnext/stock/doctype/batch/batch.py235CODE
LOWerpnext/stock/doctype/item/test_item.py1273CODE
LOWerpnext/stock/doctype/stock_entry/stock_entry_utils.py18CODE
LOW…ype/serial_and_batch_bundle/serial_and_batch_bundle.py3215CODE
LOWerpnext/controllers/tests/test_accounts_controller.py254CODE
Cross-Language Confusion3 hits · 15 pts
SeverityFileLineSnippetContext
HIGHerpnext/hooks.py229 "condition": "eval: frappe.boot.sysdefaults.demo_company && frappe.boot.sysdefaults.demo_company.length > 0",CODE
HIGH…nancial_report_template/financial_report_validation.py258 message=f"Line References undefined in Formula: {', '.join(undefined)}",CODE
HIGH…nancial_report_template/financial_report_validation.py324 message=f"Formula references undefined codes: {', '.join(undefined)}",CODE
AI Slop Vocabulary4 hits · 10 pts
SeverityFileLineSnippetContext
MEDIUM…_quotation_comparison/supplier_quotation_comparison.py141 group_entries = group_wise_map[group] # all entries pertaining to item/supplierCODE
MEDIUMerpnext/selling/page/sales_funnel/test_sales_funnel.py40 # Baseline before creating anything (robust against pre-existing rows).COMMENT
MEDIUM…selling/report/sales_analytics/test_sales_analytics.py165 # robust to any pre-existing rows in the historical window.COMMENT
LOWerpnext/accounts/general_ledger.py237 # if there is already an entry in this account then just add itCOMMENT
Fake / Example Data10 hits · 8 pts
SeverityFileLineSnippetContext
LOWerpnext/selling/doctype/customer/test_customer.py417 first, middle, last = parse_full_name("John Doe")CODE
LOWerpnext/setup/setup_wizard/data/sample_blog_post.html3<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore mCODE
LOWerpnext/setup/setup_wizard/data/sample_blog_post.html3<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore mCODE
LOW…report/accounts_receivable/test_accounts_receivable.py952 "customer_name": "Jane Doe",CODE
LOW…report/accounts_receivable/test_accounts_receivable.py1171 "customer_name": "Jane Doe",CODE
LOW…counts/doctype/payment_request/test_payment_request.py238 recipient_id="user@example.com",CODE
LOW…counts/doctype/payment_request/test_payment_request.py263 recipient_id="user@example.com",CODE
LOW…counts/doctype/payment_request/test_payment_request.py282 recipient_id="user@example.com",CODE
LOW…counts/doctype/payment_request/test_payment_request.py1811 "address_line1": "123 Main St",CODE
LOW…counts/doctype/payment_request/test_payment_request.py1834 self.assertEqual(address.get("address_line1"), "123 Main St")CODE
Overly Generic Function Names1 hit · 1 pts
SeverityFileLineSnippetContext
LOW…saction_deletion_record/transaction_deletion_record.py605 def execute_task(self, task_to_execute: str | None = None):CODE