Implementarea Cursului Valutar în Modulul WHMCS e-Factura Tipărire

  • eFactura
  • 0

Acest articol detaliază implementarea și utilizarea cursului valutar în modulul WHMCS e-Factura, oferind o soluție eficientă pentru facturarea în valută și conversia în RON, conform cerințelor fiscale.

Maparea Structurii MySQL pentru Cursul Valutar

Vă prezentăm cum să configurați modulul pentru a folosi structura MySQL existentă în WHMCS pentru gestionarea cursului valutar. Aceste imagini includ detalii despre cum să mapăm și să selectăm cursul pentru fiecare factură, fie bazat pe ID-ul facturii, fie pe data specifică.

Clasa PHP pentru Gestionarea Personalizată a Cursului Valutar

Vă oferim exemple practice pentru utilizarea clasei /lib/Services/CustomCurrencySystemService.php, ce permite implementarea unor metode personalizate pentru calculul cursului valutar. Acest lucru oferă o flexibilitate maximă în gestionarea cursului în WHMCS pentru e-Factura. 

IMPORTANT: Pentru a folosi metodele proprii, redenumiți /lib/Services/CustomCurrencySystemService.example.php din kitul modulului în /lib/Services/CustomCurrencySystemService.php

Metode PHP ce pot fi implementate în CustomCurrencySystemService sunt definite în /lib/Services/CurrencySystemServiceInterface.php:

  • getExchangeRateForInvoice($invoiceId, $tableName, $fields)
  • getExchangeRateForDate($date, $tableName, $fields)
  • getExchangeRateForCodeAndDate($date, $code, $tableName, $fields)

Exemplu implementare curs pentru Invoice Id

/lib/Services/CustomCurrencySystemService.php

    public function getExchangeRateForInvoce($invoiceId, $tableName, $fields)
    {
        if (isset($fields['currency_field_invoice_id'], $fields['currency_field_value'])) {
            $exchangeRateRecord = Capsule::table($tableName)->where([
                [
                    $fields['currency_field_invoice_id'], '=', $invoiceId
                ]
            ])->first();

            return (float) $exchangeRateRecord->{$fields['currency_field_value']};
        }

        return null;
    }

Exemplu implementare curs pentru Invoice Date

/lib/Services/CustomCurrencySystemService.php

    public function getExchangeRateForDate($date, $tableName, $fields)
    {
        if (isset($fields['currency_field_date'], $fields['currency_field_value'])) {
            $exchangeRateRecord = Capsule::table($tableName)->where([
                [
                    $fields['currency_field_date'], '<=', $date
                ]
            ])->orderBy($fields['currency_field_date'], 'desc')->first();

            return (float) $exchangeRateRecord->{$fields['currency_field_value']};
        }

        return null;
    }

Implementarea avansată a cursului valutar în modulul WHMCS e-Factura este esențială pentru facturarea în valută și asigură conformitatea fiscală la trimiterea facturilor în SPV eFactura.


Răspunsul a fost util?

« înapoi