| SY-01 | Anyone can download a PDF of any document without logging in | Security | Critical | Confirmed | 1 |
| SY-02 | Every assistant user can run their own Python code on the server | Security | Critical | Confirmed | 1 |
| SY-03 | Anyone can disable a supplier or replace product photos by uploading a file | Security | Critical | Confirmed | 1 |
| SY-04 | The invoice CSV e-mail runs for every store sale and fails almost every time | Integrations | High | Confirmed | 1 |
| SY-05 | Late store sales from ADP cause constant stock revaluation | Performance and reliability | High | Confirmed | 2 |
| SY-06 | A customisation lets stock revaluation change values in closed periods | Stock, accounting and data | High | Confirmed | 1 |
| SY-07 | A database script runs stock revaluation inside the web server | Performance and reliability | High | Confirmed | 1 |
| SY-08 | Nothing stops the same ADP bill from being posted twice | Integrations | High | Likely | 1 |
| SY-09 | Approving a PO to Agilitas India waits on the other system and saves half-way | Integrations | High | Confirmed | 1 |
| SY-10 | Submitting a Service Receipt Note saves the goods receipt before the note is finished | Stock, accounting and data | High | Confirmed | 1 |
| SY-11 | The cash discount tool applies the full discount to every linked receipt | Stock, accounting and data | High | Confirmed | 1 |
| SY-12 | Purchase Order grand total is replaced by the cash-discount amount | Stock, accounting and data | High | Likely | 1 |
| SY-13 | Tax-template logic adds about seven database look-ups per line, several times per save | Performance and reliability | High | Confirmed | 2 |
| SY-14 | Any user who can read a PO can send an approved PO back to draft | Security | High | Confirmed | 1 |
| SY-15 | PO item exports are written as public files without a permission check | Security | High | Confirmed | 1 |
| SY-16 | A no-login web method can read any uploaded file, including private ones | Security | High | Confirmed | 1 |
| SY-17 | A no-login web method can overwrite the rows of any Item Master Request | Security | High | Confirmed | 1 |
| SY-18 | Any logged-in user can run a data-correction script on all past transactions | Security | High | Confirmed | 1 |
| SY-19 | The replaced tax calculation breaks on a standard ERPNext recalculation path | Code and configuration | Medium | Confirmed | 2 |
| SY-20 | `calculate_taxes_and_totals.calculate` monkey-patch swallows GST template errors | Code and configuration | Medium | Confirmed | 2 |
| SY-21 | GST helper overwrites line UOM, description and HSN, persists a non-standard `item_tax_rate`, and leaves stale CGST/SGST on inter-state lines | Stock, accounting and data | Medium | Confirmed | 2 |
| SY-22 | Pricing differs between desk (whitelisted overrides) and server/API (core); copied `get_item_details` has drifted | Stock, accounting and data | Medium | Confirmed | 2 |
| SY-23 | Custom GL remarks are written with per-row UPDATEs after submit and lost on every GL repost | Stock, accounting and data | Medium | Confirmed | 3 |
| SY-24 | Item save performs full scans (EAN, style code) and a broken sequence generator that loops `exists()` | Performance and reliability | Medium | Confirmed | 2 |
| SY-25 | Document Audit Trail hook rewrites the full history on every save, with an unindexed lookup that ignores DocType | Performance and reliability | Medium | Confirmed | 2 |
| SY-26 | Deploy pipeline goes to prod on every push to main without tests or lint, and wipes the RQ queue | Code and configuration | Medium | Confirmed | 1 |
| SY-27 | Most configuration is not in source control; migrate re-applies the repo copy | Code and configuration | Medium | Confirmed | 3 |
| SY-28 | Payment Entry override inserts with `ignore_permissions` and `flags.ignore_validate` | Stock, accounting and data | Medium | Confirmed | 2 |
| SY-29 | CDMS job is not idempotent; "JE & LCV created" detection is imprecise | Stock, accounting and data | Medium | Confirmed | 2 |
| SY-30 | ADP sends dates in the wrong format and 158 store sales were rejected | Integrations | Medium | Confirmed | 1 |
| SY-32 | Whitelisted dead endpoint cancels and rebuilds every PCV; recreated PCVs get `posting_date=None` | Stock, accounting and data | Medium | Confirmed | 1 |
| SY-33 | Integration Request Log: Olabi bearer token is sent to a per-record URL, `callback_function` is resolved with `get_attr`, and resend methods have no permission check | Security | Medium | Confirmed | 1 |
| SY-34 | Guest SRN helper endpoints leak PO line pricing to anyone who knows the PO number and supplier id | Security | Medium | Confirmed | 1 |
| SY-35 | Guest web forms (SRN, Supplier Onboarding, Item Master) accept unauthenticated submissions that drive internal workflows and outbound email | Security | Medium | Confirmed | 1 |
| SY-36 | E-mail workflow actions: `confirm_action` signs the user but has no expiry and no state binding, logs the approver in without authentication, and the confirmation templates are missing | Security | Medium | Likely | 2 |
| SY-37 | Anyone can register a new application against the AI assistant | Security | Medium | Confirmed | 1 |
| SY-38 | `override_whitelisted_methods`: permission parity | Security | Medium | Confirmed | 2 |
| SY-39 | Credentials and personal data at rest and in logs | Security | Medium | Confirmed | 1 |
| SY-40 | Audit trail gaps (compliance) | Security | Medium | Confirmed | 2 |
| SY-41 | Cancelled PO stays open in Olabi when the cancel happens before the create is sent | Integrations | Medium | Confirmed | 2 |
| SY-42 | `custom_is_synced_olabi` copied on amend/duplicate, so amended POs never auto-sync | Integrations | Medium | Likely | 2 |
| SY-43 | Retry/concurrency weaknesses in IRL processor | Integrations | Medium | Likely | 2 |
| SY-44 | Full PO JSON posted by client for sync/dup-check; truncated body error | Integrations | Medium | Likely | 2 |
| SY-45 | ZeroGrunt reads purchase orders through a full staff account | Integrations | Medium | Potential | 1 |
| SY-46 | No reconciliation for any integration | Integrations | Medium | Confirmed | 2 |
| SY-47 | Payment Request override may be shadowed by india_banking; PE draft inserted with ignore_validate | Integrations | Medium | Potential | 2 |
| SY-48 | India Compliance API failures (1,562) not from custom code; scheduler stopped | Integrations | Medium | Potential | 3 |
| SY-49 | Error messages show technical details to users | Security | Medium | Confirmed | 1 |
| SY-50 | API keys are held by vendors and dormant accounts | Security | Medium | Confirmed | 1 |
| SY-51 | Negative stock is allowed and the immutable ledger is off | Stock, accounting and data | Medium | Confirmed | 2 |
| SY-31 | Custom depreciation job is never scheduled (name collision with ERPNext job); after_migrate stop targets a non-existent name | Stock, accounting and data | Low | Confirmed | 3 |
| SY-52 | Hooks-imported AR report patch is non-deterministic across workers | Code and configuration | Low | Likely | 3 |
| SY-53 | Redundant monkey-patch of `get_allowed_types_from_settings` | Code and configuration | Low | Confirmed | 3 |
| SY-54 | Customer on_update tries to disable the customer but the flag is not saved | Stock, accounting and data | Low | Confirmed | 3 |
| SY-55 | SLE `before_insert` loads the whole Delivery Note per SLE (lead re-check) | Stock, accounting and data | Low | Confirmed | 3 |
| SY-56 | Hard-coded master names | Code and configuration | Low | Confirmed | 3 |
| SY-57 | Synchronous SMTP inside Payment Request `on_update` | Performance and reliability | Low | Confirmed | 2 |
| SY-58 | Integration callback robustness: None callback; PR `mark_as_synced` can never succeed | Integrations | Low | Confirmed | 2 |
| SY-59 | DN/PR/SO override `before_insert` without `super()` | Code and configuration | Low | Confirmed | 3 |
| SY-60 | Integration whitelisted methods without permission checks | Security | Low | Confirmed | 2 |
| SY-61 | IRL logs unbounded; response headers stored; no retention | Integrations | Low | Confirmed | 3 |
| SY-62 | Item → Olabi sync on every variant save; payload crash/“None” strings | Integrations | Low | Confirmed | 3 |
| SY-63 | Consolidated report window resets every January; unbounded body | Integrations | Low | Confirmed | 3 |
| SY-64 | ADP Integration doctype unused; inbound runs on generic REST with no inbound contract | Integrations | Info | Confirmed | 3 |
| SY-65 | SOW integrations Shopify, Increff, Aegis, Databricks, Australia systems, Mochiko not in code | Integrations | Info | Confirmed | 3 |
| SY-66 | SQL injection review: none exploitable | Security | Info | Confirmed | 3 |
| SY-67 | GST and e-invoice paths touched by custom code (pointer for the GST auditor) | Code and configuration | Info | Confirmed | 3 |
| SY-68 | Distribution leads not applicable | Code and configuration | Info | Confirmed | 3 |