New filter addition in invoice & payment page
Author(s)
- Saptarshi Mukherjee
- Arpita Dey
Last Updated Date
[2024-10-16]
Version History
| Version | Date | Changes | Author |
|---|---|---|---|
| 1.0 | 2024-10-16 | Initial draft | Saptarshi Mukherjee & Arpita Dey |
Feature Overview
Objective:
Enhance the user experience on the Invoice & Payment page by introducing new filters.. The proposed filters will allow users to filter invoices & payement based on different date criteria, enabling more efficient and targeted results.
Filters to be Introduced:
-
Invoice Generation Date:
Type: Date Picker
Functionality: Allows users to filter invoices based on the generation date. Users can select a date range to view all invoices generated within that period.
-
Invoice Billing Date:
Type: Month Picker
Functionality: Enables users to filter invoices based on the billing date. The filter will allow selection of a specific month, displaying all invoices billed during that month.
-
Invoice Posting Date:
Type: Date Picker
Functionality: Provides a date range filter for the invoice posting date. Users can select the desired date range to find invoices that were posted within that timeframe.
Scope:
Users will be restricted to search using only one filter at a time. For example, a user can filter invoices by either the Invoice Generation Date, Invoice Billing Date, or Invoice Posting Date, but not by multiple fields simultaneously. This limitation ensures straightforward usage and prevents any potential conflicts or complications arising from combining multiple date-based filters.
Dependencies:
No dependency
Requirements
Invoice Filter
Invoice Generation : Date Picker How many invoices generated between that timeline
Invoice Billing Date : Month Picker How many invoices generated for that month
Invoice Posting Date : Date Picker
Payment Filter
Payment Start Date & Payment End Date
Posting date
Cheque date
Design Specifications
(Provide detailed design specifications, including UI/UX designs, API interfaces, and any other relevant architectural details.)
-
UI/UX Design:
(Include wireframes, mockups, or links to design files.) -
Data Models:
(Detail the data structures, including database schemas or objects.)public class InvoiceFilterStruct
{
public string? InvoiceNumber { get; set; }
public DateTime? GenerationStartDate { get; set; }
public DateTime? GenerationEndDate { get; set; }
public DateTime? PostingStartDate { get; set; }
public DateTime? PostingEndDate { get; set; }
public DateTime? BillingStartDate { get; set; }
public DateTime? BillingEndDate { get; set; }
public string? CustomerCode { get; set; }
public string? PropertyCode { get; set; }
public string? BuildingCode { get; set; }
public InvoiceType Type { get; set; } = InvoiceType.Any;
public InvoicePaymentStatus PaymentStatus { get; set; } = InvoicePaymentStatus.Any;
public bool? IsBookmarked { get; set; }
public PostingType IsPosted { get; set; } = PostingType.None;
public bool? IsScmInvoice { get; set; }
public int PageNumber { get; set; }
public int RowsPerPage { get; set; }
public bool IsExcel { get; set; }
public DateTime? PostingDate { get; set; }
public string? PostBy { get; set; }
} -
API Interfaces:
(Define the APIs required for this feature, including endpoints, methods, request/response formats.)Endpoint Method Parameters Response Response Status Codes api/customer/info/invoicesPOSTpostingDates,GenerationDates,billingDates 200,204,500api/payment/analytics/receipts/listPOSTpostingDates,GenerationDates,chequeDates 200,204,500 -
Third-Party Integrations:
-
Workflow:
Following is the workflow of filter of invoice page as filter of payment page is pretty simple.
Development Tasks & Estimates
(Break down the development process into smaller tasks and provide time estimates for each.)
| No | Task Name | Estimate (Hours) | Dependencies | Notes |
|---|---|---|---|---|
| 1 | Invoice filter Backend | 2 hours | Dependency 1 | Any notes here |
| 2 | Invoice filter frontend | 3 hours | Dependency 2 | Any notes here |
| 3 | payment filter backend Description | 2 hours | Dependency 3 | Any notes here |
| 4 | payment filter UI Description | 1.5 hours | Dependency 3 | Any notes here |
| 5 | Total | 8.5 hours | Dependency 3 | Any notes here |
Testing & Quality Assurance
(Outline the testing strategy and quality assurance measures for the feature.)
- Unit Tests:
- User can only search only one field at a time between these filters.
- Need to ensure the differentiation between generation date and billing date
Deployment Considerations
Review & Approval
(Include a section for review and approval by stakeholders.)
-
Reviewer:
Ayon Das -
Approval Date:
2024-10-18
Notes
(Add any additional notes or considerations related to the feature development here.)