Subversion Repositories SmartDukaan

Rev

Show changed files | Directory listing | RSS feed

Filtering Options

Rev Age Author Path Log message Diff
36148 9 m amit /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/ Increase PrecDocDtls cap to 100 — NIC has no explicit limit, covers all per-partner monthly invoices  
36147 15 m amit /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/ Add original_invoice_number to credit_note for RETURNS type, increase PrecDocDtls cap to 10

CreditNote entity: added originalInvoiceNumber field
PurchaseReturnServiceImpl: set originalInvoiceNumber on RETURNS CN
CreditNoteServiceImpl: increased invoice ref collection from 4 to 10
GstProService: increased PrecDocDtls limit from 4 to 10
 
36146 31 m amit /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/ Credit Note IRN generation for monthly margins and returns

GstProService:
- Overloaded generateCreditNoteIrn() accepting pre-built InvoicePdfModel + multiple invoice refs (up to 4 PrecDocDtls)

CreditNoteServiceImpl:
- issueMonthlyMarginsCN: generate CRN IRN before PDF, stamp IRN/QR on PDF
- Uses generateInvoiceV2 for CN PDF (new clean format)
- Collects distinct invoice references from margin models
- Non-fatal: IRN failure doesn't block CN generation
 
36145 32 m amit /trunk/profitmandi-common/src/main/java/com/spice/profitmandi/common/util/ Credit Note label support: CREDIT NOTE DETAILS / CN No: for credit note documents  
36144 15 h 9 m amit /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/inventory/ Wire Credit Note on debit note refund — proper CN numbering and persistence

refundOrder(debitNoteId):
- Generate CN number via SellerWarehouse.creditNoteSequence (CN-{prefix}{seq})
- Persist CreditNote record (type=RETURNS) in transaction.credit_note
- Persist CreditNoteLine per returned item with tax rates from original order
- Generate CRN e-invoice IRN on NIC referencing original invoice
- Non-fatal: CN/IRN failure doesn't block the refund
 
36143 15 h 17 m amit /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/inventory/ Wire Credit Note e-invoice generation on debit note refund

refundOrder(debitNoteId):
- After wallet refund and status updates, generate CRN e-invoice on NIC
- Credit Note number: CN-{debitNoteNumber}
- References original transaction invoice via PrecDocDtls
- Non-fatal: CRN failure doesn't block the refund
- Supports multiple CRNs per invoice (partial returns over time)
 
36142 15 h 50 m amit /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/inventory/ Prevent duplicate SALE_RET scans — fix double wallet refund bug

receiveDebitNoteItems():
- Build alreadyReturnedSet from existing SALE_RET/DOA_IN/SALE_RET_UNUSABLE scans
- Serialized: throw exception if IMEI already returned against same order
- Non-serialized: include existing return count in over-return check

processInvoiceReturn():
- Same alreadyReturnedSet check — skip with warning if already returned

Prevents the bug where same IMEI is returned, re-sold, then returned again
against the original order causing duplicate wallet refund.
 
36141 16 h 3 m amit /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/integrations/gstpro/ Fix Credit Note: PrecDocDtls must be a list for NIC API. Sandbox verified all 3 flows: IRN generate, IRN cancel (within 24h), Credit Note CRN (past 24h)  
36140 16 h 22 m amit /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/integrations/gstpro/ Handle IRN cancellation with 24h window + Credit Note fallback

cancelInvoiceGst(invoiceNumber, reason, creditNoteNumber):
- Within 24h: cancel IRN directly (EWB auto-cancelled by NIC)
- Past 24h: generate Credit Note e-invoice (DocType=CRN) referencing original invoice
- DC invoices: cancel standalone EWB regardless of time

generateCreditNoteIrn(originalInvoice, creditNoteNo, reason):
- Same endpoint as IRN generation but DocType=CRN
- RefDtls.PrecDocDtls references original invoice number and date
- No EWB details in credit note
- IRN persisted in einvoice_details table

Sandbox verified: CRN generation works with DocType=CRN
 
36139 16 h 34 m ranu /trunk/ code for socket snapshot  
36138 17 h 13 m amit /trunk/profitmandi-common/src/main/java/com/spice/profitmandi/common/util/ Delivery Challan: show CHALLAN DETAILS and Challan No instead of INVOICE DETAILS and Invoice No  
36137 17 h 16 m amit /trunk/profitmandi-common/src/main/java/com/spice/profitmandi/common/util/ Indian currency formatting: lakh/crore amount in words + Indian comma style (1,25,129.00) for all money fields in invoice table and summary  
36136 18 h 29 m amit /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/ Fix date formatting: use dateFormatter (dd/MM/yyyy) instead of toLocalDate() in all GRN correction views  
36135 18 h 55 m amit /trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/warehouse/ Include correction To Item IDs in itemMap so item names resolve in approval view  
36134 18 h 59 m amit /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/ Fix item description: use getItemDescription() (brand+model+number+color) instead of just modelName  
36133 19 h 2 m amit /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/ GRN correction approval: add GRN By column  
36132 19 h 8 m amit /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/ GRN correction views: add invoice date, show item names in qty corrections, wrap JS in Velocity literal blocks  
36131 19 h 35 m amit /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/ Fix Velocity parse error: wrap JS in literal block to prevent jQuery $ conflicts  
36130 19 h 43 m amit /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/ Generate standalone EWB for Delivery Challans > 20K

GstProService.generateEwbForDeliveryChallan():
- Builds GENEWAYBILL payload from order data (seller, buyer, items, transport)
- docType=CHL, subSupplyType=8, transactionType=4 (intra-state same GSTIN)
- Zero GST, items aggregated by HSN
- Stores EWB number in einvoice_details table
- Skips if EWB already exists for the invoice

InvoiceService.saveInvoice():
- DC invoices with total > 20K trigger standalone EWB generation
- EWB failure is non-fatal (logged, doesn't block PDF generation)
 
36129 20 h 5 m amit /trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/service/integrations/gstpro/ Refactor EWB API to use headers (consistent with e-invoice auth style)

Auth: params in headers (aspid, password, Gstin, Username, Ewbpwd)
Generate/Cancel: credentials in headers, action in query param
Extracted common ewbApiCall() with retry-on-GSP752 logic
getEwbApiHeaders() in GstProAuthService for reuse
 

Show All