<?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-fofo/src/main/webapp/WEB-INF/views/ftl/invoice-return.vm</title><description>WebSVN RSS feed &#x2013; SmartDukaan</description><lastBuildDate>Thu, 08 Oct 2026 19:42:55 +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-fofo%2Fsrc%2Fmain%2Fwebapp%2FWEB-INF%2Fviews%2Fftl%2Finvoice-return.vm&amp;max=40&amp;</link><atom:link href="https://svn.smartdukaan.com/rss.php?path=%2Ftrunk%2Fprofitmandi-fofo%2Fsrc%2Fmain%2Fwebapp%2FWEB-INF%2Fviews%2Fftl%2Finvoice-return.vm&amp;repname=SmartDukaan" rel="self" type="application/rss+xml" />
<item><pubDate>Mon, 28 Sep 2026 14:38:09 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 37791 – Sale returns: Finance-only B2C settlement after a NIC GSTIN refusal ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 6 file(s) modified&lt;/strong&gt;&lt;br/&gt;Sale returns: Finance-only B2C settlement after a NIC GSTIN refusal&lt;br /&gt;
&lt;br /&gt;
Once NIC has refused a return because the buyer&apos;s GSTIN is cancelled or&lt;br /&gt;
invalid, only Finance may act on it - approve, retry or reject. The pending&lt;br /&gt;
queue shows the refusal reason and, on the day it happened, a &quot;Refund as&lt;br /&gt;
B2C&quot; action; Logistics sees &quot;IRN failed - awaiting Finance&quot; and no buttons.&lt;br /&gt;
&lt;br /&gt;
The B2C screen states NIC&apos;s reason and every returned line with its value&lt;br /&gt;
including and excluding GST, and fixes the refund at the value net of GST&lt;br /&gt;
in whole rupees. Finance types that figure back by hand, enters a remark and&lt;br /&gt;
ticks the consent box before the button enables; the server re-checks the&lt;br /&gt;
amount, the remark, the consent and the same-day window, so the screen is a&lt;br /&gt;
convenience and not the control. Cancelling or finishing returns to the&lt;br /&gt;
queue, and a refused approval now reloads the queue so the B2C action&lt;br /&gt;
appears without a manual refresh.&lt;br /&gt;
&lt;br /&gt;
jsVersion 438 -&gt; 439 for return.js.&lt;/div&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/PurchaseReturnController.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/model/SaleReturnRow.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/resources/js/business/return.js&lt;br /&gt;+ /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/b2c-refund.vm&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/invoice-return.vm&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-fofo%2Fsrc%2Fmain%2Fwebapp%2FWEB-INF%2Fviews%2Fftl%2Finvoice-return.vm&amp;rev=37791</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-fofo%2Fsrc%2Fmain%2Fwebapp%2FWEB-INF%2Fviews%2Fftl%2Finvoice-return.vm&amp;rev=37791</guid></item>
<item><pubDate>Fri, 04 Sep 2026 23:19:26 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 37536 – purchase return: order the invoice-return queue by what still needs ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 2 file(s) modified&lt;/strong&gt;&lt;br/&gt;purchase return: order the invoice-return queue by what still needs doing&lt;br /&gt;
&lt;br /&gt;
A return with no debit note sorts first - it is the one still owing an action -&lt;br /&gt;
and the screen reflects that ordering. Also refuses the cancel path when any order&lt;br /&gt;
on the invoice is in a state that must not be cancelled.&lt;/div&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/PurchaseReturnController.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/invoice-return.vm&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-fofo%2Fsrc%2Fmain%2Fwebapp%2FWEB-INF%2Fviews%2Fftl%2Finvoice-return.vm&amp;rev=37536</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-fofo%2Fsrc%2Fmain%2Fwebapp%2FWEB-INF%2Fviews%2Fftl%2Finvoice-return.vm&amp;rev=37536</guid></item>
<item><pubDate>Fri, 21 Aug 2026 14:30:59 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 37378 – Put the action-pending returns at the top of Sale Returns, ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 3 file(s) modified&lt;/strong&gt;&lt;br/&gt;Put the action-pending returns at the top of Sale Returns, and filter by partner&lt;br /&gt;
&lt;br /&gt;
Sorting the received list pending-first changed nothing on screen, because every return&lt;br /&gt;
that still needs an action was missing from it. The list was built from purchase return&lt;br /&gt;
orders inside the date window, and a return order only exists once the warehouse has&lt;br /&gt;
received the goods - so a debit note awaiting receipt had no row to sort, and a return&lt;br /&gt;
sitting unrefunded for weeks fell out of the window entirely.&lt;br /&gt;
&lt;br /&gt;
The screen is now two lists:&lt;br /&gt;
&lt;br /&gt;
- Action Pending, on top, with no date bound. It merges the three shapes a pending return&lt;br /&gt;
  takes - a debit note never received, a return order received but unrefunded, and one&lt;br /&gt;
  rejected but not yet acknowledged - into a single row type, oldest first, with the age&lt;br /&gt;
  in days beside it. Each row carries only the action that actually applies to it&lt;br /&gt;
- Settled Returns below, refunded and cancelled only, still bound to From/To. The pending&lt;br /&gt;
  rows were lifted out of it, so nothing is listed twice&lt;br /&gt;
&lt;br /&gt;
Two things worth recording:&lt;br /&gt;
&lt;br /&gt;
- a debit note has no warehouse of its own. It is placed through the item&apos;s invoice and&lt;br /&gt;
  the order that invoice was raised on, and a note that cannot be placed is dropped rather&lt;br /&gt;
  than shown to a warehouse it may not belong to&lt;br /&gt;
- debit notes raised before the receive/refund flow existed were settled the old way and&lt;br /&gt;
  cannot be worked from this screen. The cutoff is read from the earliest return order in&lt;br /&gt;
  the database, so it needs no maintenance, and the page says so in a footnote instead of&lt;br /&gt;
  quietly hiding them&lt;br /&gt;
&lt;br /&gt;
The partner filter reuses the shared /partners typeahead and passes the id down into both&lt;br /&gt;
queries. Only a picked suggestion filters, so a half-typed name cannot blank the page. Its&lt;br /&gt;
handlers sit inline in the template, next to the markup they drive, following the pattern&lt;br /&gt;
add-wallet-request.vm already uses - which leaves the now-unused #invoice-return-date-apply&lt;br /&gt;
handler in return.js dead, to be removed with the return.js work already in flight.&lt;br /&gt;
&lt;br /&gt;
Rendered offline through Velocity with the app&apos;s own directive.set.null.allowed to confirm&lt;br /&gt;
all four action variants emit the right buttons.&lt;/div&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/PurchaseReturnController.java&lt;br /&gt;+ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/model/SaleReturnRow.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/invoice-return.vm&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-fofo%2Fsrc%2Fmain%2Fwebapp%2FWEB-INF%2Fviews%2Fftl%2Finvoice-return.vm&amp;rev=37378</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-fofo%2Fsrc%2Fmain%2Fwebapp%2FWEB-INF%2Fviews%2Fftl%2Finvoice-return.vm&amp;rev=37378</guid></item>
<item><pubDate>Tue, 05 May 2026 20:05:29 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 36477 – Invoice return: IRN/EWB cancellation on approve, Logistics L2+ permission, DL ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 6 file(s) modified&lt;/strong&gt;&lt;br/&gt;Invoice return: IRN/EWB cancellation on approve, Logistics L2+ permission, DL GST disabled&lt;br /&gt;
&lt;br /&gt;
- approveInvoiceReturn now cancels IRN+EWB when cancellable (path B) before falling back to Credit Note (path A)&lt;br /&gt;
- DC/challan EWB cancelled best-effort before Credit Note path&lt;br /&gt;
- Added enabled flag to GstEInvoiceUser; DL GSTIN disabled in E_INVOICE_USERS and EWB_USERS&lt;br /&gt;
- isGstEnabled guard added to all public GST API methods in GstProService&lt;br /&gt;
- Logistics L2+ can now approve/reject invoice returns (not just Finance)&lt;br /&gt;
- invoice-return.vm uses canApproveInvoiceReturn for INV-prefix button visibility&lt;/div&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/integrations/gstpro/api/model/GstEInvoiceUser.java&lt;br /&gt;~ /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/integrations/gstpro/GstProAuthService.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/inventory/PurchaseReturnServiceImpl.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/PurchaseReturnController.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/invoice-return.vm&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-fofo%2Fsrc%2Fmain%2Fwebapp%2FWEB-INF%2Fviews%2Fftl%2Finvoice-return.vm&amp;rev=36477</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-fofo%2Fsrc%2Fmain%2Fwebapp%2FWEB-INF%2Fviews%2Fftl%2Finvoice-return.vm&amp;rev=36477</guid></item>
<item><pubDate>Fri, 01 May 2026 23:49:24 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 36447 – DN lifecycle UI: acknowledge rejected return endpoint, status labels, JS ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 3 file(s) modified&lt;/strong&gt;&lt;br/&gt;DN lifecycle UI: acknowledge rejected return endpoint, status labels, JS handler&lt;br /&gt;
&lt;br /&gt;
- Add PUT /return/debit-note/reject/acknowledge/{debitNoteId} endpoint&lt;br /&gt;
- invoice-return.vm: Rejected-Pending Acknowledgment + Cancelled status labels, Acknowledge Receipt button&lt;br /&gt;
- return.js: click handler for acknowledge-rejected-return&lt;/div&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/PurchaseReturnController.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/resources/js/business/return.js&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/invoice-return.vm&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-fofo%2Fsrc%2Fmain%2Fwebapp%2FWEB-INF%2Fviews%2Fftl%2Finvoice-return.vm&amp;rev=36447</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-fofo%2Fsrc%2Fmain%2Fwebapp%2FWEB-INF%2Fviews%2Fftl%2Finvoice-return.vm&amp;rev=36447</guid></item>
<item><pubDate>Mon, 27 Apr 2026 19:57:02 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 36408 – Sale-return reversal: controller wiring + UI for cancellability gate + ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 7 file(s) modified&lt;/strong&gt;&lt;br/&gt;Sale-return reversal: controller wiring + UI for cancellability gate + INV reject + date filter&lt;br /&gt;
&lt;br /&gt;
PurchaseReturnController:&lt;br /&gt;
  /return/invoice/process — autoApprove now isIrnCancellable &amp;&amp; !isShipped.&lt;br /&gt;
    !isShipped guard restored: shipped goods route through manual approval&lt;br /&gt;
    even within 24h, so the physical return goes through CN flow.&lt;br /&gt;
  /return/invoice/reject/{proId} — new endpoint for finance to reject a&lt;br /&gt;
    pending INV PRO (sale stands, no inventory/wallet/GST action).&lt;br /&gt;
  /return/invoice — date filter (fromDate/toDate query params, default&lt;br /&gt;
    last 30 days) backed by selectByWarehouseIdsAndDateRange. Limit&lt;br /&gt;
    bumped to 200 to accommodate longer ranges.&lt;br /&gt;
  receive-debit-note view — passes $requiresFinanceApproval so the&lt;br /&gt;
    template can render the finance-approval banner when DN&apos;s IRN is&lt;br /&gt;
    past the 24h window.&lt;br /&gt;
&lt;br /&gt;
invoice-return.vm:&lt;br /&gt;
  Added From/To date inputs + Apply button.&lt;br /&gt;
  Added Reject button next to Approve &amp; Refund for pending INV PROs.&lt;br /&gt;
&lt;br /&gt;
receive-debit-note.vm:&lt;br /&gt;
  Added one informational banner (#if $requiresFinanceApproval) above&lt;br /&gt;
  the receipt form. No layout / JS / submit-URL change.&lt;br /&gt;
&lt;br /&gt;
return.js:&lt;br /&gt;
  #invoice-return-date-apply handler — POSTs the selected range to&lt;br /&gt;
  /return/invoice and refreshes the table.&lt;br /&gt;
  .reject-invoice-return handler — prompts for reason, calls the new&lt;br /&gt;
  reject endpoint.&lt;br /&gt;
&lt;br /&gt;
dev/staging/prod.properties: feature flag finance.receipt.approval.email.enabled&lt;br /&gt;
(default false, flip per env when mail infra is ready).&lt;/div&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/PurchaseReturnController.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/resources/META-INF/dev.properties&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/resources/META-INF/prod.properties&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/resources/META-INF/staging.properties&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/resources/js/business/return.js&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/invoice-return.vm&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/receive-debit-note.vm&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-fofo%2Fsrc%2Fmain%2Fwebapp%2FWEB-INF%2Fviews%2Fftl%2Finvoice-return.vm&amp;rev=36408</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-fofo%2Fsrc%2Fmain%2Fwebapp%2FWEB-INF%2Fviews%2Fftl%2Finvoice-return.vm&amp;rev=36408</guid></item>
<item><pubDate>Thu, 19 Mar 2026 19:52:58 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 36027 – Sale Returns: finance approval endpoint, invoice links in all views, ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 7 file(s) modified&lt;/strong&gt;&lt;br/&gt;Sale Returns: finance approval endpoint, invoice links in all views, invoice map for INV: returns, purchase reference check fix&lt;/div&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/PurchaseReturnController.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/resources/js/business/return.js&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/debit-note-details.vm&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/debit-notes-table.vm&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/invoice-return-orders.vm&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/invoice-return-results.vm&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/invoice-return.vm&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-fofo%2Fsrc%2Fmain%2Fwebapp%2FWEB-INF%2Fviews%2Fftl%2Finvoice-return.vm&amp;rev=36027</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-fofo%2Fsrc%2Fmain%2Fwebapp%2FWEB-INF%2Fviews%2Fftl%2Finvoice-return.vm&amp;rev=36027</guid></item>
<item><pubDate>Wed, 18 Mar 2026 19:24:24 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 36022 – Sale Returns: invoice return flow with auto-approve, rename to Sale ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 6 file(s) modified&lt;/strong&gt;&lt;br/&gt;Sale Returns: invoice return flow with auto-approve, rename to Sale Returns, role-based search results, Finance L2+ access&lt;/div&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/PurchaseReturnController.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/resources/js/business/return.js&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/dashboard-readonly.vm&lt;br /&gt;+ /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/invoice-return-orders.vm&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/invoice-return-results.vm&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/invoice-return.vm&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-fofo%2Fsrc%2Fmain%2Fwebapp%2FWEB-INF%2Fviews%2Fftl%2Finvoice-return.vm&amp;rev=36022</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-fofo%2Fsrc%2Fmain%2Fwebapp%2FWEB-INF%2Fviews%2Fftl%2Finvoice-return.vm&amp;rev=36022</guid></item>
<item><pubDate>Sat, 14 Mar 2026 19:31:27 +0530</pubDate><dc:creator>amit</dc:creator><title>Rev 35998 – Invoice Return: controller endpoints, UI views (receive/refund/reject/details/search), JS handlers, role-based ...</title><description>&lt;div&gt;&lt;strong&gt;amit – 9 file(s) modified&lt;/strong&gt;&lt;br/&gt;Invoice Return: controller endpoints, UI views (receive/refund/reject/details/search), JS handlers, role-based access, dashboard menu&lt;/div&gt;~ /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/PurchaseReturnController.java&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/resources/js/business/return.js&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/dashboard-readonly.vm&lt;br /&gt;+ /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/debit-note-details.vm&lt;br /&gt;~ /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/debit-notes-table.vm&lt;br /&gt;+ /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/invoice-return-results.vm&lt;br /&gt;+ /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/invoice-return.vm&lt;br /&gt;+ /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/receive-debit-note.vm&lt;br /&gt;+ /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/refund-debit-note.vm&lt;br /&gt;</description><link>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-fofo%2Fsrc%2Fmain%2Fwebapp%2FWEB-INF%2Fviews%2Fftl%2Finvoice-return.vm&amp;rev=35998</link><guid>https://svn.smartdukaan.com/revision.php?repname=SmartDukaan&amp;path=%2Ftrunk%2Fprofitmandi-fofo%2Fsrc%2Fmain%2Fwebapp%2FWEB-INF%2Fviews%2Fftl%2Finvoice-return.vm&amp;rev=35998</guid></item>
</channel></rss>