to select ↑↓ to navigate
vfd provider

vfd provider

VFD Custom Fields(Develop)

This document outlines the custom fields added to the ERPNext system for Virtual Fiscal Device (VFD) integration. These fields facilitate electronic invoicing, tax compliance, and integration with VFD providers. Below is a list of all custom fields, organized by module (doctype), with their purposes explained for clarity.

Custom Fields for Sales Invoice

These fields are added to the Sales Invoice doctype to manage VFD-related data and actions.

  1. Generate VFD

    • Type: Button
    • Purpose: Allows users to manually trigger the generation of a VFD invoice after the sales invoice is submitted. The button is visible only when the invoice is submitted (docstatus == 1), is not marked as a non-VFD invoice (is_not_vfd_invoice == 0), has not yet been successfully processed (vfd_status != 'Success'), and is not a return invoice (is_return == 0).
    • Location: Inserted after the "Due Date" field.
  2. VFD Details

    • Type: Section Break
    • Purpose: Creates a section in the Sales Invoice form to group all VFD-related fields, improving organization and visibility of VFD-specific data.
    • Location: Inserted after the "Against Income Account" field.
  3. VFD Date

    • Type: Date
    • Purpose: Stores the date when the VFD invoice was generated or processed. It is read-only and can be updated after submission to reflect the VFD provider's response.
    • Location: Inserted after the "VFD Details" section.
  4. VFD Time

    • Type: Time
    • Purpose: Records the time when the VFD invoice was generated or processed. Like the VFD Date, it is read-only and can be updated after submission.
    • Location: Inserted after the "VFD Date" field.
  5. VFD Provider Posting

    • Type: Link (to VFD Provider Posting doctype)
    • Purpose: Links the Sales Invoice to a specific VFD Provider Posting record, which contains details about the VFD submission to the provider. It is read-only and can be updated after submission.
    • Location: Inserted after the "VFD Time" field.
  6. VFD Verification URL

    • Type: Data
    • Purpose: Stores a URL provided by the VFD provider, which can be used to verify the authenticity of the VFD invoice. This field supports up to 1000 characters and can be updated after submission.
    • Location: Inserted after the "VFD Provider Posting" field.
  7. Column Break VFD

    • Type: Column Break
    • Purpose: Adds a visual column break in the form layout to separate VFD fields for better readability and organization.
    • Location: Inserted after the "VFD Verification URL" field.
  8. VFD Status

    • Type: Select (Options: Not Sent, Pending, Failed, Success)
    • Purpose: Indicates the current status of the VFD invoice processing. It defaults to "Not Sent" and is updated based on the VFD provider's response. It is read-only, can be updated after submission, and is visible in the list view for quick reference.
    • Location: Inserted after the "Column Break VFD".
  9. Is Not VFD Invoice

    • Type: Check
    • Purpose: Allows users to mark a Sales Invoice as exempt from VFD processing (e.g., for non-taxable transactions). If checked, the invoice will not trigger VFD generation.
    • Location: Inserted after the "VFD Status" field.
  10. Is Auto Generate VFD

    • Type: Check
    • Purpose: Enables automatic generation of the VFD invoice upon submission of the Sales Invoice, streamlining the process for eligible invoices. Can be updated after submission.
    • Location: Inserted after the "Is Not VFD Invoice" field.
  11. VFD Cust ID

    • Type: Data
    • Purpose: Stores the customer's VFD-specific identification number, automatically fetched from the linked Customer record's vfd_cust_id field. It is populated if empty and supports tax compliance requirements.
    • Location: Inserted after the "Is Auto Generate VFD" field.
  12. VFD Cust ID Type

    • Type: Data
    • Purpose: Specifies the type of customer ID used for VFD (e.g., TIN, Passport), automatically fetched from the linked Customer record's vfd_cust_id_type field. It is populated if empty and ensures compliance with VFD provider requirements.
    • Location: Inserted after the "VFD Cust ID" field.

Custom Fields for Customer

These fields are added to the Customer doctype to store VFD-specific customer information.

  1. VFD Details

    • Type: Section Break
    • Purpose: Creates a section in the Customer form to group VFD-related fields, making it easier to manage customer-specific VFD data.
    • Location: Inserted after the "Companies" field.
  2. VFD Customer ID

    • Type: Data
    • Purpose: Stores the customer's unique identification number required for VFD processing (e.g., TIN, Passport number). This field is mandatory to ensure compliance with tax authority requirements.
    • Location: Inserted after the "VFD Details" section.
  3. VFD Customer ID Type

    • Type: Select (Options: None, TIN, Passport, Driving License, Voter ID, Aadhaar, Other)
    • Purpose: Specifies the type of identification used in the vfd_cust_id field. This is a mandatory field to ensure the correct ID type is provided for VFD compliance.
    • Location: Inserted after the "VFD Customer ID" field.

Custom Fields for Item Tax Template

These fields are added to the Item Tax Template doctype to support VFD-specific tax codes.

  1. VFD TAXCODE
    • Type: Select (Options: None, Standard Rate (18%), Special Rate, Zero Rated, Special Relief, Exempt)
    • Purpose: Defines the tax code applicable to the item for VFD processing, ensuring the correct tax rate or exemption status is communicated to the VFD provider.
    • Location: Inserted after the "Taxes" field.

Custom Fields for Mode of Payment

These fields are added to the Mode of Payment doctype to support VFD-specific payment types.

  1. VFD Payment Type
    • Type: Data
    • Purpose: Stores the VFD-specific payment type code (e.g., Cash, Card) required by the VFD provider for transaction reporting. This ensures accurate payment classification in VFD invoices.
    • Location: Inserted after the "Accounts" field.
Last updated 4 days ago
Was this helpful?
Thanks!