Project

General

Profile

Actions

Task #17534

open

Task #19100: Sprint Planning for 17/11/2025 - 28/11/2025

Credit Note - Implement Partial Credit Notes for Specific Invoice Charges

Added by Redmine Admin 7 months ago. Updated about 17 hours ago.

Status:
New
Priority:
Normal
Assignee:
-
Start date:
03/20/2025
Due date:
11/28/2025 (12 days late)
% Done:

50%

Estimated time:
64:00 h
Spent time:
GitLab ID:
2258
GitLab Milestone:
GitLab Ticket Number:
392
GitLab Time Logged:
115200
Lock Timeline Date:
No
gitlab project trace:
Sprint Planning for 17/11/2025 - 28/11/2025

Description

The freight forwarder should be able to issue partial credit notes for individual charges listed in an invoice, so that he/she can accurately adjust or correct specific billing items without affecting the entire invoice.

Pre-requisite:

  • The invoice targeted for the partial credit must be of the type "Standard invoice", which has been paid fully, partly or unpaid.

The invoice should not be in status "Cancelled".

Acceptance Criteria:

  1. Initiate Credit Note Creation:

·        Click on the "Create Credit Note" button.

·        The user gets a list of issued invoices to select the specific invoice for which a credit note will be issued.

  1. Invoice List Details:

·        The invoice list should display the following columns for each invoice:​

  • Invoice Number

  • Customer Name

  • Invoice Date

  • Due Date

  • Total Amount

  • Outstanding Balance

  • Status (e.g., Paid, Unpaid, Overdue)

    3. Select an Invoice:

·        The system should allow the user to search for a particular invoice by:

  • Invoice ref
  • Customer name
  • Invoice date (date range)
  • Status (e.g., Paid, Unpaid, Overdue)

·        The system should allow the user to select the specific invoice that requires a partial credit adjustment.​

  1. Display Invoice Details:

·        Upon initiating the credit note creation, the system should display:​

  • Invoice Header Information: Customer details, invoice date, due date, etc.
  • Itemised List of Charges: Each charge should include:
    • Charge Code           
    • Description
    • Currency    
    • Amount Excl. Vat
    • Vat
    • Discount Value
    • Exchange Rate
  1. Select Charges for Credit:

·        The system should allow the user to select one or multiple specific charges from the itemised list to apply the partial credit.​

  1. Specify Credit Amounts:

·        For each selected charge, enable the user to input the exact amount to be credited, which can be less than or equal to the original charge amount.​

·        The system should validate the credit note details to ensure the credit note amount does not exceed the original charge amount. If discrepancies are found (e.g., over-crediting), the system should prevent saving and warn the user for adjustments.

  1. Provide Reason for Credit:

·        The system should include a mandatory field for the user to specify the reason for issuing the partial credit (e.g., billing error).​

  1. Review and Confirm:

·        The system should present a summary of the credit note details, including:​

  • Remaining Balances for Each Charge
  • Total Credit Amount

·        The system should provide options to Save or Cancel the credit note creation.​

  1. Approval Process:

·        If necessary, the system shall allow credit notes to be approved by a supervisor before finalisation.

·        The user shall receive a notification once the credit note is approved or rejected by the supervisor.

  1. Credit Note Status Tracking:

·        The system shall enable users to track the status of each credit note by displaying a list of all Credit notes created.  Display columns will be as below:

  • Credit Note Reference
  • Invoice Reference
  • Client
  • Total Invoice Amount
  • Total Credit Note Amount
  • Date Created

A sample is provided.

image.png{width="452" height="100"}

·        The system should allow users to be able to search by CRN reference, invoice reference, client name, and enter a date range.

  1. Generate Partial Credit Note:

·        Upon confirmation, the system should generate a Credit Note Document with a unique reference number. Refer to the attached sample.

CreditNote.pdf

  1. Notification:

·        The system shall allow the user to send notifications about the issuance of the partial credit note via email to the recipient(s) and CC as specified.

  1. Credit note after payment is made:

·        The system should enable users to create a credit note after a payment has been completed. This functionality ensures that users can efficiently manage and rectify any discrepancies, refunds or adjustments needed.

·        The user will follow the same steps, 1 to 12, as above.

·        If necessary, the system should allow credit notes to be approved by a supervisor before finalisation.

·        The user should receive a notification once the credit note is approved or rejected by the supervisor.

·        Issue Credit Note and Refund – for a non-returning customer, issue a Credit Note, Approval and then send a refund request to the Account Dept.

·        Issue a Credit Note and deduct it in the next invoice or payment – for a returning customer, no need to refund; deduct in the next Payment.  In the Credit Note PDF, add a clause to inform that amount will be deducted in the next payment.

  1. Refund Processing:

·        If the credit note is issued for a refund, the system shall generate a Refund Request PDF document.  This is similar to the payment request PDF available here https://gitlab.maccs.mu/-/project/30/uploads/d6c1cbdb9d4056f503f7cecc1b29561d/image.png, however, here we will display client information instead of supplier information.

 ·        The system should allow the user to send notifications about the refund request, attaching the Refund Request PDF to the finance team via email to the recipient(s) and CC as specified.

  1. Maintain Audit Trail:

·        The system shall log all actions related to the credit note creation, including user details, timestamps, and reasons for the credit, to ensure transparency and accountability.


GitLab Sync Log

[{"id": "33802", "author": "Vishesh Jodhoa", "hours": 4.0, "created": "2025-11-13T07:36:31.071Z", "log_date": "2025-11-12", "comment": "Imported from GitLab by @Vishesh Jodhoa on 2025-11-13T07:36:31.071Z: 4h-(4.0)h spend at: 2025-11-12", "status": "active", "deleted_by": "", "redmine_entry_id": 11215}, {"id": "33801", "author": "Vishesh Jodhoa", "hours": 8.0, "created": "2025-11-13T07:36:15.897Z", "log_date": "2025-11-11", "comment": "Imported from GitLab by @Vishesh Jodhoa on 2025-11-13T07:36:15.897Z: 1d-(8.0)h spend at: 2025-11-11", "status": "active", "deleted_by": "", "redmine_entry_id": 11216}, {"id": "33800", "author": "Vishesh Jodhoa", "hours": 8.0, "created": "2025-11-13T07:35:58.395Z", "log_date": "2025-11-10", "comment": "Imported from GitLab by @Vishesh Jodhoa on 2025-11-13T07:35:58.395Z: 1d-(8.0)h spend at: 2025-11-10", "status": "active", "deleted_by": "", "redmine_entry_id": 11217}, {"id": "33799", "author": "Vishesh Jodhoa", "hours": 8.0, "created": "2025-11-13T07:35:47.944Z", "log_date": "2025-11-09", "comment": "Imported from GitLab by @Vishesh Jodhoa on 2025-11-13T07:35:47.944Z: 1d-(8.0)h spend at: 2025-11-09", "status": "active", "deleted_by": "", "redmine_entry_id": 11218}, {"id": "34237", "author": "Vishesh Jodhoa", "hours": 2.0, "created": "2025-11-20T07:19:22.327Z", "log_date": "2025-11-20", "comment": "Imported from GitLab by @Vishesh Jodhoa on 2025-11-20T07:19:22.327Z: 2h-(2.0)h spend at: 2025-11-20", "status": "active", "deleted_by": "", "redmine_entry_id": 11322}, {"id": "35005", "author": "Avisham", "hours": 2.0, "created": "2025-12-05T06:12:25.550Z", "log_date": "2025-12-03", "comment": "Imported from GitLab by @Avisham on 2025-12-05T06:12:25.550Z: 2h-(2.0)h spend at: 2025-12-03", "status": "active", "deleted_by": "", "redmine_entry_id": 11569}]

Actions #1

Updated by Redmine Admin 7 months ago

  • GitLab Sync Log updated (diff)
Actions #2

Updated by Redmine Admin 5 months ago

  • Parent task set to #18487
  • gitlab project trace set to Ocean Sprint Planning for 14/07/2025 - 25/07/2025
Actions #3

Updated by Redmine Admin 5 months ago

  • Parent task changed from #18487 to #18500
  • gitlab project trace changed from Ocean Sprint Planning for 14/07/2025 - 25/07/2025 to Ocean Sprint Planning for 17/07/2025 - 25/07/2025
Actions #4

Updated by Redmine Admin 4 months ago

  • gitlab project trace deleted (Ocean Sprint Planning for 17/07/2025 - 25/07/2025)
Actions #5

Updated by Redmine Admin about 1 month ago

  • Due date changed from 03/20/2025 to 11/14/2025
  • Estimated time changed from 0:00 h to 64:00 h
  • Parent task changed from #18500 to #19002
  • gitlab project trace set to Sprint Planning for 03/11/2025 - 14/11/2025
Actions #6

Updated by Redmine Admin 27 days ago

  • % Done changed from 0 to 43
  • GitLab Time Logged changed from 0 to 100800
Actions #7

Updated by Redmine Admin 27 days ago

  • GitLab Sync Log updated (diff)
Actions #8

Updated by Redmine Admin 23 days ago

  • Status changed from New to Development Done
Actions #9

Updated by Redmine Admin 23 days ago

  • Status changed from Development Done to New
Actions #10

Updated by Redmine Admin 20 days ago

  • gitlab project trace changed from Sprint Planning for 03/11/2025 - 14/11/2025 to Sprint Planning for 17/11/2025 - 28/11/2025
  • Due date changed from 11/14/2025 to 11/28/2025
  • Parent task changed from #19002 to #19100
Actions #11

Updated by Redmine Admin 20 days ago

  • Status changed from New to Development Done
  • % Done changed from 43 to 46
  • GitLab Time Logged changed from 100800 to 108000
Actions #12

Updated by Redmine Admin 20 days ago

  • GitLab Sync Log updated (diff)
Actions #13

Updated by Redmine Admin 9 days ago

  • Status changed from Development Done to New
Actions #14

Updated by Redmine Admin 5 days ago

  • GitLab Sync Log updated (diff)
Actions #15

Updated by Redmine Admin 5 days ago

  • % Done changed from 46 to 50
  • GitLab Time Logged changed from 108000 to 115200
Actions

Also available in: Atom PDF