<?xml version="1.0" encoding="utf-8"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>SmartDukaan &#x2013; /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/transaction/</title><description>WebSVN RSS feed &#x2013; SmartDukaan</description><lastBuildDate>Thu, 14 May 2026 02:10:10 +0530</lastBuildDate><generator>WebSVN 2.8.6-DEV</generator><language>en</language><link>https://svn.smartdukaan.com/log.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fservice%2Ftransaction%2F&amp;isdir=1&amp;max=40&amp;</link><atom:link href="https://svn.smartdukaan.com/rss.php?isdir=1&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fservice%2Ftransaction%2F&amp;repname=SmartDukaan" rel="self" type="application/rss+xml" />
<item><pubDate>Wed, 13 May 2026 19:48:14 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 36535 – moveToBill: fix response unwrapping, auto-move qty=1 orders to warehouse with ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 1 file(s) modified&lt;/strong&gt;&lt;br/&gt;moveToBill: fix response unwrapping, auto-move qty=1 orders to warehouse with gross stock&lt;/div&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/transaction/TransactionServiceImpl.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fservice%2Ftransaction%2F&amp;isdir=1&amp;rev=36535</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fservice%2Ftransaction%2F&amp;isdir=1&amp;rev=36535</guid></item>
<item><pubDate>Wed, 13 May 2026 12:14:59 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 36532 – Fix moveToBill to use net availability, add bulk PO items ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 8 file(s) modified&lt;/strong&gt;&lt;br/&gt;Fix moveToBill to use net availability, add bulk PO items upload UI with template download&lt;/div&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/transaction/TransactionService.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/transaction/TransactionServiceImpl.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/config/AppConfig.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/warehouse/OrderManagementController.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/warehouse/PurchaseOrderController.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/resources/js/warehouse-management.js&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/resources/js/warehouse-purchase.js&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/warehouse-purchase-order-add-item.vm&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fservice%2Ftransaction%2F&amp;isdir=1&amp;rev=36532</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fservice%2Ftransaction%2F&amp;isdir=1&amp;rev=36532</guid></item>
<item><pubDate>Sun, 10 May 2026 19:17:12 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 36516 – Refactor CreditNoteServiceImpl: use atStartOfDay for cnDate, extract DN generation into ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 1 file(s) modified&lt;/strong&gt;&lt;br/&gt;Refactor CreditNoteServiceImpl: use atStartOfDay for cnDate, extract DN generation into REQUIRES_NEW transactional method, cache generated CN PDFs to disk in downloadCN&lt;/div&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/transaction/CreditNoteServiceImpl.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fservice%2Ftransaction%2F&amp;isdir=1&amp;rev=36516</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fservice%2Ftransaction%2F&amp;isdir=1&amp;rev=36516</guid></item>
<item><pubDate>Sat, 09 May 2026 08:34:22 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 36505 – DN date: use CN month-end instead of CN date — ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 1 file(s) modified&lt;/strong&gt;&lt;br/&gt;DN date: use CN month-end instead of CN date — avoids NIC 30-day backdating rejection&lt;/div&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/transaction/CreditNoteServiceImpl.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fservice%2Ftransaction%2F&amp;isdir=1&amp;rev=36505</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fservice%2Ftransaction%2F&amp;isdir=1&amp;rev=36505</guid></item>
<item><pubDate>Sat, 09 May 2026 07:20:34 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 36504 – DN generation: DUPIRN reconciliation flow + fix cnDate to use ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 2 file(s) modified&lt;/strong&gt;&lt;br/&gt;DN generation: DUPIRN reconciliation flow + fix cnDate to use NIC acknowledge date + extract /A prefix handling&lt;/div&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/integrations/gstpro/GstProService.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/transaction/CreditNoteServiceImpl.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fservice%2Ftransaction%2F&amp;isdir=1&amp;rev=36504</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fservice%2Ftransaction%2F&amp;isdir=1&amp;rev=36504</guid></item>
<item><pubDate>Fri, 08 May 2026 22:43:40 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 36502 – DN generation for cancelled MARGINS CNs + fix /A CN ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 5 file(s) modified&lt;/strong&gt;&lt;br/&gt;DN generation for cancelled MARGINS CNs + fix /A CN prefix extraction NPE&lt;br /&gt;
&lt;br /&gt;
- Add generateDebitNotesForCancelled(List&amp;lt;String&gt;) for explicit CN list&lt;br /&gt;
- Add selectByCreditNoteNumbers repository method&lt;br /&gt;
- Fix GstProService sandbox: use SANDBOX_GST_NUMBER before isGstEnabled check, sandbox buyer details&lt;br /&gt;
- Fix prefix extraction NPE for /A suffixed CN numbers (getCreditNotePdfModel, existingCNMap, extractPrefix)&lt;/div&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/transaction/CreditNoteRepository.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/transaction/CreditNoteRepositoryImpl.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/integrations/gstpro/GstProService.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/transaction/CreditNoteService.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/transaction/CreditNoteServiceImpl.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fservice%2Ftransaction%2F&amp;isdir=1&amp;rev=36502</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fservice%2Ftransaction%2F&amp;isdir=1&amp;rev=36502</guid></item>
<item><pubDate>Fri, 08 May 2026 16:44:15 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 36498 – Add CN_CANCELLATION type for cancellation-reversal debit notes, distinguish from regular ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 2 file(s) modified&lt;/strong&gt;&lt;br/&gt;Add CN_CANCELLATION type for cancellation-reversal debit notes, distinguish from regular MARGINS&lt;/div&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/entity/transaction/CreditNoteType.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/transaction/CreditNoteServiceImpl.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fservice%2Ftransaction%2F&amp;isdir=1&amp;rev=36498</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fservice%2Ftransaction%2F&amp;isdir=1&amp;rev=36498</guid></item>
<item><pubDate>Fri, 08 May 2026 16:36:13 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 36497 – Fix dedup key to distinguish CRN vs DBN — existing ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 1 file(s) modified&lt;/strong&gt;&lt;br/&gt;Fix dedup key to distinguish CRN vs DBN — existing CRN no longer blocks DBN for same vendor&lt;/div&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/transaction/CreditNoteServiceImpl.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fservice%2Ftransaction%2F&amp;isdir=1&amp;rev=36497</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fservice%2Ftransaction%2F&amp;isdir=1&amp;rev=36497</guid></item>
<item><pubDate>Fri, 08 May 2026 16:34:58 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 36496 – Consolidate 3 redundant eInvoiceDetails lookups into single fetch in issueMonthlyMarginsCN</title><description>&lt;div&gt;&lt;strong&gt;amit – 1 file(s) modified&lt;/strong&gt;&lt;br/&gt;Consolidate 3 redundant eInvoiceDetails lookups into single fetch in issueMonthlyMarginsCN&lt;/div&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/transaction/CreditNoteServiceImpl.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fservice%2Ftransaction%2F&amp;isdir=1&amp;rev=36496</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fservice%2Ftransaction%2F&amp;isdir=1&amp;rev=36496</guid></item>
<item><pubDate>Fri, 08 May 2026 16:33:34 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 36495 – Fix cn_date to use end-of-month instead of IRN ack timestamp, ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 1 file(s) modified&lt;/strong&gt;&lt;br/&gt;Fix cn_date to use end-of-month instead of IRN ack timestamp, remove unused persistEi fetch&lt;/div&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/transaction/CreditNoteServiceImpl.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fservice%2Ftransaction%2F&amp;isdir=1&amp;rev=36495</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fservice%2Ftransaction%2F&amp;isdir=1&amp;rev=36495</guid></item>
<item><pubDate>Fri, 08 May 2026 16:17:32 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 36494 – CreditNoteServiceImpl: use end-of-month CN date, pass cnDate to IRN wrappers, ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 1 file(s) modified&lt;/strong&gt;&lt;br/&gt;CreditNoteServiceImpl: use end-of-month CN date, pass cnDate to IRN wrappers, mark generateDebitNotesForCancelled as exception path&lt;/div&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/transaction/CreditNoteServiceImpl.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fservice%2Ftransaction%2F&amp;isdir=1&amp;rev=36494</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fservice%2Ftransaction%2F&amp;isdir=1&amp;rev=36494</guid></item>
<item><pubDate>Tue, 05 May 2026 19:57:10 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 36475 – Remove reissueMarginsCN, recoverMonthlyMarginsCN, resendCNReport — one-time recovery methods no longer ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 1 file(s) modified&lt;/strong&gt;&lt;br/&gt;Remove reissueMarginsCN, recoverMonthlyMarginsCN, resendCNReport — one-time recovery methods no longer needed. Fix SGST/IGST CSV header swap (was swapped since r36196). Clean up unused imports/fields.&lt;/div&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/transaction/CreditNoteService.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fservice%2Ftransaction%2F&amp;isdir=1&amp;rev=36475</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fservice%2Ftransaction%2F&amp;isdir=1&amp;rev=36475</guid></item>
<item><pubDate>Tue, 05 May 2026 19:56:07 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 36474 – Fix: guard empty-list bulk queries in issueMonthlyMarginsCN to prevent crash ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 1 file(s) modified&lt;/strong&gt;&lt;br/&gt;Fix: guard empty-list bulk queries in issueMonthlyMarginsCN to prevent crash on dev (no margin data)&lt;/div&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/transaction/CreditNoteServiceImpl.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fservice%2Ftransaction%2F&amp;isdir=1&amp;rev=36474</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fservice%2Ftransaction%2F&amp;isdir=1&amp;rev=36474</guid></item>
<item><pubDate>Sat, 02 May 2026 18:49:12 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 36453 – Fix NPE in credit note IRN: modularize InvoiceService.getInvoicePdfModel into core ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 2 file(s) modified&lt;/strong&gt;&lt;br/&gt;Fix NPE in credit note IRN: modularize InvoiceService.getInvoicePdfModel into core (ForIrn) and enrichment (EWB/eInvoice), switch purchase return CN to model-based IRN builder&lt;/div&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/integrations/gstpro/GstProService.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/transaction/invoicing/InvoiceService.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fservice%2Ftransaction%2F&amp;isdir=1&amp;rev=36453</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fservice%2Ftransaction%2F&amp;isdir=1&amp;rev=36453</guid></item>
<item><pubDate>Fri, 01 May 2026 11:46:01 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 36438 – Fix SD Credit over-utilization: use live loan SUM + row ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 3 file(s) modified&lt;/strong&gt;&lt;br/&gt;Fix SD Credit over-utilization: use live loan SUM + row lock + sanction guard&lt;br /&gt;
&lt;br /&gt;
- blockLoan: use SELECT FOR UPDATE to prevent concurrent orders from both passing credit check&lt;br /&gt;
- processLoanRequest: replace stored utilized_limit counter with live SUM(pending_amount) from loan table&lt;br /&gt;
- processLoanRequest + getAvailableAmount: only add sanction amount if not already used today&lt;br /&gt;
- Prevents credit limit from going negative due to counter drift or race conditions&lt;/div&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/transaction/SDCreditRequirementRepository.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/transaction/SDCreditRequirementRepositoryImpl.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/transaction/SDCreditServiceImpl.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fservice%2Ftransaction%2F&amp;isdir=1&amp;rev=36438</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fservice%2Ftransaction%2F&amp;isdir=1&amp;rev=36438</guid></item>
<item><pubDate>Wed, 29 Apr 2026 23:03:39 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 36434 – Fix: wrap PDF file save in try-catch for test reissue ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 1 file(s) modified&lt;/strong&gt;&lt;br/&gt;Fix: wrap PDF file save in try-catch for test reissue method (path may not exist locally)&lt;/div&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/transaction/CreditNoteServiceImpl.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fservice%2Ftransaction%2F&amp;isdir=1&amp;rev=36434</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fservice%2Ftransaction%2F&amp;isdir=1&amp;rev=36434</guid></item>
<item><pubDate>Wed, 29 Apr 2026 22:41:21 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 36431 – Add reissueMarginsCN: reissue MARGINS credit notes with /A suffix, March ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 3 file(s) modified&lt;/strong&gt;&lt;br/&gt;Add reissueMarginsCN: reissue MARGINS credit notes with /A suffix, March 31 book date, Delhi GST skip, consolidated partner emails&lt;/div&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/integrations/gstpro/GstProService.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/transaction/CreditNoteService.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/transaction/CreditNoteServiceImpl.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fservice%2Ftransaction%2F&amp;isdir=1&amp;rev=36431</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fservice%2Ftransaction%2F&amp;isdir=1&amp;rev=36431</guid></item>
<item><pubDate>Wed, 29 Apr 2026 18:41:19 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 36429 – Fix credit limit settlement not happening on billing and post-billing ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 2 file(s) modified&lt;/strong&gt;&lt;br/&gt;Fix credit limit settlement not happening on billing and post-billing cancellation&lt;br /&gt;
&lt;br /&gt;
createLoanForBilling has REQUIRES_NEW (added for lock isolation against&lt;br /&gt;
order row locks held by the billing method). Inside that new transaction it&lt;br /&gt;
queried orders to find which were just billed — but the billing timestamps&lt;br /&gt;
set in the suspended outer transaction are invisible, so the condition&lt;br /&gt;
always evaluates FALSE when all orders are billed in one call. The limit&lt;br /&gt;
block is never converted to a loan and never released.&lt;br /&gt;
&lt;br /&gt;
Fix: remove the order query. The caller already passes invoiceAmount (sum&lt;br /&gt;
of walletAmount for the billed orders). Use it directly with Math.min to&lt;br /&gt;
cap at pendingAmount. REQUIRES_NEW kept for lock isolation.&lt;br /&gt;
&lt;br /&gt;
Also: cancelInvoiceFully and applyInvoiceReturnViaCreditNote (post-billing&lt;br /&gt;
invoice cancellation/return paths) credit the partner wallet but never&lt;br /&gt;
settle the non-limit loan created during billing. Added settleLoan call&lt;br /&gt;
after wallet credit in both paths, guarded by settledOn == null check.&lt;br /&gt;
&lt;br /&gt;
Data defect: 95 stuck limit blocks totaling Rs 56.95 lakh across partners.&lt;br /&gt;
Most have no actual loan created. Needs one-time remediation via&lt;br /&gt;
fixBlockedCredit() in ScheduledTasks.&lt;/div&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/inventory/PurchaseReturnServiceImpl.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/transaction/SDCreditServiceImpl.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fservice%2Ftransaction%2F&amp;isdir=1&amp;rev=36429</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fservice%2Ftransaction%2F&amp;isdir=1&amp;rev=36429</guid></item>
<item><pubDate>Tue, 28 Apr 2026 13:28:23 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 36411 – Fix lock contention: REQUIRES_NEW for wallet lock in createLoanForBilling, handle ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 2 file(s) modified&lt;/strong&gt;&lt;br/&gt;Fix lock contention: REQUIRES_NEW for wallet lock in createLoanForBilling, handle HDFC payment deadlock as duplicate&lt;/div&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/transaction/SDCreditServiceImpl.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/hdfc/HdfcPaymentController.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fservice%2Ftransaction%2F&amp;isdir=1&amp;rev=36411</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fservice%2Ftransaction%2F&amp;isdir=1&amp;rev=36411</guid></item>
<item><pubDate>Mon, 27 Apr 2026 14:52:32 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 36399 – Replace mailSender (SendGrid) with gmailRelaySender - SendGrid API key expired/revoked</title><description>&lt;div&gt;&lt;strong&gt;amit – 21 file(s) modified&lt;/strong&gt;&lt;br/&gt;Replace mailSender (SendGrid) with gmailRelaySender - SendGrid API key expired/revoked&lt;/div&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/cs/CsServiceImpl.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/service/BidServiceImpl.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/service/LocationTrackingServiceImpl.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/service/loiForm/LoiFormServiceImpl.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/service/OtpProcessor.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/service/TrialServiceImpl.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/AuthServiceImpl.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/CustomerServiceImpl.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/EmailService.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/integrations/gstpro/GstProService.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/mail/MailOutboxService.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/order/BulkOrderService.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/PerformanceServiceImpl.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/transaction/CreditNoteServiceImpl.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/transaction/invoicing/InvoiceService.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/transaction/scheduled/SDCreditScheduler.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/transaction/SDCreditServiceImpl.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/transaction/TransactionServiceImpl.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/user/StoreTimelineTatServiceImpl.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/user/UserServiceImpl.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/warehouse/PurchaseOrderServiceImpl.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fservice%2Ftransaction%2F&amp;isdir=1&amp;rev=36399</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fservice%2Ftransaction%2F&amp;isdir=1&amp;rev=36399</guid></item>
<item><pubDate>Fri, 24 Apr 2026 15:36:20 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 36375 – Added Rising Star/NEW</title><description>&lt;div&gt;&lt;strong&gt;amit – 1 file(s) modified&lt;/strong&gt;&lt;br/&gt;Added Rising Star/NEW&lt;/div&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/transaction/SDCreditServiceImpl.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fservice%2Ftransaction%2F&amp;isdir=1&amp;rev=36375</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fservice%2Ftransaction%2F&amp;isdir=1&amp;rev=36375</guid></item>
<item><pubDate>Fri, 24 Apr 2026 12:10:46 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 36371 – HDFC webhook: INSERT IGNORE on hdfc_payment to fix concurrent-duplicate 500 ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 4 file(s) modified&lt;/strong&gt;&lt;br/&gt;HDFC webhook: INSERT IGNORE on hdfc_payment to fix concurrent-duplicate 500 storm&lt;br /&gt;
&lt;br /&gt;
Replaces persist() with a native INSERT IGNORE so concurrent same-UTR webhook&lt;br /&gt;
retries serialize on the unique-index check, and the loser gets a 0-row no-op&lt;br /&gt;
(warning, not exception). Outer @Transactional session stays clean, Spring&lt;br /&gt;
commits normally, HDFC sees 200 on both the winner (Success) and the loser&lt;br /&gt;
(Duplicate) - retry amplification ends.&lt;br /&gt;
&lt;br /&gt;
Flow:&lt;br /&gt;
  persist(hdfcPayment)  -&gt;  insertIgnore(hdfcPayment) + selectByUtrNo(utr)&lt;br /&gt;
  - inserted == 1: proceed with wallet / sidbi side-effects using fetched id&lt;br /&gt;
  - inserted == 0: respond Duplicate, skip side-effects (owned by winning tx)&lt;br /&gt;
  - defensive: log warn if insertIgnore returned 0 but selectByUtrNo finds&lt;br /&gt;
    no row (could mean IGNORE swallowed a non-duplicate issue like truncation)&lt;br /&gt;
&lt;br /&gt;
Also drops HdfcProcessingHelper (r36366) which used REQUIRES_NEW for the same&lt;br /&gt;
goal; that approach required a second JDBC connection and is no longer needed&lt;br /&gt;
with SQL-level idempotency.&lt;br /&gt;
&lt;br /&gt;
Does NOT touch the wallet-side lost-update hole (user_wallet read-modify-write&lt;br /&gt;
without FOR UPDATE). That is a separate commit.&lt;/div&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/transaction/HdfcPaymentRepository.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/transaction/HdfcPaymentRepositoryImpl.java&lt;br /&gt;x /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/transaction/HdfcProcessingHelper.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/hdfc/HdfcPaymentController.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fservice%2Ftransaction%2F&amp;isdir=1&amp;rev=36371</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fservice%2Ftransaction%2F&amp;isdir=1&amp;rev=36371</guid></item>
<item><pubDate>Thu, 23 Apr 2026 17:07:04 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 36366 – Add HdfcProcessingHelper: per-payment REQUIRES_NEW wrapper for HDFC credit writes  ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 1 file(s) modified&lt;/strong&gt;&lt;br/&gt;Add HdfcProcessingHelper: per-payment REQUIRES_NEW wrapper for HDFC credit writes&lt;br /&gt;
&lt;br /&gt;
Isolates the hdfc_payment insert + wallet-credit / sidbi-sanction writes in&lt;br /&gt;
their own transaction so concurrent duplicate webhooks (HDFC retry, manual&lt;br /&gt;
entry, reconciliation) can&apos;t poison the caller&apos;s session. On the deadlock/&lt;br /&gt;
duplicate-key path (DataIntegrityViolationException), logs once at INFO and&lt;br /&gt;
returns silently — the row&apos;s side-effects are owned by whichever path&lt;br /&gt;
inserted it first; re-applying would double-credit.&lt;br /&gt;
&lt;br /&gt;
Mirrors the OfferProcessingHelper pattern (also REQUIRES_NEW per item),&lt;br /&gt;
keeping the controller&apos;s outer transaction clean and making this method&lt;br /&gt;
safe to invoke from a batch loop later without refactor.&lt;/div&gt;+ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/transaction/HdfcProcessingHelper.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fservice%2Ftransaction%2F&amp;isdir=1&amp;rev=36366</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fservice%2Ftransaction%2F&amp;isdir=1&amp;rev=36366</guid></item>
<item><pubDate>Tue, 21 Apr 2026 17:37:58 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 36332 – moveToBill: fix loop reassigning order back to worse warehouse  ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 1 file(s) modified&lt;/strong&gt;&lt;br/&gt;moveToBill: fix loop reassigning order back to worse warehouse&lt;br /&gt;
&lt;br /&gt;
- Break after first warehouse that covers remaining qty; loop used to&lt;br /&gt;
  fall through and overwrite fulfilment WH with every subsequent snapshot,&lt;br /&gt;
  so orders ended up pinned to the last (least-available) candidate.&lt;br /&gt;
- Sort candidates by net availability (availability - reserved) desc&lt;br /&gt;
  so the best warehouse is tried first.&lt;br /&gt;
- Track remainingQty across splits; keep current orderId on the chunk&lt;br /&gt;
  being placed and move the leftover to the deferred order.&lt;br /&gt;
- Null guard on itemSnapshots when no vendor under the billing WH has&lt;br /&gt;
  stock/reservation for the item.&lt;/div&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/transaction/TransactionServiceImpl.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fservice%2Ftransaction%2F&amp;isdir=1&amp;rev=36332</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fservice%2Ftransaction%2F&amp;isdir=1&amp;rev=36332</guid></item>
<item><pubDate>Sun, 19 Apr 2026 07:57:42 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 36305 – Batch processing infrastructure + per-partner offer processing + partner limit ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 21 file(s) modified&lt;/strong&gt;&lt;br/&gt;Batch processing infrastructure + per-partner offer processing + partner limit optimization + investment cache eviction on billing/payment/cancellation with 3hr TTL&lt;/div&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/config/CacheConfig.java&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/entity/transaction/CronBatch.java&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/entity/transaction/CronBatchItem.java&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/enumuration/transaction/CronBatchItemStatus.java&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/enumuration/transaction/CronBatchStatus.java&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/transaction/CronBatchItemRepository.java&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/transaction/CronBatchItemRepositoryImpl.java&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/transaction/CronBatchRepository.java&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/transaction/CronBatchRepositoryImpl.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/transaction/OrderRepositoryImpl.java&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/offers/OfferPartnerPayoutData.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/offers/OfferService.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/offers/OfferServiceImpl.java&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/offers/SellinPartnerPayoutData.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/order/OrderServiceImpl.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/PartnerInvestmentService.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/PartnerInvestmentServiceImpl.java&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/transaction/PartnerLimitUpdateData.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/transaction/TransactionServiceImpl.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/wallet/WalletServiceImpl.java&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/resources/sql/create_cron_batch_tables.sql&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fservice%2Ftransaction%2F&amp;isdir=1&amp;rev=36305</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fservice%2Ftransaction%2F&amp;isdir=1&amp;rev=36305</guid></item>
<item><pubDate>Fri, 17 Apr 2026 12:38:35 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 36288 – hadb1 perf: cache firstBillingDate, fix N+1 item query, push eInvoice ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 4 file(s) modified&lt;/strong&gt;&lt;br/&gt;hadb1 perf: cache firstBillingDate, fix N+1 item query, push eInvoice filter to SQL, sort updateRisk by fofoId&lt;/div&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/transaction/OrderRepositoryImpl.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/transaction/TransactionRepositoryImpl.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/PartnerInvestmentServiceImpl.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/transaction/SDCreditServiceImpl.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fservice%2Ftransaction%2F&amp;isdir=1&amp;rev=36288</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fservice%2Ftransaction%2F&amp;isdir=1&amp;rev=36288</guid></item>
<item><pubDate>Wed, 08 Apr 2026 13:21:14 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 36221 – SDCreditServiceImpl cleanup: remove unused 5-arg createLoan wrapper (dead code), inline ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 1 file(s) modified&lt;/strong&gt;&lt;br/&gt;SDCreditServiceImpl cleanup: remove unused 5-arg createLoan wrapper (dead code), inline 4-arg createLoan to call 7-arg master directly (1 hop shorter), remove dead creditAccount.getFreeDays() no-op in fundWallet&lt;/div&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/transaction/SDCreditServiceImpl.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fservice%2Ftransaction%2F&amp;isdir=1&amp;rev=36221</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fservice%2Ftransaction%2F&amp;isdir=1&amp;rev=36221</guid></item>
<item><pubDate>Wed, 08 Apr 2026 12:22:10 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 36219 – SD credit: enforce Day-1-free policy via MIN_FREE_DAYS constant, extract computeInterestStartDate ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 1 file(s) modified&lt;/strong&gt;&lt;br/&gt;SD credit: enforce Day-1-free policy via MIN_FREE_DAYS constant, extract computeInterestStartDate helper (single source of truth), add javadoc to createLoan documenting limitBlock and freeDays vs cdFreeDays. Preserves immediate Day-1 charge block as reversible under MIN_FREE_DAYS=0.&lt;/div&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/transaction/SDCreditServiceImpl.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fservice%2Ftransaction%2F&amp;isdir=1&amp;rev=36219</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fservice%2Ftransaction%2F&amp;isdir=1&amp;rev=36219</guid></item>
<item><pubDate>Wed, 08 Apr 2026 12:21:27 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 36218 – Credit/Debit note enhancements: add margin_month + cancelled columns, fofo_dn_sequence on ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 7 file(s) modified&lt;/strong&gt;&lt;br/&gt;Credit/Debit note enhancements: add margin_month + cancelled columns, fofo_dn_sequence on sellerwarehouse, generateDebitNoteIrn for margin reversals, selectCancelledByMonth repo, generateDebitNotesForCancelled service, cn_date = ack_date, dedup by margin_month, source-based descriptions (Schemes/Offers vs Price Drop), skip negative margin line items for CRNs&lt;/div&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/entity/transaction/CreditNote.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/entity/transaction/SellerWarehouse.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/transaction/CreditNoteRepository.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/transaction/CreditNoteRepositoryImpl.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/integrations/gstpro/GstProService.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/transaction/CreditNoteService.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/transaction/CreditNoteServiceImpl.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fservice%2Ftransaction%2F&amp;isdir=1&amp;rev=36218</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fservice%2Ftransaction%2F&amp;isdir=1&amp;rev=36218</guid></item>
<item><pubDate>Mon, 06 Apr 2026 19:48:19 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 36204 – Skip negative/zero margin CN line items — reversals produce negative ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 1 file(s) modified&lt;/strong&gt;&lt;br/&gt;Skip negative/zero margin CN line items — reversals produce negative amounts that NIC rejects. This was the root cause of the 27 &apos;decimal validation&apos; failures (not rounding, but negative values)&lt;/div&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/transaction/CreditNoteServiceImpl.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fservice%2Ftransaction%2F&amp;isdir=1&amp;rev=36204</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fservice%2Ftransaction%2F&amp;isdir=1&amp;rev=36204</guid></item>
<item><pubDate>Mon, 06 Apr 2026 19:41:33 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 36203 – Move dedup check before sequence increment — avoids wasting CN ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 1 file(s) modified&lt;/strong&gt;&lt;br/&gt;Move dedup check before sequence increment — avoids wasting CN numbers when re-running for the same month&lt;/div&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/transaction/CreditNoteServiceImpl.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fservice%2Ftransaction%2F&amp;isdir=1&amp;rev=36203</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fservice%2Ftransaction%2F&amp;isdir=1&amp;rev=36203</guid></item>
<item><pubDate>Mon, 06 Apr 2026 19:38:16 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 36202 – CN date = date of execution (LocalDate.now), not end-of-month. File ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 1 file(s) modified&lt;/strong&gt;&lt;br/&gt;CN date = date of execution (LocalDate.now), not end-of-month. File path still uses margin month for folder structure.&lt;/div&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/transaction/CreditNoteServiceImpl.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fservice%2Ftransaction%2F&amp;isdir=1&amp;rev=36202</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fservice%2Ftransaction%2F&amp;isdir=1&amp;rev=36202</guid></item>
<item><pubDate>Mon, 06 Apr 2026 19:23:36 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 36196 – Credit Note improvements: recovery method, dual CSV reports (IMEI + ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 3 file(s) modified&lt;/strong&gt;&lt;br/&gt;Credit Note improvements: recovery method, dual CSV reports (IMEI + CN summary), fix mail recipients (restore deena/neeraj/satish/amit for full mail, amit/ranu for summary text-only), add IRN+AckDate to CSV, performance fixes (bulk queries replacing N+1), source-based descriptions (Schemes/Offers vs Price Drop per HSN), safe CGST+SGST/IGST grouping&lt;/div&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/transaction/CreditNoteService.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/transaction/CreditNoteServiceImpl.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/transaction/InventoryMarginModel.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fservice%2Ftransaction%2F&amp;isdir=1&amp;rev=36196</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fservice%2Ftransaction%2F&amp;isdir=1&amp;rev=36196</guid></item>
<item><pubDate>Sat, 04 Apr 2026 15:17:15 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 36189 – Revert rerenderCNs - downloadCN already re-renders on the fly</title><description>&lt;div&gt;&lt;strong&gt;amit – 2 file(s) modified&lt;/strong&gt;&lt;br/&gt;Revert rerenderCNs - downloadCN already re-renders on the fly&lt;/div&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/transaction/CreditNoteService.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/transaction/CreditNoteServiceImpl.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fservice%2Ftransaction%2F&amp;isdir=1&amp;rev=36189</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fservice%2Ftransaction%2F&amp;isdir=1&amp;rev=36189</guid></item>
<item><pubDate>Sat, 04 Apr 2026 14:35:00 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 36186 – Add rerenderCNs method to re-generate old CN PDFs with new ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 2 file(s) modified&lt;/strong&gt;&lt;br/&gt;Add rerenderCNs method to re-generate old CN PDFs with new format, persist hsnCode on CreditNoteLine&lt;/div&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/transaction/CreditNoteService.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/transaction/CreditNoteServiceImpl.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fservice%2Ftransaction%2F&amp;isdir=1&amp;rev=36186</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fservice%2Ftransaction%2F&amp;isdir=1&amp;rev=36186</guid></item>
<item><pubDate>Sat, 04 Apr 2026 14:31:01 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 36185 – Persist and restore hsnCode on CreditNoteLine for CN re-rendering  ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 2 file(s) modified&lt;/strong&gt;&lt;br/&gt;Persist and restore hsnCode on CreditNoteLine for CN re-rendering&lt;br /&gt;
&lt;br /&gt;
- Add hsn_code column to CreditNoteLine entity&lt;br /&gt;
- Save hsnCode when persisting CN lines in issueMonthlyMarginsCN&lt;br /&gt;
- Read hsnCode back in getCreditNotePdfModel for downloadCN/sendCnMails&lt;br /&gt;
- Earlier CNs without hsn_code will render with blank HSN (nullable column)&lt;/div&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/entity/transaction/CreditNoteLine.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/transaction/CreditNoteServiceImpl.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fservice%2Ftransaction%2F&amp;isdir=1&amp;rev=36185</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fservice%2Ftransaction%2F&amp;isdir=1&amp;rev=36185</guid></item>
<item><pubDate>Sat, 04 Apr 2026 13:44:05 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 36184 – Fix Credit Note IRN generation for monthly margins  - ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 6 file(s) modified&lt;/strong&gt;&lt;br/&gt;Fix Credit Note IRN generation for monthly margins&lt;br /&gt;
&lt;br /&gt;
- Add hsnCode to InventoryMarginModel, update 3 named queries to select ii.hsnCode&lt;br /&gt;
- Group CN items by taxRate+HSN, set hsnCode on CustomOrderItem&lt;br /&gt;
- Add getGenIrnRequest/getItemList overloads in GstProService for credit notes&lt;br /&gt;
- Fix IndexOutOfBoundsException from orders-items mismatch in generateCreditNoteIrn&lt;br /&gt;
- Wrap fofo and vendor loops in try-catch so one CN failure does not abort the process&lt;br /&gt;
- Send summary email with failure details to amit.gupta and ranu.rajput&lt;/div&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/entity/fofo/OfferPayout.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/entity/fofo/SchemeInOut.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/entity/transaction/PriceDropIMEI.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/integrations/gstpro/GstProService.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/transaction/CreditNoteServiceImpl.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/transaction/InventoryMarginModel.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fservice%2Ftransaction%2F&amp;isdir=1&amp;rev=36184</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fservice%2Ftransaction%2F&amp;isdir=1&amp;rev=36184</guid></item>
<item><pubDate>Thu, 02 Apr 2026 23:22:40 +0530</pubDate><dc:creator>ranu</dc:creator><title>Rev 36179 – weekly rating system live on calling module</title><description>&lt;div&gt;&lt;strong&gt;ranu – 6 file(s) modified&lt;/strong&gt;&lt;br/&gt;weekly rating system live on calling module&lt;/div&gt;~ /trunk/profitmandi-common/src/main/java/com/spice/profitmandi/common/enumuration/ActivationType.java&lt;br /&gt;+ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/knowlarity/KnowlarityAgentInsightsService.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/transaction/invoicing/InvoiceService.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/monitors/MonitorController.java&lt;br /&gt;+ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/service/KnowlarityInsightsService.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/rbm_call_target.vm&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fservice%2Ftransaction%2F&amp;isdir=1&amp;rev=36179</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fservice%2Ftransaction%2F&amp;isdir=1&amp;rev=36179</guid></item>
<item><pubDate>Thu, 02 Apr 2026 19:32:50 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 36173 – Fix second QR NPE for DCs in getInvoicePdfModel — same ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 1 file(s) modified&lt;/strong&gt;&lt;br/&gt;Fix second QR NPE for DCs in getInvoicePdfModel — same DC skip needed in both QR code paths&lt;/div&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/transaction/invoicing/InvoiceService.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fservice%2Ftransaction%2F&amp;isdir=1&amp;rev=36173</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fservice%2Ftransaction%2F&amp;isdir=1&amp;rev=36173</guid></item>
<item><pubDate>Thu, 02 Apr 2026 19:23:28 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 36172 – Skip IRN/QR code generation for DC challans in PDF - ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 1 file(s) modified&lt;/strong&gt;&lt;br/&gt;Skip IRN/QR code generation for DC challans in PDF - DCs have no IRN, null QR was causing NPE&lt;/div&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/transaction/invoicing/InvoiceService.java&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fservice%2Ftransaction%2F&amp;isdir=1&amp;rev=36172</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-dao%2Fsrc%2Fmain%2Fjava%2Fcom%2Fspice%2Fprofitmandi%2Fservice%2Ftransaction%2F&amp;isdir=1&amp;rev=36172</guid></item>
</channel></rss>