Skip to main content
Version: Webel

New filter addition in invoice & payment page

Author(s)

  • Saptarshi Mukherjee
  • Arpita Dey

Last Updated Date

[2024-10-16]


Version History

VersionDateChangesAuthor
1.02024-10-16Initial draftSaptarshi 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:

  1. 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.

  2. 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.

  3. 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.)

    EndpointMethodParametersResponseResponse Status Codes
    api/customer/info/invoicesPOSTpostingDates,GenerationDates,billingDates200, 204, 500
    api/payment/analytics/receipts/listPOSTpostingDates,GenerationDates,chequeDates200, 204, 500
  • Third-Party Integrations:

  • Workflow:
    Following is the workflow of filter of invoice page as filter of payment page is pretty simple. alt text


Development Tasks & Estimates

(Break down the development process into smaller tasks and provide time estimates for each.)

NoTask NameEstimate (Hours)DependenciesNotes
1Invoice filter Backend2 hoursDependency 1Any notes here
2Invoice filter frontend3 hoursDependency 2Any notes here
3payment filter backend Description2 hoursDependency 3Any notes here
4payment filter UI Description1.5 hoursDependency 3Any notes here
5Total8.5 hoursDependency 3Any notes here

Testing & Quality Assurance

(Outline the testing strategy and quality assurance measures for the feature.)

  • Unit Tests:
  1. User can only search only one field at a time between these filters.
  2. 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.)