From 2aba873d1685283bc5558c8b4b037df7cb5f158a Mon Sep 17 00:00:00 2001 From: David Bomba Date: Thu, 19 Sep 2024 09:55:03 +1000 Subject: [PATCH 01/10] remove blockonomics payment type --- app/Models/PaymentType.php | 2 -- 1 file changed, 2 deletions(-) diff --git a/app/Models/PaymentType.php b/app/Models/PaymentType.php index db772ccb8f93..9565c8cd9494 100644 --- a/app/Models/PaymentType.php +++ b/app/Models/PaymentType.php @@ -81,7 +81,6 @@ class PaymentType extends StaticModel public const STRIPE_BANK_TRANSFER = 50; public const CASH_APP = 51; public const PAY_LATER = 52; - public const BLOCKONOMICS = 64; public array $type_names = [ self::BANK_TRANSFER => 'payment_type_Bank Transfer', @@ -130,7 +129,6 @@ class PaymentType extends StaticModel self::CASH_APP => 'payment_type_Cash App', self::VENMO => 'payment_type_Venmo', self::PAY_LATER => 'payment_type_Pay Later', - self::BLOCKONOMICS => 'payment_type_Blockonomics', ]; public static function parseCardType($cardName) From 79ef8aea18cc6ec746e9f2babfe3f5d38ef91bc9 Mon Sep 17 00:00:00 2001 From: David Bomba Date: Thu, 19 Sep 2024 10:56:44 +1000 Subject: [PATCH 02/10] Updated translations --- lang/ar/texts.php | 38 +++++++++++++++++++++++++++--- lang/ca/texts.php | 40 +++++++++++++++++++++++++++---- lang/da/texts.php | 48 ++++++++++++++++++++++++++++++------- lang/de/texts.php | 40 +++++++++++++++++++++++++++---- lang/es/texts.php | 38 +++++++++++++++++++++++++++--- lang/fr/texts.php | 38 +++++++++++++++++++++++++++--- lang/fr_CH/texts.php | 38 +++++++++++++++++++++++++++--- lang/he/texts.php | 38 +++++++++++++++++++++++++++--- lang/km_KH/texts.php | 38 +++++++++++++++++++++++++++--- lang/ro/texts.php | 56 ++++++++++++++++++++++++++++++++++---------- lang/sk/texts.php | 38 +++++++++++++++++++++++++++--- lang/sr/texts.php | 38 +++++++++++++++++++++++++++--- lang/sv/texts.php | 38 +++++++++++++++++++++++++++--- lang/zh_TW/texts.php | 38 +++++++++++++++++++++++++++--- 14 files changed, 506 insertions(+), 58 deletions(-) diff --git a/lang/ar/texts.php b/lang/ar/texts.php index 0b567ad130f4..7d9e1d39977c 100644 --- a/lang/ar/texts.php +++ b/lang/ar/texts.php @@ -2473,6 +2473,8 @@ $lang = array( 'local_storage_required' => 'خطأ: التخزين المحلي غير متوفر.', 'your_password_reset_link' => 'رابط إعادة تعيين كلمة المرور الخاصة بك', 'subdomain_taken' => 'المجال الفرعي قيد الاستخدام بالفعل', + 'expense_mailbox_taken' => 'The inbound mailbox is already in use', + 'expense_mailbox_invalid' => 'The inbound mailbox does not match the required schema', 'client_login' => 'تسجيل دخول العميل', 'converted_amount' => 'المبلغ المحول', 'default' => 'تقصير', @@ -3870,7 +3872,7 @@ $lang = array( 'payment_method_saving_failed' => 'لا يمكن حفظ طريقة الدفع لاستخدامها في المستقبل.', 'pay_with' => 'ادفع عن طريق', 'n/a' => 'غير متاح', - 'by_clicking_next_you_accept_terms' => 'بالنقر على "الخطوة التالية" ، فإنك تقبل الشروط.', + 'by_clicking_next_you_accept_terms' => 'By clicking "Next" you accept terms.', 'not_specified' => 'غير محدد', 'before_proceeding_with_payment_warning' => 'قبل الشروع في الدفع ، يجب عليك ملء الحقول التالية', 'after_completing_go_back_to_previous_page' => 'بعد الانتهاء ، عد إلى الصفحة السابقة.', @@ -5105,7 +5107,7 @@ $lang = array( 'all_contacts' => 'كل الاتصالات', 'insert_below' => 'أدخل أدناه', 'nordigen_handler_subtitle' => 'مصادقة حساب البنك. تحديد مؤسستك لإكمال الطلب باستخدام بيانات اعتماد حساب .', - 'nordigen_handler_error_heading_unknown' => 'حدث خطأ', + 'nordigen_handler_error_heading_unknown' => 'An error has occurred', 'nordigen_handler_error_contents_unknown' => 'حدث خطأ غير معروف! سبب:', 'nordigen_handler_error_heading_token_invalid' => 'رمز غير صالح', 'nordigen_handler_error_contents_token_invalid' => 'الرمز المميز المقدم غير صالح. اتصل بالدعم للحصول على المساعدة، إذا استمرت هذه المشكلة.', @@ -5219,7 +5221,7 @@ $lang = array( 'local_domain_help' => 'مجال EHLO (اختياري)', 'port_help' => 'أي. 25,587,465', 'host_help' => 'أي. smtp.gmail.com', - 'always_show_required_fields' => 'يسمح بإظهار نموذج الحقول المطلوبة', + 'always_show_required_fields' => 'Always show required fields form', 'always_show_required_fields_help' => 'يعرض نموذج الحقول المطلوبة دائمًا عند الخروج', 'advanced_cards' => 'بطاقات متقدمة', 'activity_140' => 'تم إرسال البيان إلى :client', @@ -5282,6 +5284,36 @@ $lang = array( 'latest_requires_php_version' => 'Note: the latest version requires PHP :version', 'auto_expand_product_table_notes' => 'Automatically expand products table notes', 'auto_expand_product_table_notes_help' => 'Automatically expands the notes section within the products table to display more lines.', + 'institution_number' => 'Institution Number', + 'transit_number' => 'Transit Number', + 'personal' => 'Personal', + 'address_information' => 'Address Information', + 'enter_the_information_for_the_bank_account' => 'Enter the Information for the Bank Account', + 'account_holder_information' => 'Account Holder Information', + 'enter_information_for_the_account_holder' => 'Enter Information for the Account Holder', + 'customer_type' => 'Customer Type', + 'process_date' => 'Process Date', + 'forever_free' => 'Forever Free', + 'comments_only' => 'Comments Only', + 'payment_balance_on_file' => 'Payment Balance On File', + 'ubl_email_attachment_help' => 'For more e-invoice settings please navigate :here', + 'stop_task_to_add_task_entry' => 'You need to stop the task before adding a new item.', + 'xml_file' => 'XML File', + 'one_page_checkout' => 'One-Page Checkout', + 'one_page_checkout_help' => 'Enable the new single page payment flow', + 'applies_to' => 'Applies To', + 'accept_purchase_order' => 'Accept Purchase Order', + 'round_to_seconds' => 'Round To Seconds', + 'activity_142' => 'Quote :number reminder 1 sent', + 'activity_143' => 'Auto Bill succeeded for invoice :invoice', + 'activity_144' => 'Auto Bill failed for invoice :invoice. :notes', + 'activity_145' => 'EInvoice :invoice for :client was e-delivered. :notes', + 'payment_failed' => 'Payment Failed', + 'ssl_host_override' => 'SSL Host Override', + 'upload_logo_short' => 'Upload Logo', + 'country_Melilla' => 'Melilla', + 'country_Ceuta' => 'Ceuta', + 'country_Canary Islands' => 'Canary Islands', ); return $lang; diff --git a/lang/ca/texts.php b/lang/ca/texts.php index cdfde3357540..7b4e98a79009 100644 --- a/lang/ca/texts.php +++ b/lang/ca/texts.php @@ -2492,6 +2492,8 @@ $lang = array( 'local_storage_required' => 'Error: local storage is not available.', 'your_password_reset_link' => 'Your Password Reset Link', 'subdomain_taken' => 'The subdomain is already in use', + 'expense_mailbox_taken' => 'The inbound mailbox is already in use', + 'expense_mailbox_invalid' => 'The inbound mailbox does not match the required schema', 'client_login' => 'Client Login', 'converted_amount' => 'Converted Amount', 'default' => 'Per defecte', @@ -3889,7 +3891,7 @@ $lang = array( 'payment_method_saving_failed' => 'Payment method can\'t be saved for future use.', 'pay_with' => 'Pay with', 'n/a' => 'N/A', - 'by_clicking_next_you_accept_terms' => 'By clicking "Next step" you accept terms.', + 'by_clicking_next_you_accept_terms' => 'By clicking "Next" you accept terms.', 'not_specified' => 'Not specified', 'before_proceeding_with_payment_warning' => 'Before proceeding with payment, you have to fill following fields', 'after_completing_go_back_to_previous_page' => 'After completing, go back to previous page.', @@ -5124,7 +5126,7 @@ $lang = array( 'all_contacts' => 'Tots els contactes', 'insert_below' => 'Insereix a continuació', 'nordigen_handler_subtitle' => 'Autenticació del compte bancari. Seleccioneu la vostra institució per completar la sol·licitud amb les credencials del vostre compte.', - 'nordigen_handler_error_heading_unknown' => 'S'ha produït un error', + 'nordigen_handler_error_heading_unknown' => 'An error has occurred', 'nordigen_handler_error_contents_unknown' => 'Ha ocorregut un error desconegut! Motiu:', 'nordigen_handler_error_heading_token_invalid' => 'token invàlid', 'nordigen_handler_error_contents_token_invalid' => 'El testimoni proporcionat no era vàlid. Contacteu amb l'assistència per obtenir ajuda, si aquest problema persisteix.', @@ -5238,7 +5240,7 @@ $lang = array( 'local_domain_help' => 'EHLO domain (optional)', 'port_help' => 'ie. 25,587,465', 'host_help' => 'ie. smtp.gmail.com', - 'always_show_required_fields' => 'Allows show required fields form', + 'always_show_required_fields' => 'Always show required fields form', 'always_show_required_fields_help' => 'Displays the required fields form always at checkout', 'advanced_cards' => 'Advanced Cards', 'activity_140' => 'Statement sent to :client', @@ -5300,7 +5302,37 @@ $lang = array( 'merge_to_pdf' => 'Merge to PDF', 'latest_requires_php_version' => 'Note: the latest version requires PHP :version', 'auto_expand_product_table_notes' => 'Automatically expand products table notes', - 'auto_expand_product_table_notes_help' => 'Automatically expands the notes section within the products table to display more lines.' + 'auto_expand_product_table_notes_help' => 'Automatically expands the notes section within the products table to display more lines.', + 'institution_number' => 'Institution Number', + 'transit_number' => 'Transit Number', + 'personal' => 'Personal', + 'address_information' => 'Address Information', + 'enter_the_information_for_the_bank_account' => 'Enter the Information for the Bank Account', + 'account_holder_information' => 'Account Holder Information', + 'enter_information_for_the_account_holder' => 'Enter Information for the Account Holder', + 'customer_type' => 'Customer Type', + 'process_date' => 'Process Date', + 'forever_free' => 'Forever Free', + 'comments_only' => 'Comments Only', + 'payment_balance_on_file' => 'Payment Balance On File', + 'ubl_email_attachment_help' => 'For more e-invoice settings please navigate :here', + 'stop_task_to_add_task_entry' => 'You need to stop the task before adding a new item.', + 'xml_file' => 'XML File', + 'one_page_checkout' => 'One-Page Checkout', + 'one_page_checkout_help' => 'Enable the new single page payment flow', + 'applies_to' => 'Applies To', + 'accept_purchase_order' => 'Accept Purchase Order', + 'round_to_seconds' => 'Round To Seconds', + 'activity_142' => 'Quote :number reminder 1 sent', + 'activity_143' => 'Auto Bill succeeded for invoice :invoice', + 'activity_144' => 'Auto Bill failed for invoice :invoice. :notes', + 'activity_145' => 'EInvoice :invoice for :client was e-delivered. :notes', + 'payment_failed' => 'Payment Failed', + 'ssl_host_override' => 'SSL Host Override', + 'upload_logo_short' => 'Upload Logo', + 'country_Melilla' => 'Melilla', + 'country_Ceuta' => 'Ceuta', + 'country_Canary Islands' => 'Canary Islands', ); return $lang; diff --git a/lang/da/texts.php b/lang/da/texts.php index 4654f71c16c7..f823090c7d70 100644 --- a/lang/da/texts.php +++ b/lang/da/texts.php @@ -659,7 +659,7 @@ $lang = array( 'status_sent' => 'Sent', 'status_viewed' => 'Viewed', 'status_partial' => 'Partial', - 'status_paid' => 'Paid', + 'status_paid' => 'Betalt', 'status_unpaid' => 'Ubetalt', 'status_all' => 'Alle', 'show_line_item_tax' => 'Display line item taxes inline', @@ -994,17 +994,17 @@ $lang = array( 'last_page' => 'last page', 'all_pages_header' => 'Show header on', 'all_pages_footer' => 'Show footer on', - 'invoice_currency' => 'Invoice Currency', - 'enable_https' => 'We strongly recommend using HTTPS to accept credit card details online.', + 'invoice_currency' => 'Faktura Valuta', + 'enable_https' => 'Vi anbefaler stærkt at bruge HTTPS for accept af kreditkort detaljer online', 'quote_issued_to' => 'Quote issued to', - 'show_currency_code' => 'Currency Code', + 'show_currency_code' => 'Valuta Kode', 'free_year_message' => 'Din konto er opgraderet til pro i et år uden extra omkostninger.', 'trial_message' => 'Your account will receive a free two week trial of our pro plan.', 'trial_footer' => 'Din gratis pro plan prøveperiode udløber om :count dage, :link for at opgradere nu.', 'trial_footer_last_day' => 'Dette er den sidste dag i din gratis pro plan prøveperiode, :link for at opgradere nu.', - 'trial_call_to_action' => 'Start Free Trial', + 'trial_call_to_action' => 'Start Gratis Prøve', 'trial_success' => 'Successfully enabled two week free pro plan trial', - 'overdue' => 'Overdue', + 'overdue' => 'Forfaldet', 'white_label_text' => 'Køb et ET-ÅRIGT hvidmærket licens til $:price for at fjerne Invoice Ninja-brandingen fra fakturaen og Kundeportalen.', 'user_email_footer' => 'For at justere varslings indstillingene besøg venligst :link', 'reset_password_footer' => 'Hvis du ikke bad om at få nulstillet din adgangskode kontakt venligst kundeservice: :email', @@ -2491,6 +2491,8 @@ $lang = array( 'local_storage_required' => 'Fejl: lokal lagring er ikke tilgængelig.', 'your_password_reset_link' => 'Dit link til nulstilling af adgangskode', 'subdomain_taken' => 'Underdomænet er allerede i brug', + 'expense_mailbox_taken' => 'The inbound mailbox is already in use', + 'expense_mailbox_invalid' => 'The inbound mailbox does not match the required schema', 'client_login' => 'Kunde login', 'converted_amount' => 'Ombygget Beløb', 'default' => 'Standard', @@ -3888,7 +3890,7 @@ $lang = array( 'payment_method_saving_failed' => 'Betaling kan ikke gemmes til fremtidig brug.', 'pay_with' => 'Betal med', 'n/a' => 'N/A', - 'by_clicking_next_you_accept_terms' => 'Ved at klikke på "Næste trin" accepterer du Betingelser .', + 'by_clicking_next_you_accept_terms' => 'By clicking "Next" you accept terms.', 'not_specified' => 'Ikke specificeret', 'before_proceeding_with_payment_warning' => 'Før du fortsætter med Betaling , skal du udfylde følgende felter', 'after_completing_go_back_to_previous_page' => 'Når du er færdig, skal du gå tilbage til forrige side.', @@ -5237,7 +5239,7 @@ $lang = array( 'local_domain_help' => 'EHLO domæne (valgfrit)', 'port_help' => 'fx. 25,587,465', 'host_help' => 'fx. smtp.gmail.com', - 'always_show_required_fields' => 'Tillad visning af obligatoriske formularfelter', + 'always_show_required_fields' => 'Vis altid formularen med obligatoriske felter', 'always_show_required_fields_help' => 'Vis altid de obligatoriske formularfelter ved kassen', 'advanced_cards' => 'Avancerede Kort', 'activity_140' => 'Kontoudtog sendt til :client', @@ -5300,6 +5302,36 @@ $lang = array( 'latest_requires_php_version' => 'Bemærk: den seneste version kræver PHP :version', 'auto_expand_product_table_notes' => 'Udvid automatisk produkt tabel noter', 'auto_expand_product_table_notes_help' => 'Udvider automatisk notesektionen i produkt tabellen til at vise flere linjer.', + 'institution_number' => 'Institutionsnummer', + 'transit_number' => 'Transitnummer', + 'personal' => 'Personlig', + 'address_information' => 'Adresseoplysninger', + 'enter_the_information_for_the_bank_account' => 'Indtast oplysningerne for Bankkonto', + 'account_holder_information' => 'Kontoejer Information', + 'enter_information_for_the_account_holder' => 'Indtast Information til konto', + 'customer_type' => 'Kundetype', + 'process_date' => 'Behandlingsdato', + 'forever_free' => 'Gratis for evigt', + 'comments_only' => 'Kun kommentarer', + 'payment_balance_on_file' => 'Betaling saldo på fil', + 'ubl_email_attachment_help' => 'For flere e- Faktura Indstillinger venligst navigere :her', + 'stop_task_to_add_task_entry' => 'You need to stop the task before adding a new item.', + 'xml_file' => 'XML File', + 'one_page_checkout' => 'One-Page Checkout', + 'one_page_checkout_help' => 'Enable the new single page payment flow', + 'applies_to' => 'Applies To', + 'accept_purchase_order' => 'Accept Purchase Order', + 'round_to_seconds' => 'Round To Seconds', + 'activity_142' => 'Quote :number reminder 1 sent', + 'activity_143' => 'Auto Bill succeeded for invoice :invoice', + 'activity_144' => 'Auto Bill failed for invoice :invoice. :notes', + 'activity_145' => 'EInvoice :invoice for :client was e-delivered. :notes', + 'payment_failed' => 'Payment Failed', + 'ssl_host_override' => 'SSL Host Override', + 'upload_logo_short' => 'Upload Logo', + 'country_Melilla' => 'Melilla', + 'country_Ceuta' => 'Ceuta', + 'country_Canary Islands' => 'Canary Islands', ); return $lang; diff --git a/lang/de/texts.php b/lang/de/texts.php index e8ca2e7e7a61..c23229b4cd6d 100644 --- a/lang/de/texts.php +++ b/lang/de/texts.php @@ -200,7 +200,7 @@ $lang = array( 'removed_logo' => 'Logo erfolgreich entfernt', 'sent_message' => 'Nachricht erfolgreich versendet', 'invoice_error' => 'Bitte stelle sicher, dass ein Kunde ausgewählt und alle Fehler behoben wurden', - 'limit_clients' => 'You\'ve hit the :count client limit on Free accounts. Congrats on your success!', + 'limit_clients' => 'Sie haben das :count Kundenlimit für kostenlose Konten erreicht. Herzlichen Glückwunsch zu Ihrem Erfolg!', 'payment_error' => 'Es ist ein Fehler während der Zahlung aufgetreten. Bitte versuche es später noch einmal.', 'registration_required' => 'Registrierung erforderlich', 'confirmation_required' => 'Bitte verifiziern Sie Ihre E-Mail-Adresse, :link um die E-Mail-Bestätigung erneut zu senden.', @@ -2493,6 +2493,8 @@ Sobald Sie die Beträge erhalten haben, kommen Sie bitte wieder zurück zu diese 'local_storage_required' => 'Fehler: Lokaler Speicherplatz ist nicht verfügbar.', 'your_password_reset_link' => 'Ihr Passwort-zurücksetzen-Link', 'subdomain_taken' => 'Die Subdomäne wird bereits verwendet', + 'expense_mailbox_taken' => 'The inbound mailbox is already in use', + 'expense_mailbox_invalid' => 'The inbound mailbox does not match the required schema', 'client_login' => 'Kundenanmeldung', 'converted_amount' => 'Umgerechneter Betrag', 'default' => 'Standard', @@ -3891,7 +3893,7 @@ https://invoiceninja.github.io/docs/migration/#troubleshooting', 'payment_method_saving_failed' => 'Die Zahlungsart konnte nicht für zukünftige Zahlungen gespeichert werden.', 'pay_with' => 'zahlen mit', 'n/a' => 'n. z.', - 'by_clicking_next_you_accept_terms' => 'Wenn Sie auf "Nächster Schritt" klicken, akzeptieren Sie die Bedingungen.', + 'by_clicking_next_you_accept_terms' => 'By clicking "Next" you accept terms.', 'not_specified' => 'Nicht angegeben', 'before_proceeding_with_payment_warning' => 'Bevor Sie mit der Zahlung fortfahren, müssen Sie folgende Felder ausfüllen', 'after_completing_go_back_to_previous_page' => 'Gehen Sie nach dem Ausfüllen zurück zur vorherigen Seite.', @@ -5128,7 +5130,7 @@ Leistungsempfängers', 'all_contacts' => 'Alle Kontakte', 'insert_below' => 'Darunter einfügen', 'nordigen_handler_subtitle' => 'Authentifizierung des Bankkontos. Wählen Sie Ihre Institution aus, um die Anfrage mit Ihren Kontoanmeldeinformationen abzuschließen.', - 'nordigen_handler_error_heading_unknown' => 'Ein Fehler ist aufgetreten', + 'nordigen_handler_error_heading_unknown' => 'An error has occurred', 'nordigen_handler_error_contents_unknown' => 'Ein unbekannter Fehler ist aufgetreten. Grund:', 'nordigen_handler_error_heading_token_invalid' => 'Ungültiges Token', 'nordigen_handler_error_contents_token_invalid' => 'Das bereitgestellte Token war ungültig. Wenn das Problem weiterhin besteht, wenden Sie sich an den Support.', @@ -5242,7 +5244,7 @@ Leistungsempfängers', 'local_domain_help' => 'EHLO domain (optional)', 'port_help' => 'z.B. 25, 587, 465', 'host_help' => 'z.B. smtp.gmail.com', - 'always_show_required_fields' => 'Allows show required fields form', + 'always_show_required_fields' => 'Always show required fields form', 'always_show_required_fields_help' => 'Displays the required fields form always at checkout', 'advanced_cards' => 'Advanced Cards', 'activity_140' => 'Statement sent to :client', @@ -5305,6 +5307,36 @@ Leistungsempfängers', 'latest_requires_php_version' => 'Note: the latest version requires PHP :version', 'auto_expand_product_table_notes' => 'Automatically expand products table notes', 'auto_expand_product_table_notes_help' => 'Automatically expands the notes section within the products table to display more lines.', + 'institution_number' => 'Institution Number', + 'transit_number' => 'Transit Number', + 'personal' => 'Personal', + 'address_information' => 'Address Information', + 'enter_the_information_for_the_bank_account' => 'Enter the Information for the Bank Account', + 'account_holder_information' => 'Account Holder Information', + 'enter_information_for_the_account_holder' => 'Enter Information for the Account Holder', + 'customer_type' => 'Customer Type', + 'process_date' => 'Process Date', + 'forever_free' => 'Forever Free', + 'comments_only' => 'Comments Only', + 'payment_balance_on_file' => 'Payment Balance On File', + 'ubl_email_attachment_help' => 'For more e-invoice settings please navigate :here', + 'stop_task_to_add_task_entry' => 'You need to stop the task before adding a new item.', + 'xml_file' => 'XML File', + 'one_page_checkout' => 'One-Page Checkout', + 'one_page_checkout_help' => 'Enable the new single page payment flow', + 'applies_to' => 'Applies To', + 'accept_purchase_order' => 'Accept Purchase Order', + 'round_to_seconds' => 'Round To Seconds', + 'activity_142' => 'Quote :number reminder 1 sent', + 'activity_143' => 'Auto Bill succeeded for invoice :invoice', + 'activity_144' => 'Auto Bill failed for invoice :invoice. :notes', + 'activity_145' => 'EInvoice :invoice for :client was e-delivered. :notes', + 'payment_failed' => 'Payment Failed', + 'ssl_host_override' => 'SSL Host Override', + 'upload_logo_short' => 'Upload Logo', + 'country_Melilla' => 'Melilla', + 'country_Ceuta' => 'Ceuta', + 'country_Canary Islands' => 'Canary Islands', ); return $lang; diff --git a/lang/es/texts.php b/lang/es/texts.php index a53b342bf596..74143b77d250 100644 --- a/lang/es/texts.php +++ b/lang/es/texts.php @@ -2491,6 +2491,8 @@ $lang = array( 'local_storage_required' => 'Error: storage el local no está disponible.', 'your_password_reset_link' => 'Tu link parara Resetear la Contraseña', 'subdomain_taken' => 'El subdominio ya está en uso', + 'expense_mailbox_taken' => 'The inbound mailbox is already in use', + 'expense_mailbox_invalid' => 'The inbound mailbox does not match the required schema', 'client_login' => 'Inicio de Sesión del Cliente', 'converted_amount' => 'Cantidad Convertida', 'default' => 'Por Defecto', @@ -3888,7 +3890,7 @@ $lang = array( 'payment_method_saving_failed' => 'El método de pago no se puede guardar para uso futuro.', 'pay_with' => 'Pagar con', 'n/a' => 'N / A', - 'by_clicking_next_you_accept_terms' => 'Al hacer clic en "Siguiente paso", acepta los términos.', + 'by_clicking_next_you_accept_terms' => 'By clicking "Next" you accept terms.', 'not_specified' => 'No especificado', 'before_proceeding_with_payment_warning' => 'Antes de proceder con el pago, debe completar los siguientes campos', 'after_completing_go_back_to_previous_page' => 'Después de completar, regrese a la página anterior.', @@ -5123,7 +5125,7 @@ $lang = array( 'all_contacts' => 'Todos los contactos', 'insert_below' => 'Insertar abajo', 'nordigen_handler_subtitle' => 'Autenticación de cuenta bancaria. Seleccionar su institución para completar la solicitud con las credenciales de su cuenta.', - 'nordigen_handler_error_heading_unknown' => 'Ha ocurrido un error', + 'nordigen_handler_error_heading_unknown' => 'An error has occurred', 'nordigen_handler_error_contents_unknown' => '¡Un error desconocido a ocurrido! Razón:', 'nordigen_handler_error_heading_token_invalid' => 'simbolo no valido', 'nordigen_handler_error_contents_token_invalid' => 'El token proporcionado no era válido. Póngase en contacto con el soporte para obtener ayuda si este problema persiste.', @@ -5237,7 +5239,7 @@ $lang = array( 'local_domain_help' => 'EHLO domain (optional)', 'port_help' => 'ie. 25,587,465', 'host_help' => 'ie. smtp.gmail.com', - 'always_show_required_fields' => 'Allows show required fields form', + 'always_show_required_fields' => 'Always show required fields form', 'always_show_required_fields_help' => 'Displays the required fields form always at checkout', 'advanced_cards' => 'Advanced Cards', 'activity_140' => 'Statement sent to :client', @@ -5300,6 +5302,36 @@ $lang = array( 'latest_requires_php_version' => 'Note: the latest version requires PHP :version', 'auto_expand_product_table_notes' => 'Automatically expand products table notes', 'auto_expand_product_table_notes_help' => 'Automatically expands the notes section within the products table to display more lines.', + 'institution_number' => 'Institution Number', + 'transit_number' => 'Transit Number', + 'personal' => 'Personal', + 'address_information' => 'Address Information', + 'enter_the_information_for_the_bank_account' => 'Enter the Information for the Bank Account', + 'account_holder_information' => 'Account Holder Information', + 'enter_information_for_the_account_holder' => 'Enter Information for the Account Holder', + 'customer_type' => 'Customer Type', + 'process_date' => 'Process Date', + 'forever_free' => 'Forever Free', + 'comments_only' => 'Comments Only', + 'payment_balance_on_file' => 'Payment Balance On File', + 'ubl_email_attachment_help' => 'For more e-invoice settings please navigate :here', + 'stop_task_to_add_task_entry' => 'You need to stop the task before adding a new item.', + 'xml_file' => 'XML File', + 'one_page_checkout' => 'One-Page Checkout', + 'one_page_checkout_help' => 'Enable the new single page payment flow', + 'applies_to' => 'Applies To', + 'accept_purchase_order' => 'Accept Purchase Order', + 'round_to_seconds' => 'Round To Seconds', + 'activity_142' => 'Quote :number reminder 1 sent', + 'activity_143' => 'Auto Bill succeeded for invoice :invoice', + 'activity_144' => 'Auto Bill failed for invoice :invoice. :notes', + 'activity_145' => 'EInvoice :invoice for :client was e-delivered. :notes', + 'payment_failed' => 'Payment Failed', + 'ssl_host_override' => 'SSL Host Override', + 'upload_logo_short' => 'Upload Logo', + 'country_Melilla' => 'Melilla', + 'country_Ceuta' => 'Ceuta', + 'country_Canary Islands' => 'Canary Islands', ); return $lang; diff --git a/lang/fr/texts.php b/lang/fr/texts.php index dca688d385ee..eb405ad7e1bd 100644 --- a/lang/fr/texts.php +++ b/lang/fr/texts.php @@ -2492,6 +2492,8 @@ Lorsque les montant apparaîtront sur votre relevé, veuillez revenir sur cette 'local_storage_required' => 'Erreur : le stockage local n\'est pas disponible.', 'your_password_reset_link' => 'Votre lien de réinitialisation de mot de passe', 'subdomain_taken' => 'Le sous-domaine est déjà utilisé', + 'expense_mailbox_taken' => 'The inbound mailbox is already in use', + 'expense_mailbox_invalid' => 'The inbound mailbox does not match the required schema', 'client_login' => 'Connexion client', 'converted_amount' => 'Montant converti', 'default' => 'Par défaut', @@ -3889,7 +3891,7 @@ Lorsque les montant apparaîtront sur votre relevé, veuillez revenir sur cette 'payment_method_saving_failed' => 'Erreur lors de l\'enregistrement du moyen de paiement.', 'pay_with' => 'Payer avec', 'n/a' => 'N / A', - 'by_clicking_next_you_accept_terms' => 'En cliquant sur "Étape suivante", vous acceptez les conditions.', + 'by_clicking_next_you_accept_terms' => 'By clicking "Next" you accept terms.', 'not_specified' => 'Non spécifié', 'before_proceeding_with_payment_warning' => 'Avant de procéder au paiement, vous devez remplir les champs suivants', 'after_completing_go_back_to_previous_page' => 'Après avoir terminé, revenez à la page précédente.', @@ -5124,7 +5126,7 @@ Lorsque les montant apparaîtront sur votre relevé, veuillez revenir sur cette 'all_contacts' => 'Tous les contacts', 'insert_below' => 'Insérer ci-dessous', 'nordigen_handler_subtitle' => 'Authentification du compte bancaire. Sélectionnez votre institution pour compléter la demande avec les informations d'identification de votre compte.', - 'nordigen_handler_error_heading_unknown' => 'Une erreur est survenue', + 'nordigen_handler_error_heading_unknown' => 'An error has occurred', 'nordigen_handler_error_contents_unknown' => 'Une erreur inconnue s'est produite! Raison:', 'nordigen_handler_error_heading_token_invalid' => 'jeton invalide', 'nordigen_handler_error_contents_token_invalid' => 'Le jeton fourni n'était pas valide. Contactez le support pour obtenir de l'aide si ce problème persiste.', @@ -5238,7 +5240,7 @@ Lorsque les montant apparaîtront sur votre relevé, veuillez revenir sur cette 'local_domain_help' => 'EHLO domain (optional)', 'port_help' => 'ie. 25,587,465', 'host_help' => 'ie. smtp.gmail.com', - 'always_show_required_fields' => 'Allows show required fields form', + 'always_show_required_fields' => 'Always show required fields form', 'always_show_required_fields_help' => 'Displays the required fields form always at checkout', 'advanced_cards' => 'Advanced Cards', 'activity_140' => 'Statement sent to :client', @@ -5301,6 +5303,36 @@ Lorsque les montant apparaîtront sur votre relevé, veuillez revenir sur cette 'latest_requires_php_version' => 'Note: the latest version requires PHP :version', 'auto_expand_product_table_notes' => 'Automatically expand products table notes', 'auto_expand_product_table_notes_help' => 'Automatically expands the notes section within the products table to display more lines.', + 'institution_number' => 'Institution Number', + 'transit_number' => 'Transit Number', + 'personal' => 'Personal', + 'address_information' => 'Address Information', + 'enter_the_information_for_the_bank_account' => 'Enter the Information for the Bank Account', + 'account_holder_information' => 'Account Holder Information', + 'enter_information_for_the_account_holder' => 'Enter Information for the Account Holder', + 'customer_type' => 'Customer Type', + 'process_date' => 'Process Date', + 'forever_free' => 'Forever Free', + 'comments_only' => 'Comments Only', + 'payment_balance_on_file' => 'Payment Balance On File', + 'ubl_email_attachment_help' => 'For more e-invoice settings please navigate :here', + 'stop_task_to_add_task_entry' => 'You need to stop the task before adding a new item.', + 'xml_file' => 'XML File', + 'one_page_checkout' => 'One-Page Checkout', + 'one_page_checkout_help' => 'Enable the new single page payment flow', + 'applies_to' => 'Applies To', + 'accept_purchase_order' => 'Accept Purchase Order', + 'round_to_seconds' => 'Round To Seconds', + 'activity_142' => 'Quote :number reminder 1 sent', + 'activity_143' => 'Auto Bill succeeded for invoice :invoice', + 'activity_144' => 'Auto Bill failed for invoice :invoice. :notes', + 'activity_145' => 'EInvoice :invoice for :client was e-delivered. :notes', + 'payment_failed' => 'Payment Failed', + 'ssl_host_override' => 'SSL Host Override', + 'upload_logo_short' => 'Upload Logo', + 'country_Melilla' => 'Melilla', + 'country_Ceuta' => 'Ceuta', + 'country_Canary Islands' => 'Canary Islands', ); return $lang; diff --git a/lang/fr_CH/texts.php b/lang/fr_CH/texts.php index e44ef16b8bba..91b6449d71a2 100644 --- a/lang/fr_CH/texts.php +++ b/lang/fr_CH/texts.php @@ -2489,6 +2489,8 @@ Lorsque les montant apparaîtront sur votre relevé, veuillez revenir sur cette 'local_storage_required' => 'Erreur: le stockage local n\'est pas accessible.', 'your_password_reset_link' => 'Remise à zéro votre mot de passe', 'subdomain_taken' => 'Ce sous-domaine est déjà utilisé', + 'expense_mailbox_taken' => 'The inbound mailbox is already in use', + 'expense_mailbox_invalid' => 'The inbound mailbox does not match the required schema', 'client_login' => 'Connexion client', 'converted_amount' => 'Montant converti', 'default' => 'Par défaut', @@ -3886,7 +3888,7 @@ Lorsque les montant apparaîtront sur votre relevé, veuillez revenir sur cette 'payment_method_saving_failed' => 'Ce mode de paiement ne peut pas être enregistré pour usage ultérieur.', 'pay_with' => 'Payer avec', 'n/a' => 'N/D', - 'by_clicking_next_you_accept_terms' => 'En cliquant sur "Prochaine étape", vous acceptez les conditions.', + 'by_clicking_next_you_accept_terms' => 'By clicking "Next" you accept terms.', 'not_specified' => 'Non spécifié', 'before_proceeding_with_payment_warning' => 'Avant de procéder au paiement, vous devez remplir les champs suivants', 'after_completing_go_back_to_previous_page' => 'Retournez à la page précédente après avoir complété', @@ -5121,7 +5123,7 @@ Lorsque les montant apparaîtront sur votre relevé, veuillez revenir sur cette 'all_contacts' => 'Tous les contacts', 'insert_below' => 'Insérer ci-dessous', 'nordigen_handler_subtitle' => 'Authentification du compte bancaire. Sélectionnez votre institution pour compléter la demande avec les informations d'identification de votre compte.', - 'nordigen_handler_error_heading_unknown' => 'Une erreur est survenue', + 'nordigen_handler_error_heading_unknown' => 'An error has occurred', 'nordigen_handler_error_contents_unknown' => 'Une erreur inconnue s'est produite! Raison:', 'nordigen_handler_error_heading_token_invalid' => 'jeton invalide', 'nordigen_handler_error_contents_token_invalid' => 'Le jeton fourni n'était pas valide. Contactez le support pour obtenir de l'aide si ce problème persiste.', @@ -5235,7 +5237,7 @@ Lorsque les montant apparaîtront sur votre relevé, veuillez revenir sur cette 'local_domain_help' => 'EHLO domain (optional)', 'port_help' => 'ex. 25,587,465', 'host_help' => 'ex. smtp.gmail.com', - 'always_show_required_fields' => 'Permet l\'affichage des champs requis d\'un formulaire', + 'always_show_required_fields' => 'Always show required fields form', 'always_show_required_fields_help' => 'Displays the required fields form always at checkout', 'advanced_cards' => 'Advanced Cards', 'activity_140' => 'Statement sent to :client', @@ -5298,6 +5300,36 @@ Lorsque les montant apparaîtront sur votre relevé, veuillez revenir sur cette 'latest_requires_php_version' => 'Note: the latest version requires PHP :version', 'auto_expand_product_table_notes' => 'Automatically expand products table notes', 'auto_expand_product_table_notes_help' => 'Automatically expands the notes section within the products table to display more lines.', + 'institution_number' => 'Institution Number', + 'transit_number' => 'Transit Number', + 'personal' => 'Personal', + 'address_information' => 'Address Information', + 'enter_the_information_for_the_bank_account' => 'Enter the Information for the Bank Account', + 'account_holder_information' => 'Account Holder Information', + 'enter_information_for_the_account_holder' => 'Enter Information for the Account Holder', + 'customer_type' => 'Customer Type', + 'process_date' => 'Process Date', + 'forever_free' => 'Forever Free', + 'comments_only' => 'Comments Only', + 'payment_balance_on_file' => 'Payment Balance On File', + 'ubl_email_attachment_help' => 'For more e-invoice settings please navigate :here', + 'stop_task_to_add_task_entry' => 'You need to stop the task before adding a new item.', + 'xml_file' => 'XML File', + 'one_page_checkout' => 'One-Page Checkout', + 'one_page_checkout_help' => 'Enable the new single page payment flow', + 'applies_to' => 'Applies To', + 'accept_purchase_order' => 'Accept Purchase Order', + 'round_to_seconds' => 'Round To Seconds', + 'activity_142' => 'Quote :number reminder 1 sent', + 'activity_143' => 'Auto Bill succeeded for invoice :invoice', + 'activity_144' => 'Auto Bill failed for invoice :invoice. :notes', + 'activity_145' => 'EInvoice :invoice for :client was e-delivered. :notes', + 'payment_failed' => 'Payment Failed', + 'ssl_host_override' => 'SSL Host Override', + 'upload_logo_short' => 'Upload Logo', + 'country_Melilla' => 'Melilla', + 'country_Ceuta' => 'Ceuta', + 'country_Canary Islands' => 'Canary Islands', ); return $lang; diff --git a/lang/he/texts.php b/lang/he/texts.php index efcee60b4aac..0d2a34635d26 100644 --- a/lang/he/texts.php +++ b/lang/he/texts.php @@ -2490,6 +2490,8 @@ $lang = array( 'local_storage_required' => 'Error: local storage is not available.', 'your_password_reset_link' => 'Your Password Reset Link', 'subdomain_taken' => 'The subdomain is already in use', + 'expense_mailbox_taken' => 'The inbound mailbox is already in use', + 'expense_mailbox_invalid' => 'The inbound mailbox does not match the required schema', 'client_login' => 'כניסת לקוחות', 'converted_amount' => 'המר סכום', 'default' => 'ברירת מחדל', @@ -3887,7 +3889,7 @@ $lang = array( 'payment_method_saving_failed' => 'לא ניתן לשמור את אמצעי התשלום לשימוש עתידי.', 'pay_with' => 'לשלם עם', 'n/a' => 'לא', - 'by_clicking_next_you_accept_terms' => 'בלחיצה על "השלב הבא" אתה מקבל את התנאים.', + 'by_clicking_next_you_accept_terms' => 'By clicking "Next" you accept terms.', 'not_specified' => 'לא מוגדר', 'before_proceeding_with_payment_warning' => 'לפני שתמשיך בתשלום, עליך למלא את השדות הבאים', 'after_completing_go_back_to_previous_page' => 'לאחר השלמת, חזור לדף הקודם.', @@ -5122,7 +5124,7 @@ $lang = array( 'all_contacts' => 'כל אנשי הקשר', 'insert_below' => 'הכנס למטה', 'nordigen_handler_subtitle' => 'אימות חשבון בנק. בחירת המוסד שלך להשלמת הבקשה עם אישורי החשבון שלך.', - 'nordigen_handler_error_heading_unknown' => 'ארעה שגיאה', + 'nordigen_handler_error_heading_unknown' => 'An error has occurred', 'nordigen_handler_error_contents_unknown' => 'אירעה שגיאה לא ידועה! סיבה:', 'nordigen_handler_error_heading_token_invalid' => 'אסימון לא חוקי', 'nordigen_handler_error_contents_token_invalid' => 'האסימון שסופק היה לא חוקי. פנה לתמיכה לקבלת עזרה, אם הבעיה נמשכת.', @@ -5236,7 +5238,7 @@ $lang = array( 'local_domain_help' => 'EHLO domain (optional)', 'port_help' => 'ie. 25,587,465', 'host_help' => 'ie. smtp.gmail.com', - 'always_show_required_fields' => 'Allows show required fields form', + 'always_show_required_fields' => 'Always show required fields form', 'always_show_required_fields_help' => 'Displays the required fields form always at checkout', 'advanced_cards' => 'Advanced Cards', 'activity_140' => 'Statement sent to :client', @@ -5299,6 +5301,36 @@ $lang = array( 'latest_requires_php_version' => 'Note: the latest version requires PHP :version', 'auto_expand_product_table_notes' => 'Automatically expand products table notes', 'auto_expand_product_table_notes_help' => 'Automatically expands the notes section within the products table to display more lines.', + 'institution_number' => 'Institution Number', + 'transit_number' => 'Transit Number', + 'personal' => 'Personal', + 'address_information' => 'Address Information', + 'enter_the_information_for_the_bank_account' => 'Enter the Information for the Bank Account', + 'account_holder_information' => 'Account Holder Information', + 'enter_information_for_the_account_holder' => 'Enter Information for the Account Holder', + 'customer_type' => 'Customer Type', + 'process_date' => 'Process Date', + 'forever_free' => 'Forever Free', + 'comments_only' => 'Comments Only', + 'payment_balance_on_file' => 'Payment Balance On File', + 'ubl_email_attachment_help' => 'For more e-invoice settings please navigate :here', + 'stop_task_to_add_task_entry' => 'You need to stop the task before adding a new item.', + 'xml_file' => 'XML File', + 'one_page_checkout' => 'One-Page Checkout', + 'one_page_checkout_help' => 'Enable the new single page payment flow', + 'applies_to' => 'Applies To', + 'accept_purchase_order' => 'Accept Purchase Order', + 'round_to_seconds' => 'Round To Seconds', + 'activity_142' => 'Quote :number reminder 1 sent', + 'activity_143' => 'Auto Bill succeeded for invoice :invoice', + 'activity_144' => 'Auto Bill failed for invoice :invoice. :notes', + 'activity_145' => 'EInvoice :invoice for :client was e-delivered. :notes', + 'payment_failed' => 'Payment Failed', + 'ssl_host_override' => 'SSL Host Override', + 'upload_logo_short' => 'Upload Logo', + 'country_Melilla' => 'Melilla', + 'country_Ceuta' => 'Ceuta', + 'country_Canary Islands' => 'Canary Islands', ); return $lang; diff --git a/lang/km_KH/texts.php b/lang/km_KH/texts.php index 2e570008e5fa..a398027ebb2e 100644 --- a/lang/km_KH/texts.php +++ b/lang/km_KH/texts.php @@ -2472,6 +2472,8 @@ $lang = array( 'local_storage_required' => 'កំហុស៖ ទំហំផ្ទុកក្នុងមូលដ្ឋានមិនមានទេ។', 'your_password_reset_link' => 'តំណកំណត់ពាក្យសម្ងាត់របស់អ្នកឡើងវិញ', 'subdomain_taken' => 'ដែនរងត្រូវបានប្រើប្រាស់រួចហើយ', + 'expense_mailbox_taken' => 'The inbound mailbox is already in use', + 'expense_mailbox_invalid' => 'The inbound mailbox does not match the required schema', 'client_login' => 'ការចូលរបស់អតិថិជន', 'converted_amount' => 'បរិមាណបំប្លែង', 'default' => 'លំនាំដើម', @@ -3869,7 +3871,7 @@ $lang = array( 'payment_method_saving_failed' => 'មិន​អាច​រក្សា​ទុក​វិធី​បង់​ប្រាក់​សម្រាប់​ការ​ប្រើ​ប្រាស់​នា​ពេល​អនាគត​បាន​ទេ។', 'pay_with' => 'បង់ជាមួយ', 'n/a' => 'គ្មាន', - 'by_clicking_next_you_accept_terms' => 'ដោយចុច "ជំហានបន្ទាប់" អ្នកទទួលយកលក្ខខណ្ឌ។', + 'by_clicking_next_you_accept_terms' => 'By clicking "Next" you accept terms.', 'not_specified' => 'មិនបានបញ្ជាក់', 'before_proceeding_with_payment_warning' => 'មុននឹងបន្តការទូទាត់ អ្នកត្រូវបំពេញវាលខាងក្រោម', 'after_completing_go_back_to_previous_page' => 'បន្ទាប់ពីបញ្ចប់ សូមត្រលប់ទៅទំព័រមុនវិញ។', @@ -5104,7 +5106,7 @@ $lang = array( 'all_contacts' => 'ទំនាក់ទំនងទាំងអស់។', 'insert_below' => 'បញ្ចូលខាងក្រោម', 'nordigen_handler_subtitle' => 'ការផ្ទៀងផ្ទាត់គណនីធនាគារ។ ការជ្រើសរើសស្ថាប័នរបស់អ្នកដើម្បីបំពេញសំណើជាមួយនឹងលិខិតសម្គាល់គណនីរបស់អ្នក។', - 'nordigen_handler_error_heading_unknown' => 'កំហុសមួយបានកើតឡើង', + 'nordigen_handler_error_heading_unknown' => 'An error has occurred', 'nordigen_handler_error_contents_unknown' => 'កំហុសមិនស្គាល់មួយបានកើតឡើង! ហេតុផល៖', 'nordigen_handler_error_heading_token_invalid' => 'សញ្ញា​សម្ងាត់​មិន​ត្រឹមត្រូវ', 'nordigen_handler_error_contents_token_invalid' => 'សញ្ញាសម្ងាត់ដែលបានផ្តល់គឺមិនត្រឹមត្រូវទេ។ ទាក់ទងផ្នែកជំនួយសម្រាប់ជំនួយ ប្រសិនបើបញ្ហានេះនៅតែបន្តកើតមាន។', @@ -5218,7 +5220,7 @@ $lang = array( 'local_domain_help' => 'EHLO domain (optional)', 'port_help' => 'ie. 25,587,465', 'host_help' => 'ie. smtp.gmail.com', - 'always_show_required_fields' => 'Allows show required fields form', + 'always_show_required_fields' => 'Always show required fields form', 'always_show_required_fields_help' => 'Displays the required fields form always at checkout', 'advanced_cards' => 'Advanced Cards', 'activity_140' => 'Statement sent to :client', @@ -5281,6 +5283,36 @@ $lang = array( 'latest_requires_php_version' => 'Note: the latest version requires PHP :version', 'auto_expand_product_table_notes' => 'Automatically expand products table notes', 'auto_expand_product_table_notes_help' => 'Automatically expands the notes section within the products table to display more lines.', + 'institution_number' => 'Institution Number', + 'transit_number' => 'Transit Number', + 'personal' => 'Personal', + 'address_information' => 'Address Information', + 'enter_the_information_for_the_bank_account' => 'Enter the Information for the Bank Account', + 'account_holder_information' => 'Account Holder Information', + 'enter_information_for_the_account_holder' => 'Enter Information for the Account Holder', + 'customer_type' => 'Customer Type', + 'process_date' => 'Process Date', + 'forever_free' => 'Forever Free', + 'comments_only' => 'Comments Only', + 'payment_balance_on_file' => 'Payment Balance On File', + 'ubl_email_attachment_help' => 'For more e-invoice settings please navigate :here', + 'stop_task_to_add_task_entry' => 'You need to stop the task before adding a new item.', + 'xml_file' => 'XML File', + 'one_page_checkout' => 'One-Page Checkout', + 'one_page_checkout_help' => 'Enable the new single page payment flow', + 'applies_to' => 'Applies To', + 'accept_purchase_order' => 'Accept Purchase Order', + 'round_to_seconds' => 'Round To Seconds', + 'activity_142' => 'Quote :number reminder 1 sent', + 'activity_143' => 'Auto Bill succeeded for invoice :invoice', + 'activity_144' => 'Auto Bill failed for invoice :invoice. :notes', + 'activity_145' => 'EInvoice :invoice for :client was e-delivered. :notes', + 'payment_failed' => 'Payment Failed', + 'ssl_host_override' => 'SSL Host Override', + 'upload_logo_short' => 'Upload Logo', + 'country_Melilla' => 'Melilla', + 'country_Ceuta' => 'Ceuta', + 'country_Canary Islands' => 'Canary Islands', ); return $lang; diff --git a/lang/ro/texts.php b/lang/ro/texts.php index 3b76e0448b82..5f877c1dc6ca 100644 --- a/lang/ro/texts.php +++ b/lang/ro/texts.php @@ -29,7 +29,7 @@ $lang = array( 'due_date' => 'Scadența', 'invoice_number' => 'Număr factură', 'invoice_number_short' => 'Factura #', - 'po_number' => 'Ordin de cumpărare nr', + 'po_number' => 'Ordin de cumpărare nr.', 'po_number_short' => 'Nr. ordin', 'frequency_id' => 'Cât de des', 'discount' => 'Discount', @@ -42,22 +42,22 @@ $lang = array( 'line_total' => 'Total linie', 'subtotal' => 'Subtotal', 'net_subtotal' => 'Net', - 'paid_to_date' => 'Plătit Pâna Acum', - 'balance_due' => 'Total De Plată', + 'paid_to_date' => 'Plătit până acum', + 'balance_due' => 'Total de plată', 'invoice_design_id' => 'Model', 'terms' => 'Termeni', 'your_invoice' => 'Factura dumneavoastră', 'remove_contact' => 'Șterge contact', 'add_contact' => 'Adauga contact', 'create_new_client' => 'Creaza client nou', - 'edit_client_details' => 'Modifica detalii client', + 'edit_client_details' => 'Modifică detalii client', 'enable' => 'Activeaza', - 'learn_more' => 'Afla mai mult', + 'learn_more' => 'Află mai mult', 'manage_rates' => 'Editeaza Rate', 'note_to_client' => 'Mesaj Client', 'invoice_terms' => 'Termeni facturare', 'save_as_default_terms' => 'Salveaza ca predefinit', - 'download_pdf' => 'Descarca PDF', + 'download_pdf' => 'Descarcă PDF', 'pay_now' => 'Plateste acum', 'save_invoice' => 'Salveaza factura', 'clone_invoice' => 'Multiplică in Factură', @@ -2492,6 +2492,8 @@ Odată ce sumele au ajuns la dumneavoastră, reveniți la pagina cu metode de pl 'local_storage_required' => 'Eroare: stocarea locală nu este disponibilă. ', 'your_password_reset_link' => 'Link-ul pentru resetarea parolei', 'subdomain_taken' => 'Subdomeniul este deja folosit', + 'expense_mailbox_taken' => 'The inbound mailbox is already in use', + 'expense_mailbox_invalid' => 'The inbound mailbox does not match the required schema', 'client_login' => 'Autentificare client', 'converted_amount' => 'Sumă convertită', 'default' => 'Implicit', @@ -2695,17 +2697,17 @@ Odată ce sumele au ajuns la dumneavoastră, reveniți la pagina cu metode de pl 'no_assets' => 'Nicio imagine, atașați pentru a încărca', 'add_image' => 'Adăugați o imagine', 'select_image' => 'Selectați imaginea', - 'upgrade_to_upload_images' => 'Upgrade to the Enterprise Plan to upload files & images', + 'upgrade_to_upload_images' => 'Faceți upgrade la planul Enterprise pentru a încărca fișiere și imagini', 'delete_image' => 'Eliminați imaginea', 'delete_image_help' => 'Atenție: eliminând imaginea, o veți îndepărta din toate propunerile.', - 'amount_variable_help' => 'Notă: câmul facturii $amount va utiliza câmul parțial/depozit. Va utiliza soldul facturii, în cazul în care este setat diferit. ', + 'amount_variable_help' => 'Notă: câmpul facturii $amount va utiliza câmpul parțial/depozit. Va utiliza soldul facturii, în cazul în care este setat diferit. ', 'taxes_are_included_help' => 'Notă: Taxele inclusive au fost activate.', 'taxes_are_not_included_help' => 'Notă: Taxele inclusive sunt dezactivate.', 'change_requires_purge' => 'Modificarea setării necesită :link datele contului.', 'purging' => 'curățare', 'warning_local_refund' => 'Rambursarea va fi înregistrată în aplicație, dar NU va fi procesată de calea de acces pentru plăți.', 'email_address_changed' => 'Adresa de email a fost schimbată', - 'email_address_changed_message' => 'Adresa de email a conturlui dumneavoastră a fost schimbată din :old_email în :new_email.', + 'email_address_changed_message' => 'Adresa de email a contului dumneavoastră a fost schimbată din :old_email în :new_email.', 'test' => 'Test', 'beta' => 'Beta', 'email_history' => 'Istoric email', @@ -3890,7 +3892,7 @@ Odată ce sumele au ajuns la dumneavoastră, reveniți la pagina cu metode de pl 'payment_method_saving_failed' => 'Metoda de plată nu poate fi salvată pentru utilizări viitoare.', 'pay_with' => 'Plătiți cu', 'n/a' => 'N/A', - 'by_clicking_next_you_accept_terms' => 'Selectând „Următorul pas”, acceptați termenii.', + 'by_clicking_next_you_accept_terms' => 'By clicking "Next" you accept terms.', 'not_specified' => 'Nespecificat', 'before_proceeding_with_payment_warning' => 'Înainte de a efectua plata, este necesar să completați toate câmpurile', 'after_completing_go_back_to_previous_page' => 'După finalizare, reveniți la pagina anterioară.', @@ -5125,7 +5127,7 @@ Odată ce sumele au ajuns la dumneavoastră, reveniți la pagina cu metode de pl 'all_contacts' => 'Toate contactele', 'insert_below' => 'Inserați mai jos', 'nordigen_handler_subtitle' => 'Autentificarea contului bancar. Selectarea instituției dvs. pentru a finaliza solicitarea cu acreditările contului dvs.', - 'nordigen_handler_error_heading_unknown' => 'A aparut o eroare', + 'nordigen_handler_error_heading_unknown' => 'An error has occurred', 'nordigen_handler_error_contents_unknown' => 'A apărut o eroare necunoscută! Motiv:', 'nordigen_handler_error_heading_token_invalid' => 'Simbol Invalid', 'nordigen_handler_error_contents_token_invalid' => 'Indicatorul furnizat nu era valid. Contactați asistența pentru ajutor, dacă această problemă persistă.', @@ -5239,7 +5241,7 @@ Odată ce sumele au ajuns la dumneavoastră, reveniți la pagina cu metode de pl 'local_domain_help' => 'EHLO domain (optional)', 'port_help' => 'ie. 25,587,465', 'host_help' => 'ie. smtp.gmail.com', - 'always_show_required_fields' => 'Allows show required fields form', + 'always_show_required_fields' => 'Always show required fields form', 'always_show_required_fields_help' => 'Displays the required fields form always at checkout', 'advanced_cards' => 'Advanced Cards', 'activity_140' => 'Statement sent to :client', @@ -5302,6 +5304,36 @@ Odată ce sumele au ajuns la dumneavoastră, reveniți la pagina cu metode de pl 'latest_requires_php_version' => 'Note: the latest version requires PHP :version', 'auto_expand_product_table_notes' => 'Automatically expand products table notes', 'auto_expand_product_table_notes_help' => 'Automatically expands the notes section within the products table to display more lines.', + 'institution_number' => 'Institution Number', + 'transit_number' => 'Transit Number', + 'personal' => 'Personal', + 'address_information' => 'Address Information', + 'enter_the_information_for_the_bank_account' => 'Enter the Information for the Bank Account', + 'account_holder_information' => 'Account Holder Information', + 'enter_information_for_the_account_holder' => 'Enter Information for the Account Holder', + 'customer_type' => 'Customer Type', + 'process_date' => 'Process Date', + 'forever_free' => 'Forever Free', + 'comments_only' => 'Comments Only', + 'payment_balance_on_file' => 'Payment Balance On File', + 'ubl_email_attachment_help' => 'For more e-invoice settings please navigate :here', + 'stop_task_to_add_task_entry' => 'You need to stop the task before adding a new item.', + 'xml_file' => 'XML File', + 'one_page_checkout' => 'One-Page Checkout', + 'one_page_checkout_help' => 'Enable the new single page payment flow', + 'applies_to' => 'Applies To', + 'accept_purchase_order' => 'Accept Purchase Order', + 'round_to_seconds' => 'Round To Seconds', + 'activity_142' => 'Quote :number reminder 1 sent', + 'activity_143' => 'Auto Bill succeeded for invoice :invoice', + 'activity_144' => 'Auto Bill failed for invoice :invoice. :notes', + 'activity_145' => 'EInvoice :invoice for :client was e-delivered. :notes', + 'payment_failed' => 'Payment Failed', + 'ssl_host_override' => 'SSL Host Override', + 'upload_logo_short' => 'Upload Logo', + 'country_Melilla' => 'Melilla', + 'country_Ceuta' => 'Ceuta', + 'country_Canary Islands' => 'Canary Islands', ); return $lang; diff --git a/lang/sk/texts.php b/lang/sk/texts.php index 359311444d04..6cd70ff87339 100644 --- a/lang/sk/texts.php +++ b/lang/sk/texts.php @@ -2479,6 +2479,8 @@ $lang = array( 'local_storage_required' => 'Chyba: lokálne úložisko nieje dostupné.', 'your_password_reset_link' => 'Odkaz na obnovu vášho hesla', 'subdomain_taken' => 'Subdoména je už používaná', + 'expense_mailbox_taken' => 'The inbound mailbox is already in use', + 'expense_mailbox_invalid' => 'The inbound mailbox does not match the required schema', 'client_login' => 'Prihlásenie klienta', 'converted_amount' => 'Konvertovaná suma', 'default' => 'Základné', @@ -3876,7 +3878,7 @@ $lang = array( 'payment_method_saving_failed' => 'Spôsob platby nie je možné uložiť na budúce použitie.', 'pay_with' => 'Úhrada prostredníctvom', 'n/a' => 'N/A', - 'by_clicking_next_you_accept_terms' => 'Zakliknutím "ďalsí krok" akceptujete podmienky', + 'by_clicking_next_you_accept_terms' => 'By clicking "Next" you accept terms.', 'not_specified' => 'Nešpecifikované', 'before_proceeding_with_payment_warning' => 'Pred pokračovaním v platbe musíte vyplniť nasledujúce polia', 'after_completing_go_back_to_previous_page' => 'Po dokončení sa vráťte na predchádzajúcu stránku.', @@ -5111,7 +5113,7 @@ $lang = array( 'all_contacts' => 'Všetky kontakty', 'insert_below' => 'Vložiť nižšie', 'nordigen_handler_subtitle' => 'Overenie bankového účtu. Výberom vašej inštitúcie na dokončenie žiadosti pomocou poverení účtu.', - 'nordigen_handler_error_heading_unknown' => 'Objavila sa chyba', + 'nordigen_handler_error_heading_unknown' => 'An error has occurred', 'nordigen_handler_error_contents_unknown' => 'Vyskytla sa neznáma chyba! Dôvod:', 'nordigen_handler_error_heading_token_invalid' => 'Neplatný Token', 'nordigen_handler_error_contents_token_invalid' => 'Poskytnutý token bol neplatný. Ak tento problém pretrváva, požiadajte o pomoc podporu.', @@ -5225,7 +5227,7 @@ $lang = array( 'local_domain_help' => 'EHLO domain (optional)', 'port_help' => 'ie. 25,587,465', 'host_help' => 'ie. smtp.gmail.com', - 'always_show_required_fields' => 'Allows show required fields form', + 'always_show_required_fields' => 'Always show required fields form', 'always_show_required_fields_help' => 'Displays the required fields form always at checkout', 'advanced_cards' => 'Advanced Cards', 'activity_140' => 'Statement sent to :client', @@ -5288,6 +5290,36 @@ $lang = array( 'latest_requires_php_version' => 'Note: the latest version requires PHP :version', 'auto_expand_product_table_notes' => 'Automatically expand products table notes', 'auto_expand_product_table_notes_help' => 'Automatically expands the notes section within the products table to display more lines.', + 'institution_number' => 'Institution Number', + 'transit_number' => 'Transit Number', + 'personal' => 'Personal', + 'address_information' => 'Address Information', + 'enter_the_information_for_the_bank_account' => 'Enter the Information for the Bank Account', + 'account_holder_information' => 'Account Holder Information', + 'enter_information_for_the_account_holder' => 'Enter Information for the Account Holder', + 'customer_type' => 'Customer Type', + 'process_date' => 'Process Date', + 'forever_free' => 'Forever Free', + 'comments_only' => 'Comments Only', + 'payment_balance_on_file' => 'Payment Balance On File', + 'ubl_email_attachment_help' => 'For more e-invoice settings please navigate :here', + 'stop_task_to_add_task_entry' => 'You need to stop the task before adding a new item.', + 'xml_file' => 'XML File', + 'one_page_checkout' => 'One-Page Checkout', + 'one_page_checkout_help' => 'Enable the new single page payment flow', + 'applies_to' => 'Applies To', + 'accept_purchase_order' => 'Accept Purchase Order', + 'round_to_seconds' => 'Round To Seconds', + 'activity_142' => 'Quote :number reminder 1 sent', + 'activity_143' => 'Auto Bill succeeded for invoice :invoice', + 'activity_144' => 'Auto Bill failed for invoice :invoice. :notes', + 'activity_145' => 'EInvoice :invoice for :client was e-delivered. :notes', + 'payment_failed' => 'Payment Failed', + 'ssl_host_override' => 'SSL Host Override', + 'upload_logo_short' => 'Upload Logo', + 'country_Melilla' => 'Melilla', + 'country_Ceuta' => 'Ceuta', + 'country_Canary Islands' => 'Canary Islands', ); return $lang; diff --git a/lang/sr/texts.php b/lang/sr/texts.php index cfbf5e8a9b12..9bb31c9edca8 100644 --- a/lang/sr/texts.php +++ b/lang/sr/texts.php @@ -2492,6 +2492,8 @@ Kada budete imali iznose, vratite se na ovu stranicu sa načinima plaćanja i k 'local_storage_required' => 'Greška: lokalni prostor za skladištenje nije dostupan', 'your_password_reset_link' => 'Link za resetovanje Vaše lozinke', 'subdomain_taken' => 'Poddomen se već koristi', + 'expense_mailbox_taken' => 'The inbound mailbox is already in use', + 'expense_mailbox_invalid' => 'The inbound mailbox does not match the required schema', 'client_login' => 'Prijava klijenta', 'converted_amount' => 'Konvertovani iznos', 'default' => 'Podrazumevano', @@ -3889,7 +3891,7 @@ Kada budete imali iznose, vratite se na ovu stranicu sa načinima plaćanja i k 'payment_method_saving_failed' => 'Način plaćanja ne može da se sačuva za buduću upotrebu.', 'pay_with' => 'Plati sa', 'n/a' => 'N/A', - 'by_clicking_next_you_accept_terms' => 'Klikom na „Sledeći korak“ prihvatate uslove.', + 'by_clicking_next_you_accept_terms' => 'By clicking "Next" you accept terms.', 'not_specified' => 'Nije precizirano', 'before_proceeding_with_payment_warning' => 'Pre nego što nastavite sa plaćanjem, morate da popunite sledeća polja', 'after_completing_go_back_to_previous_page' => 'Nakon što završite, vratite se na prethodnu stranicu.', @@ -5124,7 +5126,7 @@ Kada budete imali iznose, vratite se na ovu stranicu sa načinima plaćanja i k 'all_contacts' => 'All Contacts', 'insert_below' => 'Insert Below', 'nordigen_handler_subtitle' => 'Bank account authentication. Selecting your institution to complete the request with your account credentials.', - 'nordigen_handler_error_heading_unknown' => 'An error has occured', + 'nordigen_handler_error_heading_unknown' => 'An error has occurred', 'nordigen_handler_error_contents_unknown' => 'An unknown error has occurred! Reason:', 'nordigen_handler_error_heading_token_invalid' => 'Invalid Token', 'nordigen_handler_error_contents_token_invalid' => 'The provided token was invalid. Contact support for help, if this issue persists.', @@ -5238,7 +5240,7 @@ Kada budete imali iznose, vratite se na ovu stranicu sa načinima plaćanja i k 'local_domain_help' => 'EHLO domain (optional)', 'port_help' => 'ie. 25,587,465', 'host_help' => 'ie. smtp.gmail.com', - 'always_show_required_fields' => 'Allows show required fields form', + 'always_show_required_fields' => 'Always show required fields form', 'always_show_required_fields_help' => 'Displays the required fields form always at checkout', 'advanced_cards' => 'Advanced Cards', 'activity_140' => 'Statement sent to :client', @@ -5301,6 +5303,36 @@ Kada budete imali iznose, vratite se na ovu stranicu sa načinima plaćanja i k 'latest_requires_php_version' => 'Note: the latest version requires PHP :version', 'auto_expand_product_table_notes' => 'Automatically expand products table notes', 'auto_expand_product_table_notes_help' => 'Automatically expands the notes section within the products table to display more lines.', + 'institution_number' => 'Institution Number', + 'transit_number' => 'Transit Number', + 'personal' => 'Personal', + 'address_information' => 'Address Information', + 'enter_the_information_for_the_bank_account' => 'Enter the Information for the Bank Account', + 'account_holder_information' => 'Account Holder Information', + 'enter_information_for_the_account_holder' => 'Enter Information for the Account Holder', + 'customer_type' => 'Customer Type', + 'process_date' => 'Process Date', + 'forever_free' => 'Forever Free', + 'comments_only' => 'Comments Only', + 'payment_balance_on_file' => 'Payment Balance On File', + 'ubl_email_attachment_help' => 'For more e-invoice settings please navigate :here', + 'stop_task_to_add_task_entry' => 'You need to stop the task before adding a new item.', + 'xml_file' => 'XML File', + 'one_page_checkout' => 'One-Page Checkout', + 'one_page_checkout_help' => 'Enable the new single page payment flow', + 'applies_to' => 'Applies To', + 'accept_purchase_order' => 'Accept Purchase Order', + 'round_to_seconds' => 'Round To Seconds', + 'activity_142' => 'Quote :number reminder 1 sent', + 'activity_143' => 'Auto Bill succeeded for invoice :invoice', + 'activity_144' => 'Auto Bill failed for invoice :invoice. :notes', + 'activity_145' => 'EInvoice :invoice for :client was e-delivered. :notes', + 'payment_failed' => 'Payment Failed', + 'ssl_host_override' => 'SSL Host Override', + 'upload_logo_short' => 'Upload Logo', + 'country_Melilla' => 'Melilla', + 'country_Ceuta' => 'Ceuta', + 'country_Canary Islands' => 'Canary Islands', ); return $lang; diff --git a/lang/sv/texts.php b/lang/sv/texts.php index d18e72d13749..08afb5f59f00 100644 --- a/lang/sv/texts.php +++ b/lang/sv/texts.php @@ -2500,6 +2500,8 @@ Den här funktionen kräver att en produkt skapas och en betalningsgateway är k 'local_storage_required' => 'Fel: lokal lagring är inte tillgänglig.', 'your_password_reset_link' => 'Din lösenordsåterställnings länk', 'subdomain_taken' => 'Subdomänen är upptagen', + 'expense_mailbox_taken' => 'The inbound mailbox is already in use', + 'expense_mailbox_invalid' => 'The inbound mailbox does not match the required schema', 'client_login' => 'Kund inlogg', 'converted_amount' => 'Konverterad summa', 'default' => 'Standard', @@ -3897,7 +3899,7 @@ Den här funktionen kräver att en produkt skapas och en betalningsgateway är k 'payment_method_saving_failed' => 'Betalningsmetod kan inte sparas för framtida bruk.', 'pay_with' => 'Betala med', 'n/a' => 'N/A', - 'by_clicking_next_you_accept_terms' => 'Genom att klicka på "Nästa steg" godkänner du villkoren.', + 'by_clicking_next_you_accept_terms' => 'By clicking "Next" you accept terms.', 'not_specified' => 'Inte specificerad', 'before_proceeding_with_payment_warning' => 'Innan du fortsätter med betalningen måste du fylla i följande fält', 'after_completing_go_back_to_previous_page' => 'Efter slutförd, gå tillbaka till föregående sida.', @@ -5132,7 +5134,7 @@ Den här funktionen kräver att en produkt skapas och en betalningsgateway är k 'all_contacts' => 'Alla kontakter', 'insert_below' => 'Infoga nedan', 'nordigen_handler_subtitle' => 'Autentisering av bankkonto. Välj din institution för att slutföra begäran med dina kontouppgifter.', - 'nordigen_handler_error_heading_unknown' => 'Ett fel har uppstått', + 'nordigen_handler_error_heading_unknown' => 'An error has occurred', 'nordigen_handler_error_contents_unknown' => 'Ett okänt fel har uppstått! Anledning:', 'nordigen_handler_error_heading_token_invalid' => 'Ogiltig token', 'nordigen_handler_error_contents_token_invalid' => 'Den angivna token var ogiltig. Kontakta supporten för hjälp om problemet kvarstår.', @@ -5246,7 +5248,7 @@ Den här funktionen kräver att en produkt skapas och en betalningsgateway är k 'local_domain_help' => 'EHLO domain (optional)', 'port_help' => 'ie. 25,587,465', 'host_help' => 'ie. smtp.gmail.com', - 'always_show_required_fields' => 'Allows show required fields form', + 'always_show_required_fields' => 'Always show required fields form', 'always_show_required_fields_help' => 'Displays the required fields form always at checkout', 'advanced_cards' => 'Advanced Cards', 'activity_140' => 'Statement sent to :client', @@ -5309,6 +5311,36 @@ Den här funktionen kräver att en produkt skapas och en betalningsgateway är k 'latest_requires_php_version' => 'Note: the latest version requires PHP :version', 'auto_expand_product_table_notes' => 'Automatically expand products table notes', 'auto_expand_product_table_notes_help' => 'Automatically expands the notes section within the products table to display more lines.', + 'institution_number' => 'Institution Number', + 'transit_number' => 'Transit Number', + 'personal' => 'Personal', + 'address_information' => 'Address Information', + 'enter_the_information_for_the_bank_account' => 'Enter the Information for the Bank Account', + 'account_holder_information' => 'Account Holder Information', + 'enter_information_for_the_account_holder' => 'Enter Information for the Account Holder', + 'customer_type' => 'Customer Type', + 'process_date' => 'Process Date', + 'forever_free' => 'Forever Free', + 'comments_only' => 'Comments Only', + 'payment_balance_on_file' => 'Payment Balance On File', + 'ubl_email_attachment_help' => 'For more e-invoice settings please navigate :here', + 'stop_task_to_add_task_entry' => 'You need to stop the task before adding a new item.', + 'xml_file' => 'XML File', + 'one_page_checkout' => 'One-Page Checkout', + 'one_page_checkout_help' => 'Enable the new single page payment flow', + 'applies_to' => 'Applies To', + 'accept_purchase_order' => 'Accept Purchase Order', + 'round_to_seconds' => 'Round To Seconds', + 'activity_142' => 'Quote :number reminder 1 sent', + 'activity_143' => 'Auto Bill succeeded for invoice :invoice', + 'activity_144' => 'Auto Bill failed for invoice :invoice. :notes', + 'activity_145' => 'EInvoice :invoice for :client was e-delivered. :notes', + 'payment_failed' => 'Payment Failed', + 'ssl_host_override' => 'SSL Host Override', + 'upload_logo_short' => 'Upload Logo', + 'country_Melilla' => 'Melilla', + 'country_Ceuta' => 'Ceuta', + 'country_Canary Islands' => 'Canary Islands', ); return $lang; diff --git a/lang/zh_TW/texts.php b/lang/zh_TW/texts.php index 1e8aedae08de..4ec685d20373 100644 --- a/lang/zh_TW/texts.php +++ b/lang/zh_TW/texts.php @@ -2492,6 +2492,8 @@ $lang = array( 'local_storage_required' => '錯誤: 沒有本地端的資料儲存。', 'your_password_reset_link' => '您的重設密碼連結', 'subdomain_taken' => '這個子網域已使用', + 'expense_mailbox_taken' => 'The inbound mailbox is already in use', + 'expense_mailbox_invalid' => 'The inbound mailbox does not match the required schema', 'client_login' => '用戶登入', 'converted_amount' => '轉換的金額', 'default' => '預設', @@ -3889,7 +3891,7 @@ $lang = array( 'payment_method_saving_failed' => '付款方式無法保存以供將來使用。', 'pay_with' => '使用。。。支付', 'n/a' => '不適用', - 'by_clicking_next_you_accept_terms' => '按一下「下一步」即表示您接受條款。', + 'by_clicking_next_you_accept_terms' => 'By clicking "Next" you accept terms.', 'not_specified' => '未指定', 'before_proceeding_with_payment_warning' => '在繼續付款之前,您必須填寫以下字段', 'after_completing_go_back_to_previous_page' => '完成後,返回上一頁。', @@ -5124,7 +5126,7 @@ $lang = array( 'all_contacts' => '所有聯絡人', 'insert_below' => '在下面插入', 'nordigen_handler_subtitle' => '銀行帳戶認證。選擇您的機構以使用您的帳戶憑證完成請求。', - 'nordigen_handler_error_heading_unknown' => '發生錯誤', + 'nordigen_handler_error_heading_unknown' => 'An error has occurred', 'nordigen_handler_error_contents_unknown' => '出現未知錯誤!原因:', 'nordigen_handler_error_heading_token_invalid' => '令牌無效', 'nordigen_handler_error_contents_token_invalid' => '提供的令牌無效。如果此問題仍然存在,請聯絡支援人員尋求協助。', @@ -5238,7 +5240,7 @@ $lang = array( 'local_domain_help' => 'EHLO domain (optional)', 'port_help' => 'ie. 25,587,465', 'host_help' => 'ie. smtp.gmail.com', - 'always_show_required_fields' => 'Allows show required fields form', + 'always_show_required_fields' => 'Always show required fields form', 'always_show_required_fields_help' => 'Displays the required fields form always at checkout', 'advanced_cards' => 'Advanced Cards', 'activity_140' => 'Statement sent to :client', @@ -5301,6 +5303,36 @@ $lang = array( 'latest_requires_php_version' => 'Note: the latest version requires PHP :version', 'auto_expand_product_table_notes' => 'Automatically expand products table notes', 'auto_expand_product_table_notes_help' => 'Automatically expands the notes section within the products table to display more lines.', + 'institution_number' => 'Institution Number', + 'transit_number' => 'Transit Number', + 'personal' => 'Personal', + 'address_information' => 'Address Information', + 'enter_the_information_for_the_bank_account' => 'Enter the Information for the Bank Account', + 'account_holder_information' => 'Account Holder Information', + 'enter_information_for_the_account_holder' => 'Enter Information for the Account Holder', + 'customer_type' => 'Customer Type', + 'process_date' => 'Process Date', + 'forever_free' => 'Forever Free', + 'comments_only' => 'Comments Only', + 'payment_balance_on_file' => 'Payment Balance On File', + 'ubl_email_attachment_help' => 'For more e-invoice settings please navigate :here', + 'stop_task_to_add_task_entry' => 'You need to stop the task before adding a new item.', + 'xml_file' => 'XML File', + 'one_page_checkout' => 'One-Page Checkout', + 'one_page_checkout_help' => 'Enable the new single page payment flow', + 'applies_to' => 'Applies To', + 'accept_purchase_order' => 'Accept Purchase Order', + 'round_to_seconds' => 'Round To Seconds', + 'activity_142' => 'Quote :number reminder 1 sent', + 'activity_143' => 'Auto Bill succeeded for invoice :invoice', + 'activity_144' => 'Auto Bill failed for invoice :invoice. :notes', + 'activity_145' => 'EInvoice :invoice for :client was e-delivered. :notes', + 'payment_failed' => 'Payment Failed', + 'ssl_host_override' => 'SSL Host Override', + 'upload_logo_short' => 'Upload Logo', + 'country_Melilla' => 'Melilla', + 'country_Ceuta' => 'Ceuta', + 'country_Canary Islands' => 'Canary Islands', ); return $lang; From 4daa321ecfd20854f4e9279172270ea2ff68ada5 Mon Sep 17 00:00:00 2001 From: David Bomba Date: Thu, 19 Sep 2024 11:05:31 +1000 Subject: [PATCH 03/10] Fixes for converting expired quotes --- app/Http/Controllers/QuoteController.php | 2 +- app/Http/Requests/Quote/BulkActionQuoteRequest.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/Http/Controllers/QuoteController.php b/app/Http/Controllers/QuoteController.php index c96733d073e0..21db57e187e5 100644 --- a/app/Http/Controllers/QuoteController.php +++ b/app/Http/Controllers/QuoteController.php @@ -517,7 +517,7 @@ class QuoteController extends BaseController { /** @var \App\Models\User $user */ $user = auth()->user(); - +nlog("booop"); $action = $request->input('action'); $ids = $request->input('ids'); diff --git a/app/Http/Requests/Quote/BulkActionQuoteRequest.php b/app/Http/Requests/Quote/BulkActionQuoteRequest.php index 09ca6a552890..900e5430888e 100644 --- a/app/Http/Requests/Quote/BulkActionQuoteRequest.php +++ b/app/Http/Requests/Quote/BulkActionQuoteRequest.php @@ -38,7 +38,7 @@ class BulkActionQuoteRequest extends Request 'send_email' => 'sometimes|bool' ]; - if (in_array($input['action'], ['convert,convert_to_invoice'])) { + if (in_array($input['action'], ['convert','convert_to_invoice'])) { $rules['action'] = [new ConvertableQuoteRule()]; } From 57317630714d9eb04357002032054e22b3b6c826 Mon Sep 17 00:00:00 2001 From: David Bomba Date: Thu, 19 Sep 2024 13:38:03 +1000 Subject: [PATCH 04/10] Fixes for previews --- app/Http/Controllers/PreviewController.php | 2 ++ app/Jobs/Mailgun/ProcessMailgunWebhook.php | 2 +- app/Services/Pdf/PdfMock.php | 6 +++--- app/Services/Template/TemplateService.php | 2 +- 4 files changed, 7 insertions(+), 5 deletions(-) diff --git a/app/Http/Controllers/PreviewController.php b/app/Http/Controllers/PreviewController.php index 517f36ce47ce..3ddc283fbca7 100644 --- a/app/Http/Controllers/PreviewController.php +++ b/app/Http/Controllers/PreviewController.php @@ -293,9 +293,11 @@ class PreviewController extends BaseController $ts = (new TemplateService()); try { + $ts->setCompany($company) ->setTemplate($design_object) ->mock(); + } catch(SyntaxError $e) { } catch(\Exception $e) { return response()->json(['message' => 'invalid data access', 'errors' => ['design.design.body' => $e->getMessage()]], 422); diff --git a/app/Jobs/Mailgun/ProcessMailgunWebhook.php b/app/Jobs/Mailgun/ProcessMailgunWebhook.php index b0f1ed65aaac..0f0161209174 100644 --- a/app/Jobs/Mailgun/ProcessMailgunWebhook.php +++ b/app/Jobs/Mailgun/ProcessMailgunWebhook.php @@ -362,7 +362,7 @@ class ProcessMailgunWebhook implements ShouldQueue $bounce = new EmailBounce( $this->request['event-data']['tags'][0], - $this->request['event-data']['envelope']['sender'], + $this->request['event-data']['envelope']['sender'] ?? $this->request['event-data']['envelope']['from'], $this->message_id ); diff --git a/app/Services/Pdf/PdfMock.php b/app/Services/Pdf/PdfMock.php index 5ef5350e9da2..91e3a82dfaa3 100644 --- a/app/Services/Pdf/PdfMock.php +++ b/app/Services/Pdf/PdfMock.php @@ -66,7 +66,7 @@ class PdfMock $pdf_config->setPdfVariables(); $pdf_config->setCurrency(Currency::find($this->settings->currency_id)); $pdf_config->setCountry(Country::find($this->settings->country_id ?: 840)); - $pdf_config->currency_entity = $this->mock->client; + $pdf_config->currency_entity = $this->mock->client ?? $this->mock->vendor; if(isset($this->request['design_id']) && $design = Design::withTrashed()->find($this->request['design_id'])) { $pdf_config->design = $design; @@ -171,11 +171,11 @@ class PdfMock { $settings = $this->company->settings; - match ($this->request['settings_type']) { + match ($this->request['settings_type'] ?? '') { 'group' => $settings = ClientSettings::buildClientSettings($this->company->settings, $this->request['settings']), 'client' => $settings = ClientSettings::buildClientSettings($this->company->settings, $this->request['settings']), 'company' => $settings = (object)$this->request['settings'], - default => $settings = (object)$this->request['settings'], + default => $settings = (object)$this->company->settings, }; $settings = CompanySettings::setProperties($settings); diff --git a/app/Services/Template/TemplateService.php b/app/Services/Template/TemplateService.php index 4810c42dfa91..1a890ec6e2b4 100644 --- a/app/Services/Template/TemplateService.php +++ b/app/Services/Template/TemplateService.php @@ -218,7 +218,7 @@ class TemplateService $tm = new TemplateMock($this->company); $tm->setSettings($this->getSettings())->init(); - $this->entity = $this->company->invoices()->first() ?? $this->company->quotes()->first(); + $this->entity = $this->company->invoices()->first() ?? $this->company->quotes()->first() ?? (new \App\Services\Pdf\PdfMock(['entity_type' => 'invoice'], $this->company))->initEntity(); $this->data = $tm->engines; From 9977f2c47e1b86e0e70ac4db4ac4adf18d463106 Mon Sep 17 00:00:00 2001 From: David Bomba Date: Thu, 19 Sep 2024 13:48:02 +1000 Subject: [PATCH 05/10] Minor fixes --- app/Jobs/Entity/CreateRawPdf.php | 1 - app/Services/Template/TemplateService.php | 7 +++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/app/Jobs/Entity/CreateRawPdf.php b/app/Jobs/Entity/CreateRawPdf.php index c5c777ae4101..df14cbba1fff 100644 --- a/app/Jobs/Entity/CreateRawPdf.php +++ b/app/Jobs/Entity/CreateRawPdf.php @@ -102,7 +102,6 @@ class CreateRawPdf */ public function handle() { - /** Testing this override to improve PDF generation performance */ $ps = new PdfService($this->invitation, $this->resolveType(), [ 'client' => $this->entity->client ?? false, 'vendor' => $this->entity->vendor ?? false, diff --git a/app/Services/Template/TemplateService.php b/app/Services/Template/TemplateService.php index 1a890ec6e2b4..4703ffc8b77b 100644 --- a/app/Services/Template/TemplateService.php +++ b/app/Services/Template/TemplateService.php @@ -343,6 +343,13 @@ class TemplateService } + public function setEntity($entity): self + { + $this->entity = $entity; + + return $this; + } + /** * Parses all variables in the document * From eebf72d042259d646888acea54ff3147da8a97b7 Mon Sep 17 00:00:00 2001 From: David Bomba Date: Thu, 19 Sep 2024 14:47:51 +1000 Subject: [PATCH 06/10] Handle purchase order previews from designer --- app/Http/Controllers/PreviewController.php | 3 +++ app/Http/Controllers/PreviewPurchaseOrderController.php | 3 ++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/app/Http/Controllers/PreviewController.php b/app/Http/Controllers/PreviewController.php index 3ddc283fbca7..c144e0593724 100644 --- a/app/Http/Controllers/PreviewController.php +++ b/app/Http/Controllers/PreviewController.php @@ -148,6 +148,9 @@ class PreviewController extends BaseController ! empty(request()->input('entity')) && ! empty(request()->input('entity_id'))) { + if($request->input('entity') == 'purchase_order') + return $preview = app(\App\Http\Controllers\PreviewPurchaseOrderController::class)->show($request); + $design_object = json_decode(json_encode(request()->input('design'))); if (! is_object($design_object)) { diff --git a/app/Http/Controllers/PreviewPurchaseOrderController.php b/app/Http/Controllers/PreviewPurchaseOrderController.php index ef1ef40d7f66..050b6c48b378 100644 --- a/app/Http/Controllers/PreviewPurchaseOrderController.php +++ b/app/Http/Controllers/PreviewPurchaseOrderController.php @@ -36,6 +36,7 @@ use App\Utils\Traits\Pdf\PageNumbering; use App\Utils\VendorHtmlEngine; use Illuminate\Support\Facades\App; use Illuminate\Support\Facades\DB; +use Illuminate\Support\Facades\Request; use Illuminate\Support\Facades\Response; use Turbo124\Beacon\Facades\LightLogs; @@ -83,7 +84,7 @@ class PreviewPurchaseOrderController extends BaseController * ), * ) */ - public function show() + public function show($request) { if (request()->has('entity') && request()->has('entity_id') && From 23ad59967e0da72df62d4fdb934d1af3b6c450d3 Mon Sep 17 00:00:00 2001 From: David Bomba Date: Thu, 19 Sep 2024 15:00:58 +1000 Subject: [PATCH 07/10] minor fixes --- app/Services/Template/TemplateService.php | 1 + 1 file changed, 1 insertion(+) diff --git a/app/Services/Template/TemplateService.php b/app/Services/Template/TemplateService.php index 4703ffc8b77b..834414be1bb5 100644 --- a/app/Services/Template/TemplateService.php +++ b/app/Services/Template/TemplateService.php @@ -368,6 +368,7 @@ class TemplateService } @$this->document->loadHTML(mb_convert_encoding($html, 'HTML-ENTITIES', 'UTF-8')); + $this->save(); return $this; From 1fd186e1ecc372e3593705b7e2cd94fa3079605f Mon Sep 17 00:00:00 2001 From: David Bomba Date: Thu, 19 Sep 2024 16:39:53 +1000 Subject: [PATCH 08/10] Fixes for quickbooks sync --- app/Factory/CreditFactory.php | 2 +- .../Quickbooks/Jobs/QuickbooksSync.php | 8 ++- app/Services/Quickbooks/QuickbooksService.php | 11 ++-- .../Transformers/InvoiceTransformer.php | 10 ++-- .../Transformers/PaymentTransformer.php | 60 ++++++++++++++++++- 5 files changed, 75 insertions(+), 16 deletions(-) diff --git a/app/Factory/CreditFactory.php b/app/Factory/CreditFactory.php index 3d0003b86fb2..840512dce5fe 100644 --- a/app/Factory/CreditFactory.php +++ b/app/Factory/CreditFactory.php @@ -16,7 +16,7 @@ use App\Models\Credit; class CreditFactory { - public static function create(int $company_id, int $user_id, object $settings = null, Client $client = null): Credit + public static function create(int $company_id, int $user_id): Credit { $credit = new Credit(); $credit->status_id = Credit::STATUS_DRAFT; diff --git a/app/Services/Quickbooks/Jobs/QuickbooksSync.php b/app/Services/Quickbooks/Jobs/QuickbooksSync.php index 0b82e5a3578a..fa94f152ca3c 100644 --- a/app/Services/Quickbooks/Jobs/QuickbooksSync.php +++ b/app/Services/Quickbooks/Jobs/QuickbooksSync.php @@ -119,8 +119,12 @@ class QuickbooksSync implements ShouldQueue foreach($records as $record) { + nlog($record); + $ninja_invoice_data = $invoice_transformer->qbToNinja($record); + nlog($ninja_invoice_data); + $payment_ids = $ninja_invoice_data['payment_ids'] ?? []; $client_id = $ninja_invoice_data['client_id'] ?? null; @@ -140,6 +144,7 @@ class QuickbooksSync implements ShouldQueue { $payment = $this->qbs->sdk->FindById('Payment', $payment_id); + $payment_transformer = new PaymentTransformer($this->company); $transformed = $payment_transformer->qbToNinja($payment); @@ -151,7 +156,8 @@ class QuickbooksSync implements ShouldQueue $paymentable->payment_id = $ninja_payment->id; $paymentable->paymentable_id = $invoice->id; $paymentable->paymentable_type = 'invoices'; - $paymentable->amount = $transformed['applied']; + $paymentable->amount = $transformed['applied'] + $ninja_payment->credits->sum('amount'); + $paymentable->created_at = $ninja_payment->date; $paymentable->save(); $invoice->service()->applyPayment($ninja_payment, $transformed['applied']); diff --git a/app/Services/Quickbooks/QuickbooksService.php b/app/Services/Quickbooks/QuickbooksService.php index 38d5bceae909..9d5b45fdd18f 100644 --- a/app/Services/Quickbooks/QuickbooksService.php +++ b/app/Services/Quickbooks/QuickbooksService.php @@ -27,9 +27,6 @@ use App\Services\Quickbooks\Transformers\InvoiceTransformer; use App\Services\Quickbooks\Transformers\PaymentTransformer; use App\Services\Quickbooks\Transformers\ProductTransformer; -// quickbooks_realm_id -// quickbooks_refresh_token -// quickbooks_refresh_expires class QuickbooksService { public DataService $sdk; @@ -50,7 +47,7 @@ class QuickbooksService 'auth_mode' => 'oauth2', 'scope' => "com.intuit.quickbooks.accounting", // 'RedirectURI' => 'https://developer.intuit.com/v2/OAuth2Playground/RedirectUrl', - 'RedirectURI' => $this->testMode ? 'https://above-distinctly-teal.ngrok-free.app/quickbooks/authorized' : 'https://invoicing.co/quickbooks/authorized', + 'RedirectURI' => $this->testMode ? 'https://grok.romulus.com.au/quickbooks/authorized' : 'https://invoicing.co/quickbooks/authorized', 'baseUrl' => $this->testMode ? CoreConstants::SANDBOX_DEVELOPMENT : CoreConstants::QBO_BASEURL, ]; @@ -67,7 +64,7 @@ class QuickbooksService return $this; } - private function ninjaAccessToken() + private function ninjaAccessToken(): array { return isset($this->company->quickbooks->accessTokenKey) ? [ 'accessTokenKey' => $this->company->quickbooks->accessTokenKey, @@ -82,11 +79,11 @@ class QuickbooksService } /** - * //@todo - refactor to a job + * * * @return void */ - public function syncFromQb() + public function syncFromQb(): void { QuickbooksSync::dispatch($this->company->id, $this->company->db); } diff --git a/app/Services/Quickbooks/Transformers/InvoiceTransformer.php b/app/Services/Quickbooks/Transformers/InvoiceTransformer.php index 4e5273a55c8b..0ab93d0a7c1f 100644 --- a/app/Services/Quickbooks/Transformers/InvoiceTransformer.php +++ b/app/Services/Quickbooks/Transformers/InvoiceTransformer.php @@ -62,8 +62,6 @@ class InvoiceTransformer extends BaseTransformer $qb_payments = data_get($qb_data, 'LinkedTxn', false); - nlog($qb_payments); - if(!$qb_payments) { return []; } @@ -82,6 +80,8 @@ class InvoiceTransformer extends BaseTransformer } } + nlog($payments); + return $payments; } @@ -99,9 +99,11 @@ class InvoiceTransformer extends BaseTransformer $item->cost = data_get($qb_item, 'SalesItemLineDetail.UnitPrice', 0); $item->discount = data_get($item,'DiscountRate', data_get($qb_item,'DiscountAmount', 0)); $item->is_amount_discount = data_get($qb_item,'DiscountAmount', 0) > 0 ? true : false; - $item->type_id = stripos(data_get($qb_item, 'ItemAccountRef.name'), 'Service') !== false ? '2' : '1'; + $item->type_id = stripos(data_get($qb_item, 'ItemAccountRef.name') ?? '', 'Service') !== false ? '2' : '1'; $item->tax_id = data_get($qb_item, 'TaxCodeRef.value', '') == 'NON' ? Product::PRODUCT_TYPE_EXEMPT : $item->type_id; - $item->tax_rate1 = data_get($qb_item,'TaxLineDetail.TaxRateRef.TaxPercent', 0); + $item->tax_rate1 = data_get($qb_item, 'TxnTaxDetail.TaxLine.TaxLineDetail.TaxPercent', 0); + +// $item->tax_rate1 = data_get($qb_item, 'TaxLineDetail.TaxRateRef.TaxPercent', 0); $item->tax_name1 = $item->tax_rate1 > 0 ? "Sales Tax" : ""; $items[] = (object)$item; } diff --git a/app/Services/Quickbooks/Transformers/PaymentTransformer.php b/app/Services/Quickbooks/Transformers/PaymentTransformer.php index 9b1d0a6691ec..e5eb7f38ae28 100644 --- a/app/Services/Quickbooks/Transformers/PaymentTransformer.php +++ b/app/Services/Quickbooks/Transformers/PaymentTransformer.php @@ -14,6 +14,7 @@ namespace App\Services\Quickbooks\Transformers; use App\Models\Company; use App\Models\Payment; use App\Factory\PaymentFactory; +use App\Models\Credit; /** * @@ -56,15 +57,68 @@ class PaymentTransformer extends BaseTransformer $payment->applied = $ninja_payment_data['applied']; $payment->status_id = 4; $payment->fill($ninja_payment_data); - + $payment->save(); + $payment->client->service()->updatePaidToDate($payment->amount); - return $payment; - } + if($payment->amount == 0) { + //this is a credit memo, create a stub credit for this. + $payment = $this->createCredit($payment, $qb_data); + $payment->type_id = \App\Models\PaymentType::CREDIT; + $payment->save(); + } + + return $payment; + + } return null; } + private function createCredit($payment, $qb_data) + { + $credit_line = null; + + foreach($qb_data->Line as $item) { + + if(data_get($item, 'LinkedTxn.TxnType', null) == 'CreditMemo') { + $credit_line = $item; + break; + } + + } + + if(!$credit_line) + return $payment; + + $credit = \App\Factory\CreditFactory::create($this->company->id, $this->company->owner()->id, $payment->client_id); + $credit->client_id = $payment->client_id; + + $line = new \App\DataMapper\InvoiceItem(); + $line->quantity = 1; + $line->cost = $credit_line->Amount; + $line->product_key = 'CREDITMEMO'; + $line->notes = $payment->private_notes; + + $credit->date = $qb_data->TxnDate; + $credit->status_id = 4; + $credit->amount = $credit_line->Amount; + $credit->paid_to_date = $credit_line->Amount; + $credit->balance = 0; + $credit->line_items = [$line]; + $credit->save(); + + $paymentable = new \App\Models\Paymentable(); + $paymentable->payment_id = $payment->id; + $paymentable->paymentable_id = $credit->id; + $paymentable->paymentable_type = \App\Models\Credit::class; + $paymentable->amount = $credit->amount; + $paymentable->created_at = $payment->date; + $paymentable->save(); + + return $payment; + } + public function getLine($data, $field = null) { $invoices = []; From 6afd7a897041d5162ddeb7e6435a32433b1b3618 Mon Sep 17 00:00:00 2001 From: David Bomba Date: Thu, 19 Sep 2024 16:44:30 +1000 Subject: [PATCH 09/10] Fixes for quickbooks sync --- app/Services/Quickbooks/Jobs/QuickbooksSync.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Services/Quickbooks/Jobs/QuickbooksSync.php b/app/Services/Quickbooks/Jobs/QuickbooksSync.php index fa94f152ca3c..9fb037f2241e 100644 --- a/app/Services/Quickbooks/Jobs/QuickbooksSync.php +++ b/app/Services/Quickbooks/Jobs/QuickbooksSync.php @@ -160,7 +160,7 @@ class QuickbooksSync implements ShouldQueue $paymentable->created_at = $ninja_payment->date; $paymentable->save(); - $invoice->service()->applyPayment($ninja_payment, $transformed['applied']); + $invoice->service()->applyPayment($ninja_payment, $paymentable->amount); } From 92ba61be51bec5eeef67b863ff6ad22575701ba1 Mon Sep 17 00:00:00 2001 From: David Bomba Date: Thu, 19 Sep 2024 20:12:56 +1000 Subject: [PATCH 10/10] QB imports --- app/DataMapper/QuickbooksSettings.php | 1 + app/Services/Quickbooks/Jobs/QuickbooksSync.php | 9 +++++++++ app/Services/Quickbooks/SdkWrapper.php | 13 +++++++++++-- .../Quickbooks/Transformers/InvoiceTransformer.php | 7 ------- 4 files changed, 21 insertions(+), 9 deletions(-) diff --git a/app/DataMapper/QuickbooksSettings.php b/app/DataMapper/QuickbooksSettings.php index 43013d2b41ac..848f87e7f524 100644 --- a/app/DataMapper/QuickbooksSettings.php +++ b/app/DataMapper/QuickbooksSettings.php @@ -40,6 +40,7 @@ class QuickbooksSettings implements Castable 'client' => ['sync' => true, 'update_record' => true, 'direction' => 'bidirectional'], 'vendor' => ['sync' => true, 'update_record' => true, 'direction' => 'bidirectional'], 'invoice' => ['sync' => true, 'update_record' => true, 'direction' => 'bidirectional'], + 'sales' => ['sync' => true, 'update_record' => true, 'direction' => 'bidirectional'], 'quote' => ['sync' => true, 'update_record' => true, 'direction' => 'bidirectional'], 'purchase_order' => ['sync' => true, 'update_record' => true, 'direction' => 'bidirectional'], 'product' => ['sync' => true, 'update_record' => true, 'direction' => 'bidirectional'], diff --git a/app/Services/Quickbooks/Jobs/QuickbooksSync.php b/app/Services/Quickbooks/Jobs/QuickbooksSync.php index 9fb037f2241e..9e52ab519ffd 100644 --- a/app/Services/Quickbooks/Jobs/QuickbooksSync.php +++ b/app/Services/Quickbooks/Jobs/QuickbooksSync.php @@ -32,6 +32,7 @@ use App\Services\Quickbooks\Transformers\ClientTransformer; use App\Services\Quickbooks\Transformers\InvoiceTransformer; use App\Services\Quickbooks\Transformers\PaymentTransformer; use App\Services\Quickbooks\Transformers\ProductTransformer; +use QuickBooksOnline\API\Data\IPPSalesReceipt; class QuickbooksSync implements ShouldQueue { @@ -47,6 +48,7 @@ class QuickbooksSync implements ShouldQueue 'quote' => 'Estimate', 'purchase_order' => 'PurchaseOrder', 'payment' => 'Payment', + 'sales' => 'SalesReceipt', ]; private QuickbooksService $qbs; @@ -105,6 +107,7 @@ class QuickbooksSync implements ShouldQueue 'client' => $this->syncQbToNinjaClients($records), 'product' => $this->syncQbToNinjaProducts($records), 'invoice' => $this->syncQbToNinjaInvoices($records), + 'sales' => $this->syncQbToNinjaInvoices($records), // 'vendor' => $this->syncQbToNinjaClients($records), // 'quote' => $this->syncInvoices($records), // 'purchase_order' => $this->syncInvoices($records), @@ -115,6 +118,7 @@ class QuickbooksSync implements ShouldQueue private function syncQbToNinjaInvoices($records): void { + nlog("invoice sync ". count($records)); $invoice_transformer = new InvoiceTransformer($this->company); foreach($records as $record) @@ -164,6 +168,11 @@ class QuickbooksSync implements ShouldQueue } + if($record instanceof IPPSalesReceipt) + { + $invoice->service()->markPaid()->save(); + } + } $ninja_invoice_data = false; diff --git a/app/Services/Quickbooks/SdkWrapper.php b/app/Services/Quickbooks/SdkWrapper.php index 946353abdf0d..0da2d0cb9ba5 100644 --- a/app/Services/Quickbooks/SdkWrapper.php +++ b/app/Services/Quickbooks/SdkWrapper.php @@ -21,7 +21,7 @@ class SdkWrapper { public const MAXRESULTS = 10000; - private $entities = ['Customer','Invoice','Item']; + private $entities = ['Customer','Invoice','Item','SalesReceipt']; private OAuth2AccessToken $token; @@ -176,12 +176,18 @@ class SdkWrapper $start = 0; $limit = 1000; try { + $total = $this->totalRecords($entity); $total = min($max, $total); + nlog("total = {$total}"); + // Step 3 & 4: Get chunks of records until the total required records are retrieved do { $limit = min(self::MAXRESULTS, $total - $start); + + nlog("limit = {$limit}"); + $recordsChunk = $this->queryData("select * from $entity", $start, $limit); if(empty($recordsChunk)) { break; @@ -189,6 +195,8 @@ class SdkWrapper $records = array_merge($records, $recordsChunk); $start += $limit; + nlog("start = {$start}"); + } while ($start < $total); if(empty($records)) { throw new \Exception("No records retrieved!"); @@ -198,7 +206,8 @@ class SdkWrapper nlog("Fetch Quickbooks API Error: {$th->getMessage()}"); } - nlog($records); + // nlog($records); + return $records; } } diff --git a/app/Services/Quickbooks/Transformers/InvoiceTransformer.php b/app/Services/Quickbooks/Transformers/InvoiceTransformer.php index 0ab93d0a7c1f..1ba7cedbfaf4 100644 --- a/app/Services/Quickbooks/Transformers/InvoiceTransformer.php +++ b/app/Services/Quickbooks/Transformers/InvoiceTransformer.php @@ -58,8 +58,6 @@ class InvoiceTransformer extends BaseTransformer { $payments = []; - nlog("get payments"); - $qb_payments = data_get($qb_data, 'LinkedTxn', false); if(!$qb_payments) { @@ -67,7 +65,6 @@ class InvoiceTransformer extends BaseTransformer } if(!is_array($qb_payments) && data_get($qb_payments, 'TxnType', false) == 'Payment'){ - nlog([data_get($qb_payments, 'TxnId.value', false)]); return [data_get($qb_payments, 'TxnId.value', false)]; } @@ -80,8 +77,6 @@ class InvoiceTransformer extends BaseTransformer } } - nlog($payments); - return $payments; } @@ -102,8 +97,6 @@ class InvoiceTransformer extends BaseTransformer $item->type_id = stripos(data_get($qb_item, 'ItemAccountRef.name') ?? '', 'Service') !== false ? '2' : '1'; $item->tax_id = data_get($qb_item, 'TaxCodeRef.value', '') == 'NON' ? Product::PRODUCT_TYPE_EXEMPT : $item->type_id; $item->tax_rate1 = data_get($qb_item, 'TxnTaxDetail.TaxLine.TaxLineDetail.TaxPercent', 0); - -// $item->tax_rate1 = data_get($qb_item, 'TaxLineDetail.TaxRateRef.TaxPercent', 0); $item->tax_name1 = $item->tax_rate1 > 0 ? "Sales Tax" : ""; $items[] = (object)$item; }