Merge pull request #9323 from turbo124/v5-develop

Fixes for company export paths
This commit is contained in:
David Bomba 2024-02-23 09:36:02 +11:00 committed by GitHub
commit 81bc9e0756
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
42 changed files with 895 additions and 180 deletions

View File

@ -50,7 +50,7 @@ class UserFilters extends QueryFilters
{ {
$sort_col = explode('|', $sort); $sort_col = explode('|', $sort);
if (!is_array($sort_col) || count($sort_col) != 2) { if (!is_array($sort_col) || count($sort_col) != 2 || !in_array($sort_col, \Illuminate\Support\Facades\Schema::getColumnListing('users'))) {
return $this->builder; return $this->builder;
} }

View File

@ -242,9 +242,9 @@ class InvoiceSum
if ($this->invoice->status_id != Invoice::STATUS_DRAFT) { if ($this->invoice->status_id != Invoice::STATUS_DRAFT) {
if ($this->invoice->amount != $this->invoice->balance) { if ($this->invoice->amount != $this->invoice->balance) {
$paid_to_date = $this->invoice->amount - $this->invoice->balance; // $paid_to_date = $this->invoice->amount - $this->invoice->balance;
$this->invoice->balance = Number::roundValue($this->getTotal(), $this->precision) - $paid_to_date; $this->invoice->balance = Number::roundValue($this->getTotal(), $this->precision) - $this->invoice->paid_to_date; //21-02-2024 cannot use the calculated $paid_to_date here as it could send the balance backward.
} else { } else {
$this->invoice->balance = Number::roundValue($this->getTotal(), $this->precision); $this->invoice->balance = Number::roundValue($this->getTotal(), $this->precision);
} }

View File

@ -259,9 +259,9 @@ class InvoiceSumInclusive
/* If amount != balance then some money has been paid on the invoice, need to subtract this difference from the total to set the new balance */ /* If amount != balance then some money has been paid on the invoice, need to subtract this difference from the total to set the new balance */
if ($this->invoice->status_id != Invoice::STATUS_DRAFT) { if ($this->invoice->status_id != Invoice::STATUS_DRAFT) {
if ($this->invoice->amount != $this->invoice->balance) { if ($this->invoice->amount != $this->invoice->balance) {
$paid_to_date = $this->invoice->amount - $this->invoice->balance; // $paid_to_date = $this->invoice->amount - $this->invoice->balance;
$this->invoice->balance = $this->formatValue($this->getTotal(), $this->precision) - $paid_to_date; $this->invoice->balance = $this->formatValue($this->getTotal(), $this->precision) - $this->invoice->paid_to_date;
} else { } else {
$this->invoice->balance = $this->formatValue($this->getTotal(), $this->precision); $this->invoice->balance = $this->formatValue($this->getTotal(), $this->precision);
} }

View File

@ -236,7 +236,6 @@ class InvoiceController extends Controller
'hashed_ids' => $invoices->pluck('hashed_id'), 'hashed_ids' => $invoices->pluck('hashed_id'),
'total' => $total, 'total' => $total,
'variables' => $variables, 'variables' => $variables,
]; ];
return $this->render('invoices.payment', $data); return $this->render('invoices.payment', $data);

View File

@ -12,16 +12,17 @@
namespace App\Http\Controllers\ClientPortal; namespace App\Http\Controllers\ClientPortal;
use App\Utils\Number;
use App\Utils\HtmlEngine;
use Illuminate\View\View;
use App\DataMapper\InvoiceItem; use App\DataMapper\InvoiceItem;
use App\Factory\InvoiceFactory; use App\Factory\InvoiceFactory;
use App\Http\Controllers\Controller;
use App\Http\Requests\ClientPortal\PrePayments\StorePrePaymentRequest;
use App\Repositories\InvoiceRepository;
use App\Utils\Number;
use App\Utils\Traits\MakesDates;
use App\Utils\Traits\MakesHash; use App\Utils\Traits\MakesHash;
use App\Utils\Traits\MakesDates;
use App\Http\Controllers\Controller;
use Illuminate\Contracts\View\Factory; use Illuminate\Contracts\View\Factory;
use Illuminate\View\View; use App\Repositories\InvoiceRepository;
use App\Http\Requests\ClientPortal\PrePayments\StorePrePaymentRequest;
/** /**
* Class PrePaymentController. * Class PrePaymentController.
@ -88,6 +89,8 @@ class PrePaymentController extends Controller
$total = $invoice->balance; $total = $invoice->balance;
$invitation = $invoice->invitations->first();
//format totals //format totals
$formatted_total = Number::formatMoney($invoice->amount, auth()->guard('contact')->user()->client); $formatted_total = Number::formatMoney($invoice->amount, auth()->guard('contact')->user()->client);
@ -113,6 +116,8 @@ class PrePaymentController extends Controller
'frequency_id' => $request->frequency_id, 'frequency_id' => $request->frequency_id,
'remaining_cycles' => $request->remaining_cycles, 'remaining_cycles' => $request->remaining_cycles,
'is_recurring' => $request->is_recurring == 'on' ? true : false, 'is_recurring' => $request->is_recurring == 'on' ? true : false,
'variables' => $variables = ($invitation && auth()->guard('contact')->user()->client->getSetting('show_accept_invoice_terms')) ? (new HtmlEngine($invitation))->generateLabelsAndValues() : false,
]; ];
return $this->render('invoices.payment', $data); return $this->render('invoices.payment', $data);

View File

@ -30,8 +30,6 @@ class SmtpController extends BaseController
$user = auth()->user(); $user = auth()->user();
$company = $user->company(); $company = $user->company();
config([ config([
'mail.mailers.smtp' => [ 'mail.mailers.smtp' => [
'transport' => 'smtp', 'transport' => 'smtp',

View File

@ -72,6 +72,10 @@ class TwoFactorController extends BaseController
return response()->json(['message' => ctrans('texts.enabled_two_factor')], 200); return response()->json(['message' => ctrans('texts.enabled_two_factor')], 200);
} elseif (! $secret || ! $google2fa->verifyKey($secret, $oneTimePassword)) { } elseif (! $secret || ! $google2fa->verifyKey($secret, $oneTimePassword)) {
return response()->json(['message' => ctrans('texts.invalid_one_time_password')], 400); return response()->json(['message' => ctrans('texts.invalid_one_time_password')], 400);
}elseif (! $user->phone) {
return response()->json(['message' => ctrans('texts.set_phone_for_two_factor')], 400);
} elseif (! $user->isVerified()) {
return response()->json(['message' => 'Please confirm your account first'], 400);
} }
return response()->json(['message' => 'No phone record or user is not confirmed'], 400); return response()->json(['message' => 'No phone record or user is not confirmed'], 400);

View File

@ -69,10 +69,9 @@ class CompanyExport implements ShouldQueue
{ {
MultiDB::setDb($this->company->db); MultiDB::setDb($this->company->db);
$this->file_name = date('Y-m-d') . '_' . str_replace([" ", "/"], ["_",""], $this->company->present()->name() . '_' . $this->company->company_key . '.json'); $this->file_name = date('Y-m-d') . '_' . str_replace([" ", "/"], ["_",""], $this->company->present()->name() . '_' . $this->company->company_key . '.json');
$this->writer = new File($this->file_name); $this->writer = new File(sys_get_temp_dir().'/'.$this->file_name);
set_time_limit(0); set_time_limit(0);
@ -114,8 +113,6 @@ class CompanyExport implements ShouldQueue
return $user; return $user;
})->all(); })->all();
$x = $this->writer->collection('users'); $x = $this->writer->collection('users');
$x->addItems($this->export_data['users']); $x->addItems($this->export_data['users']);
$this->export_data = null; $this->export_data = null;
@ -667,7 +664,7 @@ class CompanyExport implements ShouldQueue
private function zipAndSend() private function zipAndSend()
{ {
$zip_path = \Illuminate\Support\Str::ascii(str_replace(".json", ".zip", $this->file_name)); $zip_path = sys_get_temp_dir().'/'.\Illuminate\Support\Str::ascii(str_replace(".json", ".zip", $this->file_name));
$zip = new \ZipArchive(); $zip = new \ZipArchive();
@ -675,8 +672,8 @@ class CompanyExport implements ShouldQueue
nlog("cannot open {$zip_path}"); nlog("cannot open {$zip_path}");
} }
$zip->addFile($this->file_name); $zip->addFile(sys_get_temp_dir().'/'.$this->file_name, 'backup.json');
$zip->renameName($this->file_name, 'backup.json'); // $zip->renameName($this->file_name, 'backup.json');
$zip->close(); $zip->close();
@ -686,8 +683,8 @@ class CompanyExport implements ShouldQueue
unlink($zip_path); unlink($zip_path);
} }
if(file_exists($this->file_name)) { if(file_exists(sys_get_temp_dir().'/'.$this->file_name)) {
unlink($this->file_name); unlink(sys_get_temp_dir().'/'.$this->file_name);
} }
if(Ninja::isSelfHost()) { if(Ninja::isSelfHost()) {
@ -717,8 +714,8 @@ class CompanyExport implements ShouldQueue
if (Ninja::isHosted()) { if (Ninja::isHosted()) {
sleep(3); sleep(3);
if(file_exists($zip_path)) { if(file_exists(sys_get_temp_dir().'/'.$zip_path)) {
unlink($zip_path); unlink(sys_get_temp_dir().'/'.$zip_path);
} }
} }
} }

View File

@ -90,7 +90,7 @@ class InvoiceService
if ($company_currency != $client_currency) { if ($company_currency != $client_currency) {
$exchange_rate = new CurrencyApi(); $exchange_rate = new CurrencyApi();
$this->invoice->exchange_rate = $exchange_rate->exchangeRate($client_currency, $company_currency, now()); $this->invoice->exchange_rate = 1/$exchange_rate->exchangeRate($client_currency, $company_currency, now());
} }
return $this; return $this;

View File

@ -90,6 +90,9 @@ class ARDetailReport extends BaseExport
$query = Invoice::query() $query = Invoice::query()
->withTrashed() ->withTrashed()
->whereHas('client', function ($query){
$query->where('is_deleted', 0);
})
->where('company_id', $this->company->id) ->where('company_id', $this->company->id)
->where('is_deleted', 0) ->where('is_deleted', 0)
->where('balance', '>', 0) ->where('balance', '>', 0)

View File

@ -125,9 +125,9 @@ class ARSummaryReport extends BaseExport
$amount = Invoice::withTrashed() $amount = Invoice::withTrashed()
->where('client_id', $this->client->id) ->where('client_id', $this->client->id)
->where('company_id', $this->client->company_id) ->where('company_id', $this->client->company_id)
->where('is_deleted', 0)
->whereIn('status_id', [Invoice::STATUS_SENT, Invoice::STATUS_PARTIAL]) ->whereIn('status_id', [Invoice::STATUS_SENT, Invoice::STATUS_PARTIAL])
->where('balance', '>', 0) ->where('balance', '>', 0)
->where('is_deleted', 0)
->where(function ($query) { ->where(function ($query) {
$query->where('due_date', '>', now()->startOfDay()) $query->where('due_date', '>', now()->startOfDay())
->orWhereNull('due_date'); ->orWhereNull('due_date');

View File

@ -286,21 +286,21 @@ class ProfitLoss
$pivot_diff = $pivot->amount - $pivot->refunded; $pivot_diff = $pivot->amount - $pivot->refunded;
$amount_payment_paid += $pivot_diff; $amount_payment_paid += $pivot_diff;
$amount_payment_paid_converted += $pivot_diff / ($payment->exchange_rate ?: 1); $amount_payment_paid_converted += $pivot_diff * ($payment->exchange_rate ?: 1);
if ($invoice->amount > 0) { if ($invoice->amount > 0) {
$tax_amount += ($pivot_diff / $invoice->amount) * $invoice->total_taxes; $tax_amount += ($pivot_diff / $invoice->amount) * $invoice->total_taxes;
$tax_amount_converted += (($pivot_diff / $invoice->amount) * $invoice->total_taxes) / $payment->exchange_rate; $tax_amount_converted += (($pivot_diff / $invoice->amount) * $invoice->total_taxes) / $invoice->exchange_rate;
} }
} }
if ($pivot->paymentable_type == 'credits') { if ($pivot->paymentable_type == 'credits') {
$amount_credit_paid += $pivot->amount - $pivot->refunded; $amount_credit_paid += $pivot->amount - $pivot->refunded;
$amount_credit_paid_converted += $pivot_diff / ($payment->exchange_rate ?: 1); $amount_credit_paid_converted += $pivot_diff * ($payment->exchange_rate ?: 1);
$tax_amount_credit += ($pivot_diff / $invoice->amount) * $invoice->total_taxes; $tax_amount_credit += ($pivot_diff / $invoice->amount) * $invoice->total_taxes;
$tax_amount_credit_converted += (($pivot_diff / $invoice->amount) * $invoice->total_taxes) / $payment->exchange_rate; $tax_amount_credit_converted += (($pivot_diff / $invoice->amount) * $invoice->total_taxes) / $invoice->exchange_rate;
} }
} }
@ -340,6 +340,10 @@ class ProfitLoss
*/ */
public function getCsv() public function getCsv()
{ {
nlog($this->income);
nlog($this->income_taxes);
nlog(array_sum(array_column($this->expense_break_down, 'total')));
MultiDB::setDb($this->company->db); MultiDB::setDb($this->company->db);
App::forgetInstance('translator'); App::forgetInstance('translator');
App::setLocale($this->company->locale()); App::setLocale($this->company->locale());
@ -356,7 +360,7 @@ class ProfitLoss
$csv->insertOne(['--------------------']); $csv->insertOne(['--------------------']);
$csv->insertOne([ctrans('texts.total_revenue'), Number::formatMoney($this->income, $this->company)]); $csv->insertOne([ctrans('texts.total_revenue'). "[".ctrans('texts.tax')." " .ctrans('texts.exclusive'). "]", Number::formatMoney($this->income, $this->company)]);
//total taxes //total taxes
@ -371,12 +375,12 @@ class ProfitLoss
//total expense taxes //total expense taxes
$csv->insertOne(['--------------------']); $csv->insertOne(['--------------------']);
$csv->insertOne([ctrans('texts.total_expenses'), Number::formatMoney(array_sum(array_column($this->expense_break_down, 'total')), $this->company)]); $csv->insertOne([ctrans('texts.total_expenses'). "[".ctrans('texts.tax')." " .ctrans('texts.exclusive'). "]", Number::formatMoney(array_sum(array_column($this->expense_break_down, 'total')), $this->company)]);
$csv->insertOne([ctrans('texts.total_taxes'), Number::formatMoney(array_sum(array_column($this->expense_break_down, 'tax')), $this->company)]); $csv->insertOne([ctrans('texts.total_taxes'), Number::formatMoney(array_sum(array_column($this->expense_break_down, 'tax')), $this->company)]);
$csv->insertOne(['--------------------']); $csv->insertOne(['--------------------']);
$csv->insertOne([ctrans('texts.total_profit'), Number::formatMoney($this->income - $this->income_taxes - array_sum(array_column($this->expense_break_down, 'total')) - array_sum(array_column($this->expense_break_down, 'tax')), $this->company)]); $csv->insertOne([ctrans('texts.total_profit'), Number::formatMoney($this->income - array_sum(array_column($this->expense_break_down, 'total')), $this->company)]);
//net profit //net profit
@ -384,11 +388,25 @@ class ProfitLoss
$csv->insertOne(['']); $csv->insertOne(['']);
$csv->insertOne(['']); $csv->insertOne(['']);
$csv->insertOne(['--------------------']);
$csv->insertOne([ctrans('texts.revenue')]);
$csv->insertOne(['--------------------']);
$csv->insertOne([ctrans('texts.currency'), ctrans('texts.amount'), ctrans('texts.total_taxes')]); $csv->insertOne([ctrans('texts.currency'), ctrans('texts.amount'), ctrans('texts.total_taxes')]);
foreach ($this->foreign_income as $foreign_income) { foreach ($this->foreign_income as $foreign_income) {
$csv->insertOne([$foreign_income['currency'], ($foreign_income['amount'] - $foreign_income['total_taxes']), $foreign_income['total_taxes']]); $csv->insertOne([$foreign_income['currency'], ($foreign_income['amount'] - $foreign_income['total_taxes']), $foreign_income['total_taxes']]);
} }
$csv->insertOne(['']);
$csv->insertOne(['']);
$csv->insertOne(['--------------------']);
$csv->insertOne([ctrans('texts.expenses')]);
$csv->insertOne(['--------------------']);
foreach($this->expenses as $expense){
$csv->insertOne([$expense->currency, ($expense->total - $expense->foreign_tax_amount), $expense->foreign_tax_amount]);
}
return $csv->toString(); return $csv->toString();
} }
@ -421,6 +439,11 @@ class ProfitLoss
private function expenseData() private function expenseData()
{ {
$expenses = Expense::query()->where('company_id', $this->company->id) $expenses = Expense::query()->where('company_id', $this->company->id)
->where(function ($query){
$query->whereNull('client_id')->orWhereHas('client', function ($q){
$q->where('is_deleted', 0);
});
})
->where('is_deleted', 0) ->where('is_deleted', 0)
->withTrashed() ->withTrashed()
->whereBetween('date', [$this->start_date, $this->end_date]) ->whereBetween('date', [$this->start_date, $this->end_date])
@ -428,19 +451,21 @@ class ProfitLoss
$this->expenses = []; $this->expenses = [];
$company_currency_code = $this->company->currency()->code;
foreach ($expenses as $expense) { foreach ($expenses as $expense) {
$map = new \stdClass(); $map = new \stdClass();
$amount = $expense->amount; $expense_tax_total = $this->getTax($expense);
$map->total = $expense->amount; $map->total = $expense->amount;
$map->converted_total = $converted_total = $this->getConvertedTotal($expense->amount, $expense->exchange_rate); $map->converted_total = $converted_total = $this->getConvertedTotal($expense->amount, $expense->exchange_rate); //converted to company currency
$map->tax = $tax = $this->getTax($expense); $map->tax = $tax = $this->getConvertedTotal($expense_tax_total, $expense->exchange_rate); //tax component
$map->net_converted_total = $expense->uses_inclusive_taxes ? ($converted_total - $tax) : $converted_total; $map->net_converted_total = $expense->uses_inclusive_taxes ? ($converted_total - $tax) : $converted_total; //excludes all taxes
$map->category_id = $expense->category_id; $map->category_id = $expense->category_id;
$map->category_name = $expense->category ? $expense->category->name : 'No Category Defined'; $map->category_name = $expense->category ? $expense->category->name : 'No Category Defined';
$map->currency_id = $expense->currency_id ?: $expense->company->settings->currency_id; $map->currency_id = $expense->currency_id ?: $expense->company->settings->currency_id;
$map->currency = $expense->currency ? $expense->currency->code : $company_currency_code;
$map->foreign_tax_amount = $expense_tax_total;
$this->expenses[] = $map; $this->expenses[] = $map;
} }
@ -480,10 +505,6 @@ class ProfitLoss
//is amount tax //is amount tax
if ($expense->calculate_tax_by_amount) { if ($expense->calculate_tax_by_amount) {
nlog($expense->tax_amount1);
nlog($expense->tax_amount2);
nlog($expense->tax_amount3);
return $expense->tax_amount1 + $expense->tax_amount2 + $expense->tax_amount3; return $expense->tax_amount1 + $expense->tax_amount2 + $expense->tax_amount3;
} }

View File

@ -75,8 +75,8 @@ class TaxSummaryReport extends BaseExport
$query = Invoice::query() $query = Invoice::query()
->withTrashed() ->withTrashed()
->whereIn('status_id', [2,3,4])
->where('company_id', $this->company->id) ->where('company_id', $this->company->id)
->whereIn('status_id', [2,3,4])
->where('is_deleted', 0) ->where('is_deleted', 0)
->orderBy('balance', 'desc'); ->orderBy('balance', 'desc');

View File

@ -98,28 +98,49 @@ class Number
if(!$value) if(!$value)
return 0; return 0;
$multiplier = false; //remove everything except for numbers, decimals, commas and hyphens
$value = preg_replace('/[^0-9.,-]+/', '', $value);
if(substr($value, 0,1) == '-') $decimal = strpos($value, '.');
$multiplier = -1; $comma = strpos($value, ',');
// convert "," to "." if(!$comma) //no comma must be a decimal number already
$s = str_replace(',', '.', $value); return (float) $value;
// remove everything except numbers and dot "." if($decimal < $comma){ //decimal before a comma = euro
$s = preg_replace("/[^0-9\.]/", '', $s); $value = str_replace(['.',','], ['','.'], $value);
// $value = str_replace(',', '.', $value);
if ($s < 1) { return (float) $value;
return (float) $s;
} }
// remove all separators from first part and keep the end //comma first = traditional thousan separator
$s = str_replace('.', '', substr($s, 0, -3)).substr($s, -3); $value = str_replace(',', '', $value);
if($multiplier) return (float)$value;
$s = floatval($s)*-1;
return (float) $s;
// if(!$value)
// return 0;
// $multiplier = false;
// if(substr($value, 0,1) == '-')
// $multiplier = -1;
// $s = str_replace(',', '.', $value);
// $s = preg_replace("/[^0-9\.]/", '', $s);
// if ($s < 1) {
// return (float) $s;
// }
// $s = str_replace('.', '', substr($s, 0, -3)).substr($s, -3);
// if($multiplier)
// $s = floatval($s)*-1;
// return (float) $s;
} }
public static function parseStringFloat($value) public static function parseStringFloat($value)

View File

@ -3849,7 +3849,7 @@ $lang = array(
'cancellation_pending' => 'الإلغاء معلق ، سنكون على اتصال!', 'cancellation_pending' => 'الإلغاء معلق ، سنكون على اتصال!',
'list_of_payments' => 'قائمة المدفوعات', 'list_of_payments' => 'قائمة المدفوعات',
'payment_details' => 'تفاصيل الدفع', 'payment_details' => 'تفاصيل الدفع',
'list_of_payment_invoices' => 'قائمة الفواتير المتأثرة بالدفع', 'list_of_payment_invoices' => 'Associate invoices',
'list_of_payment_methods' => 'قائمة طرق الدفع', 'list_of_payment_methods' => 'قائمة طرق الدفع',
'payment_method_details' => 'تفاصيل طريقة الدفع', 'payment_method_details' => 'تفاصيل طريقة الدفع',
'permanently_remove_payment_method' => 'قم بإزالة طريقة الدفع هذه بشكل دائم.', 'permanently_remove_payment_method' => 'قم بإزالة طريقة الدفع هذه بشكل دائم.',
@ -4906,7 +4906,7 @@ $lang = array(
'no_assigned_tasks' => 'لا توجد مهام قابلة للفوترة لهذا المشروع', 'no_assigned_tasks' => 'لا توجد مهام قابلة للفوترة لهذا المشروع',
'authorization_failure' => 'أذونات غير كافية لتنفيذ هذا الإجراء', 'authorization_failure' => 'أذونات غير كافية لتنفيذ هذا الإجراء',
'authorization_sms_failure' => 'يرجى التحقق من حسابك لإرسال رسائل البريد الإلكتروني.', 'authorization_sms_failure' => 'يرجى التحقق من حسابك لإرسال رسائل البريد الإلكتروني.',
'white_label_body' => 'شكرا لشرائك رخصة البطاقة البيضاء.<br><br> مفتاح الترخيص الخاص بك هو:<br><br> :license_key', 'white_label_body' => 'Thank you for purchasing a white label license. <br><br> Your license key is: <br><br> :license_key <br><br> You can manage your license here: https://invoiceninja.invoicing.co/client/login',
'payment_type_Klarna' => 'كلارنا', 'payment_type_Klarna' => 'كلارنا',
'payment_type_Interac E Transfer' => 'Interac E Transfer', 'payment_type_Interac E Transfer' => 'Interac E Transfer',
'xinvoice_payable' => 'مستحق الدفع paydate: صافي أيام الدفع payeddue: تاريخ الدفع', 'xinvoice_payable' => 'مستحق الدفع paydate: صافي أيام الدفع payeddue: تاريخ الدفع',
@ -5101,7 +5101,7 @@ $lang = array(
'set_private' => 'تعيين خاص', 'set_private' => 'تعيين خاص',
'individual' => 'فردي', 'individual' => 'فردي',
'business' => 'عمل', 'business' => 'عمل',
'partnership' => 'شراكة', 'partnership' => 'Partnership',
'trust' => 'يثق', 'trust' => 'يثق',
'charity' => 'صدقة', 'charity' => 'صدقة',
'government' => 'حكومة', 'government' => 'حكومة',
@ -5202,7 +5202,22 @@ $lang = array(
'unsubscribe_help' => 'You are currently not subscribed, and therefore, will not receive emails at this time.', 'unsubscribe_help' => 'You are currently not subscribed, and therefore, will not receive emails at this time.',
'notification_purchase_order_bounced' => 'We were unable to deliver Purchase Order :invoice to :contact. <br><br> :error', 'notification_purchase_order_bounced' => 'We were unable to deliver Purchase Order :invoice to :contact. <br><br> :error',
'notification_purchase_order_bounced_subject' => 'Unable to deliver Purchase Order :invoice', 'notification_purchase_order_bounced_subject' => 'Unable to deliver Purchase Order :invoice',
'show_pdfhtml_on_mobile' => 'Display HTML version of entity when viewing on mobile',
'show_pdfhtml_on_mobile_help' => 'For improved visualization, displays a HTML version of the invoice/quote when viewing on mobile.',
'please_select_an_invoice_or_credit' => 'Please select an invoice or credit',
'mobile_version' => 'Mobile Version',
'venmo' => 'Venmo',
'my_bank' => 'MyBank',
'pay_later' => 'Pay Later',
'local_domain' => 'Local Domain',
'verify_peer' => 'Verify Peer',
'nordigen_help' => 'Note: connecting an account requires a GoCardless/Nordigen API key',
'ar_detailed' => 'Accounts Receivable Detailed',
'ar_summary' => 'Accounts Receivable Summary',
'client_sales' => 'Client Sales',
'user_sales' => 'User Sales',
'iframe_url' => 'iFrame URL',
'user_unsubscribed' => 'User unsubscribed from emails :link',
); );
return $lang; return $lang;

View File

@ -3868,7 +3868,7 @@ $lang = array(
'cancellation_pending' => 'Cancellation pending, we\'ll be in touch!', 'cancellation_pending' => 'Cancellation pending, we\'ll be in touch!',
'list_of_payments' => 'List of payments', 'list_of_payments' => 'List of payments',
'payment_details' => 'Details of the payment', 'payment_details' => 'Details of the payment',
'list_of_payment_invoices' => 'List of invoices affected by the payment', 'list_of_payment_invoices' => 'Associate invoices',
'list_of_payment_methods' => 'List of payment methods', 'list_of_payment_methods' => 'List of payment methods',
'payment_method_details' => 'Details of payment method', 'payment_method_details' => 'Details of payment method',
'permanently_remove_payment_method' => 'Permanently remove this payment method.', 'permanently_remove_payment_method' => 'Permanently remove this payment method.',
@ -4925,7 +4925,7 @@ $lang = array(
'no_assigned_tasks' => 'No hi ha cap tasca cobrable a aquest projecte', 'no_assigned_tasks' => 'No hi ha cap tasca cobrable a aquest projecte',
'authorization_failure' => 'Permisos insuficients per a realitzar aquesta acció', 'authorization_failure' => 'Permisos insuficients per a realitzar aquesta acció',
'authorization_sms_failure' => 'Verifiqueu el vostre compte per a poder enviar missatges de correu.', 'authorization_sms_failure' => 'Verifiqueu el vostre compte per a poder enviar missatges de correu.',
'white_label_body' => 'Gràcies per comprar una llicència de marca blanca. <br><br>La vostra clau de llicència és: <br><br>:license_key', 'white_label_body' => 'Thank you for purchasing a white label license. <br><br> Your license key is: <br><br> :license_key <br><br> You can manage your license here: https://invoiceninja.invoicing.co/client/login',
'payment_type_Klarna' => 'Klarna', 'payment_type_Klarna' => 'Klarna',
'payment_type_Interac E Transfer' => 'Transferència Interac E', 'payment_type_Interac E Transfer' => 'Transferència Interac E',
'xinvoice_payable' => 'Payable within :payeddue days net until :paydate', 'xinvoice_payable' => 'Payable within :payeddue days net until :paydate',
@ -5120,7 +5120,7 @@ $lang = array(
'set_private' => 'Set private', 'set_private' => 'Set private',
'individual' => 'Individual', 'individual' => 'Individual',
'business' => 'Business', 'business' => 'Business',
'partnership' => 'partnership', 'partnership' => 'Partnership',
'trust' => 'Trust', 'trust' => 'Trust',
'charity' => 'Charity', 'charity' => 'Charity',
'government' => 'Government', 'government' => 'Government',
@ -5221,7 +5221,22 @@ $lang = array(
'unsubscribe_help' => 'You are currently not subscribed, and therefore, will not receive emails at this time.', 'unsubscribe_help' => 'You are currently not subscribed, and therefore, will not receive emails at this time.',
'notification_purchase_order_bounced' => 'We were unable to deliver Purchase Order :invoice to :contact. <br><br> :error', 'notification_purchase_order_bounced' => 'We were unable to deliver Purchase Order :invoice to :contact. <br><br> :error',
'notification_purchase_order_bounced_subject' => 'Unable to deliver Purchase Order :invoice', 'notification_purchase_order_bounced_subject' => 'Unable to deliver Purchase Order :invoice',
'show_pdfhtml_on_mobile' => 'Display HTML version of entity when viewing on mobile',
'show_pdfhtml_on_mobile_help' => 'For improved visualization, displays a HTML version of the invoice/quote when viewing on mobile.',
'please_select_an_invoice_or_credit' => 'Please select an invoice or credit',
'mobile_version' => 'Mobile Version',
'venmo' => 'Venmo',
'my_bank' => 'MyBank',
'pay_later' => 'Pay Later',
'local_domain' => 'Local Domain',
'verify_peer' => 'Verify Peer',
'nordigen_help' => 'Note: connecting an account requires a GoCardless/Nordigen API key',
'ar_detailed' => 'Accounts Receivable Detailed',
'ar_summary' => 'Accounts Receivable Summary',
'client_sales' => 'Client Sales',
'user_sales' => 'User Sales',
'iframe_url' => 'iFrame URL',
'user_unsubscribed' => 'User unsubscribed from emails :link',
); );
return $lang; return $lang;

View File

@ -3869,7 +3869,7 @@ $lang = array(
'cancellation_pending' => 'Cancellation pending, we\'ll be in touch!', 'cancellation_pending' => 'Cancellation pending, we\'ll be in touch!',
'list_of_payments' => 'Seznam plateb', 'list_of_payments' => 'Seznam plateb',
'payment_details' => 'Detaily platby', 'payment_details' => 'Detaily platby',
'list_of_payment_invoices' => 'List of invoices affected by the payment', 'list_of_payment_invoices' => 'Associate invoices',
'list_of_payment_methods' => 'Seznam platebních metod', 'list_of_payment_methods' => 'Seznam platebních metod',
'payment_method_details' => 'Detail platební metody', 'payment_method_details' => 'Detail platební metody',
'permanently_remove_payment_method' => 'Trvale odstranit tuto platební metodu.', 'permanently_remove_payment_method' => 'Trvale odstranit tuto platební metodu.',
@ -4926,7 +4926,7 @@ $lang = array(
'no_assigned_tasks' => 'No billable tasks for this project', 'no_assigned_tasks' => 'No billable tasks for this project',
'authorization_failure' => 'Insufficient permissions to perform this action', 'authorization_failure' => 'Insufficient permissions to perform this action',
'authorization_sms_failure' => 'Please verify your account to send emails.', 'authorization_sms_failure' => 'Please verify your account to send emails.',
'white_label_body' => 'Thank you for purchasing a white label license. <br><br> Your license key is: <br><br> :license_key', 'white_label_body' => 'Thank you for purchasing a white label license. <br><br> Your license key is: <br><br> :license_key <br><br> You can manage your license here: https://invoiceninja.invoicing.co/client/login',
'payment_type_Klarna' => 'Klarna', 'payment_type_Klarna' => 'Klarna',
'payment_type_Interac E Transfer' => 'Interac E Transfer', 'payment_type_Interac E Transfer' => 'Interac E Transfer',
'xinvoice_payable' => 'Payable within :payeddue days net until :paydate', 'xinvoice_payable' => 'Payable within :payeddue days net until :paydate',
@ -5121,7 +5121,7 @@ $lang = array(
'set_private' => 'Nastavit jako soukromé', 'set_private' => 'Nastavit jako soukromé',
'individual' => 'Jednotlivec', 'individual' => 'Jednotlivec',
'business' => 'Podnik', 'business' => 'Podnik',
'partnership' => 'Partnerství', 'partnership' => 'Partnership',
'trust' => 'Trust', 'trust' => 'Trust',
'charity' => 'Charita', 'charity' => 'Charita',
'government' => 'Vláda', 'government' => 'Vláda',
@ -5222,7 +5222,22 @@ $lang = array(
'unsubscribe_help' => 'You are currently not subscribed, and therefore, will not receive emails at this time.', 'unsubscribe_help' => 'You are currently not subscribed, and therefore, will not receive emails at this time.',
'notification_purchase_order_bounced' => 'We were unable to deliver Purchase Order :invoice to :contact. <br><br> :error', 'notification_purchase_order_bounced' => 'We were unable to deliver Purchase Order :invoice to :contact. <br><br> :error',
'notification_purchase_order_bounced_subject' => 'Unable to deliver Purchase Order :invoice', 'notification_purchase_order_bounced_subject' => 'Unable to deliver Purchase Order :invoice',
'show_pdfhtml_on_mobile' => 'Display HTML version of entity when viewing on mobile',
'show_pdfhtml_on_mobile_help' => 'For improved visualization, displays a HTML version of the invoice/quote when viewing on mobile.',
'please_select_an_invoice_or_credit' => 'Please select an invoice or credit',
'mobile_version' => 'Mobile Version',
'venmo' => 'Venmo',
'my_bank' => 'MyBank',
'pay_later' => 'Pay Later',
'local_domain' => 'Local Domain',
'verify_peer' => 'Verify Peer',
'nordigen_help' => 'Note: connecting an account requires a GoCardless/Nordigen API key',
'ar_detailed' => 'Accounts Receivable Detailed',
'ar_summary' => 'Accounts Receivable Summary',
'client_sales' => 'Client Sales',
'user_sales' => 'User Sales',
'iframe_url' => 'iFrame URL',
'user_unsubscribed' => 'User unsubscribed from emails :link',
); );
return $lang; return $lang;

View File

@ -3867,7 +3867,7 @@ $lang = array(
'cancellation_pending' => 'Aflysning afventer, vi kontakter dig!', 'cancellation_pending' => 'Aflysning afventer, vi kontakter dig!',
'list_of_payments' => 'Liste over Betalinger', 'list_of_payments' => 'Liste over Betalinger',
'payment_details' => 'Detaljer om Betaling', 'payment_details' => 'Detaljer om Betaling',
'list_of_payment_invoices' => 'Liste over Fakturaer berørt af Betaling', 'list_of_payment_invoices' => 'Associate invoices',
'list_of_payment_methods' => 'Liste over Betaling', 'list_of_payment_methods' => 'Liste over Betaling',
'payment_method_details' => 'Detaljer om Betaling', 'payment_method_details' => 'Detaljer om Betaling',
'permanently_remove_payment_method' => 'Fjern denne Betaling permanent.', 'permanently_remove_payment_method' => 'Fjern denne Betaling permanent.',
@ -4924,7 +4924,7 @@ $lang = array(
'no_assigned_tasks' => 'Ingen fakturerbare opgaver for dette projekt', 'no_assigned_tasks' => 'Ingen fakturerbare opgaver for dette projekt',
'authorization_failure' => 'Utilstrækkelige tilladelser til at udføre denne handling', 'authorization_failure' => 'Utilstrækkelige tilladelser til at udføre denne handling',
'authorization_sms_failure' => 'Bekræft venligst din konto for at sende e-mails.', 'authorization_sms_failure' => 'Bekræft venligst din konto for at sende e-mails.',
'white_label_body' => 'Tak fordi du har købt en Hvidmærke licens.<br><br> Din licensnøgle er:<br><br> :license_key', 'white_label_body' => 'Thank you for purchasing a white label license. <br><br> Your license key is: <br><br> :license_key <br><br> You can manage your license here: https://invoiceninja.invoicing.co/client/login',
'payment_type_Klarna' => 'Klarna', 'payment_type_Klarna' => 'Klarna',
'payment_type_Interac E Transfer' => 'Interac E Transfer', 'payment_type_Interac E Transfer' => 'Interac E Transfer',
'xinvoice_payable' => 'Betales inden for :payeddue dage netto indtil :paydate', 'xinvoice_payable' => 'Betales inden for :payeddue dage netto indtil :paydate',
@ -5119,7 +5119,7 @@ $lang = array(
'set_private' => 'Indstil privat', 'set_private' => 'Indstil privat',
'individual' => 'Individuel', 'individual' => 'Individuel',
'business' => 'Forretning', 'business' => 'Forretning',
'partnership' => 'partnerskab', 'partnership' => 'Partnership',
'trust' => 'Tillid', 'trust' => 'Tillid',
'charity' => 'Velgørenhed', 'charity' => 'Velgørenhed',
'government' => 'Regering', 'government' => 'Regering',
@ -5220,7 +5220,22 @@ $lang = array(
'unsubscribe_help' => 'You are currently not subscribed, and therefore, will not receive emails at this time.', 'unsubscribe_help' => 'You are currently not subscribed, and therefore, will not receive emails at this time.',
'notification_purchase_order_bounced' => 'We were unable to deliver Purchase Order :invoice to :contact. <br><br> :error', 'notification_purchase_order_bounced' => 'We were unable to deliver Purchase Order :invoice to :contact. <br><br> :error',
'notification_purchase_order_bounced_subject' => 'Unable to deliver Purchase Order :invoice', 'notification_purchase_order_bounced_subject' => 'Unable to deliver Purchase Order :invoice',
'show_pdfhtml_on_mobile' => 'Display HTML version of entity when viewing on mobile',
'show_pdfhtml_on_mobile_help' => 'For improved visualization, displays a HTML version of the invoice/quote when viewing on mobile.',
'please_select_an_invoice_or_credit' => 'Please select an invoice or credit',
'mobile_version' => 'Mobile Version',
'venmo' => 'Venmo',
'my_bank' => 'MyBank',
'pay_later' => 'Pay Later',
'local_domain' => 'Local Domain',
'verify_peer' => 'Verify Peer',
'nordigen_help' => 'Note: connecting an account requires a GoCardless/Nordigen API key',
'ar_detailed' => 'Accounts Receivable Detailed',
'ar_summary' => 'Accounts Receivable Summary',
'client_sales' => 'Client Sales',
'user_sales' => 'User Sales',
'iframe_url' => 'iFrame URL',
'user_unsubscribed' => 'User unsubscribed from emails :link',
); );
return $lang; return $lang;

View File

@ -694,9 +694,9 @@ $lang = array(
'disable' => 'Deaktivieren', 'disable' => 'Deaktivieren',
'invoice_quote_number' => 'Rechnungs- und Angebotsnummern', 'invoice_quote_number' => 'Rechnungs- und Angebotsnummern',
'invoice_charges' => 'Rechnungsgebühren', 'invoice_charges' => 'Rechnungsgebühren',
'notification_invoice_bounced' => 'We were unable to deliver Invoice :invoice to :contact. <br><br> :error', 'notification_invoice_bounced' => 'Wir waren nicht in der Lage, die Rechnung :invoice an :contact zu liefern. \n :error',
'notification_invoice_bounced_subject' => 'Rechnung :invoice nicht zugestellt.', 'notification_invoice_bounced_subject' => 'Rechnung :invoice nicht zugestellt.',
'notification_quote_bounced' => 'We were unable to deliver Quote :invoice to :contact. <br><br> :error', 'notification_quote_bounced' => 'Wir waren nicht in der Lage, das Angebot :invoice an :contact zu liefern. \n :error',
'notification_quote_bounced_subject' => 'Angebot :invoice wurde nicht zugestellt.', 'notification_quote_bounced_subject' => 'Angebot :invoice wurde nicht zugestellt.',
'custom_invoice_link' => 'Manueller Rechnungs-Link', 'custom_invoice_link' => 'Manueller Rechnungs-Link',
'total_invoiced' => 'Rechnungs-Betrag', 'total_invoiced' => 'Rechnungs-Betrag',
@ -3870,7 +3870,7 @@ https://invoiceninja.github.io/docs/migration/#troubleshooting',
'cancellation_pending' => 'Kündigung in Bearbeitung! Wir melden uns bei Ihnen...', 'cancellation_pending' => 'Kündigung in Bearbeitung! Wir melden uns bei Ihnen...',
'list_of_payments' => 'Liste der Zahlungen', 'list_of_payments' => 'Liste der Zahlungen',
'payment_details' => 'Details zu der Zahlung', 'payment_details' => 'Details zu der Zahlung',
'list_of_payment_invoices' => 'Liste der Rechnungen die von dieser Zahlung betroffenen sind', 'list_of_payment_invoices' => 'Associate invoices',
'list_of_payment_methods' => 'Liste der Zahlungsmethoden', 'list_of_payment_methods' => 'Liste der Zahlungsmethoden',
'payment_method_details' => 'Details zu der Zahlungsmethode', 'payment_method_details' => 'Details zu der Zahlungsmethode',
'permanently_remove_payment_method' => 'Zahlungsmethode endgültig entfernen.', 'permanently_remove_payment_method' => 'Zahlungsmethode endgültig entfernen.',
@ -4927,7 +4927,7 @@ https://invoiceninja.github.io/docs/migration/#troubleshooting',
'no_assigned_tasks' => 'Keine abzurechenden Aufgaben für diese Rechnung', 'no_assigned_tasks' => 'Keine abzurechenden Aufgaben für diese Rechnung',
'authorization_failure' => 'Unzureichende Berechtigungen um diese Aktion auszuführen', 'authorization_failure' => 'Unzureichende Berechtigungen um diese Aktion auszuführen',
'authorization_sms_failure' => 'Bitte bestätigen Sie Ihr Konto um E-Mails zu versenden', 'authorization_sms_failure' => 'Bitte bestätigen Sie Ihr Konto um E-Mails zu versenden',
'white_label_body' => 'Vielen Dank für den Kauf einer White-Label-Lizenz. <br> <br> Ihr Lizenzschlüssel lautet: <br> <br> :license_key', 'white_label_body' => 'Thank you for purchasing a white label license. <br><br> Your license key is: <br><br> :license_key <br><br> You can manage your license here: https://invoiceninja.invoicing.co/client/login',
'payment_type_Klarna' => 'Klarna', 'payment_type_Klarna' => 'Klarna',
'payment_type_Interac E Transfer' => 'Interac E-Übertragung', 'payment_type_Interac E Transfer' => 'Interac E-Übertragung',
'xinvoice_payable' => 'Zahlbar innerhalb von :payeddue Tagen netto bis :paydate', 'xinvoice_payable' => 'Zahlbar innerhalb von :payeddue Tagen netto bis :paydate',
@ -5151,14 +5151,14 @@ Leistungsempfängers',
'load_template_description' => 'Das Template wird auf Folgendes angewendet:', 'load_template_description' => 'Das Template wird auf Folgendes angewendet:',
'run_template' => 'Template anwenden', 'run_template' => 'Template anwenden',
'statement_design' => 'Statement Design', 'statement_design' => 'Statement Design',
'delivery_note_design' => 'Delivery Note Design', 'delivery_note_design' => 'Lieferschein Design',
'payment_receipt_design' => 'Payment Receipt Design', 'payment_receipt_design' => 'Zahlungsbeleg Design',
'payment_refund_design' => 'Payment Refund Design', 'payment_refund_design' => 'Gutschrift Design',
'task_extension_banner' => 'Add the Chrome extension to manage your tasks', 'task_extension_banner' => 'Die Chrome Erweiterung hinzufügen, um Aufgaben zu bearbeiten',
'watch_video' => 'Video ansehen', 'watch_video' => 'Video ansehen',
'view_extension' => 'View Extension', 'view_extension' => 'Erweiterung ansehen',
'reactivate_email' => 'E-Mail reaktivieren', 'reactivate_email' => 'E-Mail reaktivieren',
'email_reactivated' => 'Successfully reactivated email', 'email_reactivated' => 'Email erfolgreich reaktiviert',
'template_help' => 'Enable using the design as a template', 'template_help' => 'Enable using the design as a template',
'quarter' => 'Quartal', 'quarter' => 'Quartal',
'item_description' => 'Item Description', 'item_description' => 'Item Description',
@ -5225,7 +5225,22 @@ Leistungsempfängers',
'unsubscribe_help' => 'You are currently not subscribed, and therefore, will not receive emails at this time.', 'unsubscribe_help' => 'You are currently not subscribed, and therefore, will not receive emails at this time.',
'notification_purchase_order_bounced' => 'We were unable to deliver Purchase Order :invoice to :contact. <br><br> :error', 'notification_purchase_order_bounced' => 'We were unable to deliver Purchase Order :invoice to :contact. <br><br> :error',
'notification_purchase_order_bounced_subject' => 'Unable to deliver Purchase Order :invoice', 'notification_purchase_order_bounced_subject' => 'Unable to deliver Purchase Order :invoice',
'show_pdfhtml_on_mobile' => 'Display HTML version of entity when viewing on mobile',
'show_pdfhtml_on_mobile_help' => 'For improved visualization, displays a HTML version of the invoice/quote when viewing on mobile.',
'please_select_an_invoice_or_credit' => 'Please select an invoice or credit',
'mobile_version' => 'Mobile Version',
'venmo' => 'Venmo',
'my_bank' => 'MyBank',
'pay_later' => 'Später Zahlen',
'local_domain' => 'Local Domain',
'verify_peer' => 'Verify Peer',
'nordigen_help' => 'Note: connecting an account requires a GoCardless/Nordigen API key',
'ar_detailed' => 'Accounts Receivable Detailed',
'ar_summary' => 'Accounts Receivable Summary',
'client_sales' => 'Client Sales',
'user_sales' => 'User Sales',
'iframe_url' => 'iFrame URL',
'user_unsubscribed' => 'User unsubscribed from emails :link',
); );
return $lang; return $lang;

View File

@ -5237,6 +5237,9 @@ $lang = array(
'user_sales' => 'User Sales', 'user_sales' => 'User Sales',
'iframe_url' => 'iFrame URL', 'iframe_url' => 'iFrame URL',
'user_unsubscribed' => 'User unsubscribed from emails :link', 'user_unsubscribed' => 'User unsubscribed from emails :link',
'use_available_payments' => 'Use Available Payments',
'test_email_sent' => 'Successfully sent email',
'gateway_type' => 'Gateway Type',
); );
return $lang; return $lang;

View File

@ -3867,7 +3867,7 @@ $lang = array(
'cancellation_pending' => 'Cancelación pendiente, ¡nos pondremos en contacto!', 'cancellation_pending' => 'Cancelación pendiente, ¡nos pondremos en contacto!',
'list_of_payments' => 'Lista de pagos', 'list_of_payments' => 'Lista de pagos',
'payment_details' => 'Detalles del pago', 'payment_details' => 'Detalles del pago',
'list_of_payment_invoices' => 'Lista de facturas afectadas por el pago', 'list_of_payment_invoices' => 'Associate invoices',
'list_of_payment_methods' => 'Lista de métodos de pago', 'list_of_payment_methods' => 'Lista de métodos de pago',
'payment_method_details' => 'Detalles del método de pago', 'payment_method_details' => 'Detalles del método de pago',
'permanently_remove_payment_method' => 'Eliminar permanentemente este método de pago.', 'permanently_remove_payment_method' => 'Eliminar permanentemente este método de pago.',
@ -4924,7 +4924,7 @@ $lang = array(
'no_assigned_tasks' => 'No hay tareas facturables para este proyecto', 'no_assigned_tasks' => 'No hay tareas facturables para este proyecto',
'authorization_failure' => 'Permisos insuficientes para realizar esta acción', 'authorization_failure' => 'Permisos insuficientes para realizar esta acción',
'authorization_sms_failure' => 'Por favor verifique su cuenta para enviar correos electrónicos.', 'authorization_sms_failure' => 'Por favor verifique su cuenta para enviar correos electrónicos.',
'white_label_body' => 'Thank you for purchasing a white label license. <br><br> Your license key is: <br><br> :license_key', 'white_label_body' => 'Thank you for purchasing a white label license. <br><br> Your license key is: <br><br> :license_key <br><br> You can manage your license here: https://invoiceninja.invoicing.co/client/login',
'payment_type_Klarna' => 'Klarna', 'payment_type_Klarna' => 'Klarna',
'payment_type_Interac E Transfer' => 'Transferencia Interac E', 'payment_type_Interac E Transfer' => 'Transferencia Interac E',
'xinvoice_payable' => 'Payable within :payeddue days net until :paydate', 'xinvoice_payable' => 'Payable within :payeddue days net until :paydate',
@ -5119,7 +5119,7 @@ $lang = array(
'set_private' => 'Establecer privado', 'set_private' => 'Establecer privado',
'individual' => 'Individual', 'individual' => 'Individual',
'business' => 'Negocio', 'business' => 'Negocio',
'partnership' => 'camaradería', 'partnership' => 'Partnership',
'trust' => 'Confianza', 'trust' => 'Confianza',
'charity' => 'Caridad', 'charity' => 'Caridad',
'government' => 'Gobierno', 'government' => 'Gobierno',
@ -5220,7 +5220,22 @@ $lang = array(
'unsubscribe_help' => 'You are currently not subscribed, and therefore, will not receive emails at this time.', 'unsubscribe_help' => 'You are currently not subscribed, and therefore, will not receive emails at this time.',
'notification_purchase_order_bounced' => 'We were unable to deliver Purchase Order :invoice to :contact. <br><br> :error', 'notification_purchase_order_bounced' => 'We were unable to deliver Purchase Order :invoice to :contact. <br><br> :error',
'notification_purchase_order_bounced_subject' => 'Unable to deliver Purchase Order :invoice', 'notification_purchase_order_bounced_subject' => 'Unable to deliver Purchase Order :invoice',
'show_pdfhtml_on_mobile' => 'Display HTML version of entity when viewing on mobile',
'show_pdfhtml_on_mobile_help' => 'For improved visualization, displays a HTML version of the invoice/quote when viewing on mobile.',
'please_select_an_invoice_or_credit' => 'Please select an invoice or credit',
'mobile_version' => 'Mobile Version',
'venmo' => 'Venmo',
'my_bank' => 'MyBank',
'pay_later' => 'Pay Later',
'local_domain' => 'Local Domain',
'verify_peer' => 'Verify Peer',
'nordigen_help' => 'Note: connecting an account requires a GoCardless/Nordigen API key',
'ar_detailed' => 'Accounts Receivable Detailed',
'ar_summary' => 'Accounts Receivable Summary',
'client_sales' => 'Client Sales',
'user_sales' => 'User Sales',
'iframe_url' => 'iFrame URL',
'user_unsubscribed' => 'User unsubscribed from emails :link',
); );
return $lang; return $lang;

View File

@ -693,9 +693,9 @@ $lang = array(
'disable' => 'Deshabilitado', 'disable' => 'Deshabilitado',
'invoice_quote_number' => 'Números de Factura y Presupuesto', 'invoice_quote_number' => 'Números de Factura y Presupuesto',
'invoice_charges' => 'Recargos de Factura', 'invoice_charges' => 'Recargos de Factura',
'notification_invoice_bounced' => 'We were unable to deliver Invoice :invoice to :contact. <br><br> :error', 'notification_invoice_bounced' => 'No pudimos entregar la factura :invoice a :contact. <br><br> :error',
'notification_invoice_bounced_subject' => 'No se puede entregar la factura :invoice', 'notification_invoice_bounced_subject' => 'No se puede entregar la factura :invoice',
'notification_quote_bounced' => 'We were unable to deliver Quote :invoice to :contact. <br><br> :error', 'notification_quote_bounced' => 'No pudimos entregar el presupuesto :invoice a :contact. <br><br> :error',
'notification_quote_bounced_subject' => 'No se puede entregar el presupuesto :invoice', 'notification_quote_bounced_subject' => 'No se puede entregar el presupuesto :invoice',
'custom_invoice_link' => 'Enlace a Factura personalizado', 'custom_invoice_link' => 'Enlace a Factura personalizado',
'total_invoiced' => 'Total Facturado', 'total_invoiced' => 'Total Facturado',
@ -3006,7 +3006,7 @@ Una vez que tenga los montos, vuelva a esta página de métodos de pago y haga c
'hosted_login' => 'Acceso alojado', 'hosted_login' => 'Acceso alojado',
'selfhost_login' => 'Acceso auto alojado', 'selfhost_login' => 'Acceso auto alojado',
'google_login' => 'Acceso con Google', 'google_login' => 'Acceso con Google',
'thanks_for_patience' => 'Thank for your patience while we work to implement these features.<br><br>We hope to have them completed in the next few months.<br><br>Until then we\'ll continue to support the', 'thanks_for_patience' => 'Gracias por su paciencia mientras trabajamos para implementar estas funciones.<br><br>Esperamos completarlas en los próximos meses.<br><br>Hasta entonces, continuaremos brindando soporte',
'legacy_mobile_app' => 'app móvil heredada', 'legacy_mobile_app' => 'app móvil heredada',
'today' => 'Hoy', 'today' => 'Hoy',
'current' => 'Actual', 'current' => 'Actual',
@ -3864,7 +3864,7 @@ Una vez que tenga los montos, vuelva a esta página de métodos de pago y haga c
'cancellation_pending' => 'Cancelación pendiente, ¡estaremos en contacto!', 'cancellation_pending' => 'Cancelación pendiente, ¡estaremos en contacto!',
'list_of_payments' => 'Listado de pagos', 'list_of_payments' => 'Listado de pagos',
'payment_details' => 'Detalles del pago', 'payment_details' => 'Detalles del pago',
'list_of_payment_invoices' => 'Lista de facturas afectadas por el pago', 'list_of_payment_invoices' => 'Facturas asociadas',
'list_of_payment_methods' => 'Lista de medios de pago', 'list_of_payment_methods' => 'Lista de medios de pago',
'payment_method_details' => 'Detalles del medio de pago', 'payment_method_details' => 'Detalles del medio de pago',
'permanently_remove_payment_method' => 'Eliminar permanentemente este medio de pago.', 'permanently_remove_payment_method' => 'Eliminar permanentemente este medio de pago.',
@ -4921,7 +4921,7 @@ Una vez que tenga los montos, vuelva a esta página de métodos de pago y haga c
'no_assigned_tasks' => 'No hay tareas facturables para este proyecto', 'no_assigned_tasks' => 'No hay tareas facturables para este proyecto',
'authorization_failure' => 'Permisos insuficientes para realizar esta acción', 'authorization_failure' => 'Permisos insuficientes para realizar esta acción',
'authorization_sms_failure' => 'Por favor verifique su cuenta para enviar correos electrónicos.', 'authorization_sms_failure' => 'Por favor verifique su cuenta para enviar correos electrónicos.',
'white_label_body' => 'Gracias por comprar una licencia de marca blanca.<br><br> Su clave de licencia es:<br><br> :license_key', 'white_label_body' => 'Thank you for purchasing a white label license. <br><br> Your license key is: <br><br> :license_key <br><br> You can manage your license here: https://invoiceninja.invoicing.co/client/login',
'payment_type_Klarna' => 'Klarna', 'payment_type_Klarna' => 'Klarna',
'payment_type_Interac E Transfer' => 'Interac E Transfer', 'payment_type_Interac E Transfer' => 'Interac E Transfer',
'xinvoice_payable' => 'Pagadero dentro de :payeddue días de pago vencido neto hasta :paydate', 'xinvoice_payable' => 'Pagadero dentro de :payeddue días de pago vencido neto hasta :paydate',
@ -5117,7 +5117,7 @@ De lo contrario, este campo deberá dejarse en blanco.',
'set_private' => 'Establecer privado', 'set_private' => 'Establecer privado',
'individual' => 'Individual', 'individual' => 'Individual',
'business' => 'Negocio', 'business' => 'Negocio',
'partnership' => 'asociación', 'partnership' => 'Asociación',
'trust' => 'Confianza', 'trust' => 'Confianza',
'charity' => 'Caridad', 'charity' => 'Caridad',
'government' => 'Gobierno', 'government' => 'Gobierno',
@ -5210,15 +5210,30 @@ De lo contrario, este campo deberá dejarse en blanco.',
'nordigen_requisition_body' => 'El acceso a los feeds de cuentas bancarias ha caducado según lo establecido en el Acuerdo de usuario final. <br><br>Inicie sesión en Invoice Ninja y vuelva a autenticarse con sus bancos para continuar recibiendo transacciones.', 'nordigen_requisition_body' => 'El acceso a los feeds de cuentas bancarias ha caducado según lo establecido en el Acuerdo de usuario final. <br><br>Inicie sesión en Invoice Ninja y vuelva a autenticarse con sus bancos para continuar recibiendo transacciones.',
'participant' => 'Participante', 'participant' => 'Participante',
'participant_name' => 'Nombre del participante', 'participant_name' => 'Nombre del participante',
'client_unsubscribed' => 'Client unsubscribed from emails.', 'client_unsubscribed' => 'El cliente se dio de baja de los correos electrónicos.',
'client_unsubscribed_help' => 'Client :client has unsubscribed from your e-mails. The client needs to consent to receive future emails from you.', 'client_unsubscribed_help' => 'El cliente :client se ha dado de baja de sus correos electrónicos. El cliente debe dar su consentimiento para recibir futuros correos electrónicos.',
'resubscribe' => 'Resubscribe', 'resubscribe' => 'Volver a suscribirse',
'subscribe' => 'Subscribe', 'subscribe' => 'Suscribirse',
'subscribe_help' => 'You are currently subscribed and will continue to receive email communications.', 'subscribe_help' => 'Actualmente está suscrito y seguirá recibiendo comunicaciones por correo electrónico.',
'unsubscribe_help' => 'You are currently not subscribed, and therefore, will not receive emails at this time.', 'unsubscribe_help' => 'Actualmente no estás suscrito y, por lo tanto, no recibirás correos electrónicos en este momento.',
'notification_purchase_order_bounced' => 'We were unable to deliver Purchase Order :invoice to :contact. <br><br> :error', 'notification_purchase_order_bounced' => 'No pudimos entregar la orden de compra :invoice a :contact. <br><br> :error',
'notification_purchase_order_bounced_subject' => 'Unable to deliver Purchase Order :invoice', 'notification_purchase_order_bounced_subject' => 'No se puede entregar la orden de compra :invoice',
'show_pdfhtml_on_mobile' => 'Mostrar la versión HTML de la entidad cuando se visualiza en un dispositivo móvil',
'show_pdfhtml_on_mobile_help' => 'Para una visualización mejorada, muestra una versión HTML de la factura/presupuesto cuando se visualiza en el dispositivo móvil.',
'please_select_an_invoice_or_credit' => 'Por favor seleccione una factura o crédito',
'mobile_version' => 'Version móvil',
'venmo' => 'Venmo',
'my_bank' => 'MyBank',
'pay_later' => 'Paga después',
'local_domain' => 'Dominio local',
'verify_peer' => 'Verificar par',
'nordigen_help' => 'Nota: conectar una cuenta requiere una clave API de GoCardless/Nordigen',
'ar_detailed' => 'Cuentas por cobrar detalladas',
'ar_summary' => 'Resumen de cuentas por cobrar',
'client_sales' => 'Ventas al cliente',
'user_sales' => 'Ventas de usuarios',
'iframe_url' => 'iFrame URL',
'user_unsubscribed' => 'Usuario dado de baja de los correos electrónicos :link',
); );
return $lang; return $lang;

View File

@ -3868,7 +3868,7 @@ Lorsque les montant apparaîtront sur votre relevé, veuillez revenir sur cette
'cancellation_pending' => 'Annulation en cours, nous vous contacterons !', 'cancellation_pending' => 'Annulation en cours, nous vous contacterons !',
'list_of_payments' => 'Liste des paiements', 'list_of_payments' => 'Liste des paiements',
'payment_details' => 'Détails du paiement', 'payment_details' => 'Détails du paiement',
'list_of_payment_invoices' => 'Liste des factures affectées par le paiement', 'list_of_payment_invoices' => 'Associate invoices',
'list_of_payment_methods' => 'Liste des moyens de paiement', 'list_of_payment_methods' => 'Liste des moyens de paiement',
'payment_method_details' => 'Détails du mode de paiement', 'payment_method_details' => 'Détails du mode de paiement',
'permanently_remove_payment_method' => 'Supprimer définitivement ce mode de paiement.', 'permanently_remove_payment_method' => 'Supprimer définitivement ce mode de paiement.',
@ -4925,7 +4925,7 @@ Lorsque les montant apparaîtront sur votre relevé, veuillez revenir sur cette
'no_assigned_tasks' => 'Aucune tâche facturable pour ce projet', 'no_assigned_tasks' => 'Aucune tâche facturable pour ce projet',
'authorization_failure' => 'Autorisations insuffisantes pour effectuer cette action', 'authorization_failure' => 'Autorisations insuffisantes pour effectuer cette action',
'authorization_sms_failure' => 'Veuillez vérifier votre compte pour envoyer des e-mails.', 'authorization_sms_failure' => 'Veuillez vérifier votre compte pour envoyer des e-mails.',
'white_label_body' => 'Merci d\'avoir acheté une licence en marque blanche. <br> <br> Votre clé de licence est : <br> <br> :license_key', 'white_label_body' => 'Thank you for purchasing a white label license. <br><br> Your license key is: <br><br> :license_key <br><br> You can manage your license here: https://invoiceninja.invoicing.co/client/login',
'payment_type_Klarna' => 'Klarna', 'payment_type_Klarna' => 'Klarna',
'payment_type_Interac E Transfer' => 'Virement Interac E', 'payment_type_Interac E Transfer' => 'Virement Interac E',
'xinvoice_payable' => 'Payable sous :payeddue days net jusqu\'au :paydate', 'xinvoice_payable' => 'Payable sous :payeddue days net jusqu\'au :paydate',
@ -5120,7 +5120,7 @@ Lorsque les montant apparaîtront sur votre relevé, veuillez revenir sur cette
'set_private' => 'Définir comme privé', 'set_private' => 'Définir comme privé',
'individual' => 'Individuel', 'individual' => 'Individuel',
'business' => 'Entreprise', 'business' => 'Entreprise',
'partnership' => 'Partenariat', 'partnership' => 'Partnership',
'trust' => 'Confiance', 'trust' => 'Confiance',
'charity' => 'Charité', 'charity' => 'Charité',
'government' => 'Gouvernement', 'government' => 'Gouvernement',
@ -5221,7 +5221,22 @@ Lorsque les montant apparaîtront sur votre relevé, veuillez revenir sur cette
'unsubscribe_help' => 'You are currently not subscribed, and therefore, will not receive emails at this time.', 'unsubscribe_help' => 'You are currently not subscribed, and therefore, will not receive emails at this time.',
'notification_purchase_order_bounced' => 'We were unable to deliver Purchase Order :invoice to :contact. <br><br> :error', 'notification_purchase_order_bounced' => 'We were unable to deliver Purchase Order :invoice to :contact. <br><br> :error',
'notification_purchase_order_bounced_subject' => 'Unable to deliver Purchase Order :invoice', 'notification_purchase_order_bounced_subject' => 'Unable to deliver Purchase Order :invoice',
'show_pdfhtml_on_mobile' => 'Display HTML version of entity when viewing on mobile',
'show_pdfhtml_on_mobile_help' => 'For improved visualization, displays a HTML version of the invoice/quote when viewing on mobile.',
'please_select_an_invoice_or_credit' => 'Please select an invoice or credit',
'mobile_version' => 'Mobile Version',
'venmo' => 'Venmo',
'my_bank' => 'MyBank',
'pay_later' => 'Pay Later',
'local_domain' => 'Local Domain',
'verify_peer' => 'Verify Peer',
'nordigen_help' => 'Note: connecting an account requires a GoCardless/Nordigen API key',
'ar_detailed' => 'Accounts Receivable Detailed',
'ar_summary' => 'Accounts Receivable Summary',
'client_sales' => 'Client Sales',
'user_sales' => 'User Sales',
'iframe_url' => 'iFrame URL',
'user_unsubscribed' => 'User unsubscribed from emails :link',
); );
return $lang; return $lang;

View File

@ -3865,7 +3865,7 @@ Lorsque les montant apparaîtront sur votre relevé, veuillez revenir sur cette
'cancellation_pending' => 'Annulation en attente. Nous vous tiendrons au courant.', 'cancellation_pending' => 'Annulation en attente. Nous vous tiendrons au courant.',
'list_of_payments' => 'Liste des paiements', 'list_of_payments' => 'Liste des paiements',
'payment_details' => 'Détails du paiement', 'payment_details' => 'Détails du paiement',
'list_of_payment_invoices' => 'Liste des factures affectées par le paiement', 'list_of_payment_invoices' => 'Associer les factures',
'list_of_payment_methods' => 'Liste des modes de paiement', 'list_of_payment_methods' => 'Liste des modes de paiement',
'payment_method_details' => 'Détails du mode de paiement', 'payment_method_details' => 'Détails du mode de paiement',
'permanently_remove_payment_method' => 'Supprimer de façon définitive ce mode de paiement', 'permanently_remove_payment_method' => 'Supprimer de façon définitive ce mode de paiement',
@ -4295,7 +4295,7 @@ Lorsque les montant apparaîtront sur votre relevé, veuillez revenir sur cette
'expense_tax_help' => 'Les taxes par article sont désactivées', 'expense_tax_help' => 'Les taxes par article sont désactivées',
'enable_markdown' => 'Activer Markdown', 'enable_markdown' => 'Activer Markdown',
'enable_markdown_help' => 'Convertir Markdown en HTML dans le PDF', 'enable_markdown_help' => 'Convertir Markdown en HTML dans le PDF',
'add_second_contact' => 'Ajouter un dexième contact', 'add_second_contact' => 'Ajouter un deuxième contact',
'previous_page' => 'Page précédente', 'previous_page' => 'Page précédente',
'next_page' => 'Page suivante', 'next_page' => 'Page suivante',
'export_colors' => 'Exporter les couleurs', 'export_colors' => 'Exporter les couleurs',
@ -4922,7 +4922,7 @@ Lorsque les montant apparaîtront sur votre relevé, veuillez revenir sur cette
'no_assigned_tasks' => 'Aucune tâche facturable pour ce projet.', 'no_assigned_tasks' => 'Aucune tâche facturable pour ce projet.',
'authorization_failure' => 'Permissions insuffisantes pour accomplir cette action', 'authorization_failure' => 'Permissions insuffisantes pour accomplir cette action',
'authorization_sms_failure' => 'Veuillez vérifier votre compte pour l\'envoi de courriel.', 'authorization_sms_failure' => 'Veuillez vérifier votre compte pour l\'envoi de courriel.',
'white_label_body' => 'Merci d\'avoir acheté une licence. <br><br> Votre clé de licence est: <br><br> :license_key', 'white_label_body' => 'Merci d\'avoir acheté une licence sans marque. <br><br> Votre clé de licence est : <br><br> :license_key <br><br> Vous pouvez gérer votre licence ici : https://invoiceninja.invoicing.co/client/login',
'payment_type_Klarna' => 'Klarna', 'payment_type_Klarna' => 'Klarna',
'payment_type_Interac E Transfer' => 'Transfert Interac', 'payment_type_Interac E Transfer' => 'Transfert Interac',
'xinvoice_payable' => 'Payable d\'ici :payeddue jours jusqu\'à :paydate', 'xinvoice_payable' => 'Payable d\'ici :payeddue jours jusqu\'à :paydate',
@ -5117,7 +5117,7 @@ Lorsque les montant apparaîtront sur votre relevé, veuillez revenir sur cette
'set_private' => 'Privé', 'set_private' => 'Privé',
'individual' => 'Individuel', 'individual' => 'Individuel',
'business' => 'Entreprise', 'business' => 'Entreprise',
'partnership' => 'partenaire', 'partnership' => 'Partenariat',
'trust' => 'Fiducie', 'trust' => 'Fiducie',
'charity' => 'Organisation caritative', 'charity' => 'Organisation caritative',
'government' => 'Gouvernement', 'government' => 'Gouvernement',
@ -5218,7 +5218,22 @@ Lorsque les montant apparaîtront sur votre relevé, veuillez revenir sur cette
'unsubscribe_help' => 'Vous n\'êtes actuellement pas abonné et vous ne recevrez pas de courriels pour le moment.', 'unsubscribe_help' => 'Vous n\'êtes actuellement pas abonné et vous ne recevrez pas de courriels pour le moment.',
'notification_purchase_order_bounced' => 'Nous n\'avons pas pu émettre le bon de commande :invoice à :contact. <br><br> :error', 'notification_purchase_order_bounced' => 'Nous n\'avons pas pu émettre le bon de commande :invoice à :contact. <br><br> :error',
'notification_purchase_order_bounced_subject' => 'Impossible de livrer le bon de commande :invoice', 'notification_purchase_order_bounced_subject' => 'Impossible de livrer le bon de commande :invoice',
'show_pdfhtml_on_mobile' => 'Afficher la version HTML lors de la visualisation sur mobile.',
'show_pdfhtml_on_mobile_help' => 'Pour une meilleure visualisation, affiche une version HTML de la facture/soumission lors de la consultation sur mobile.',
'please_select_an_invoice_or_credit' => 'Veuillez sélectionner une facture ou un crédit.',
'mobile_version' => 'Version mobile',
'venmo' => 'Venmo',
'my_bank' => 'MyBank',
'pay_later' => 'Payer plus tard',
'local_domain' => 'Domaine local',
'verify_peer' => 'Vérifier le pair',
'nordigen_help' => 'Note: la connexion d\'un compte nécessite une clé d\'API GoCardless/Nordigen.',
'ar_detailed' => 'Détails des comptes clients',
'ar_summary' => 'Résumé des comptes clients',
'client_sales' => 'Ventes du client',
'user_sales' => 'Ventes de l\'utilisateur',
'iframe_url' => 'URL de l\'iFrame',
'user_unsubscribed' => 'Utilisateur désabonné des courriels :link',
); );
return $lang; return $lang;

View File

@ -3865,7 +3865,7 @@ Lorsque les montant apparaîtront sur votre relevé, veuillez revenir sur cette
'cancellation_pending' => 'Annulation en attente. Nous vous tiendrons au courant.', 'cancellation_pending' => 'Annulation en attente. Nous vous tiendrons au courant.',
'list_of_payments' => 'Liste des paiements', 'list_of_payments' => 'Liste des paiements',
'payment_details' => 'Détails du paiement', 'payment_details' => 'Détails du paiement',
'list_of_payment_invoices' => 'Liste des factures affectées par le paiement', 'list_of_payment_invoices' => 'Associate invoices',
'list_of_payment_methods' => 'Liste des modes de paiement', 'list_of_payment_methods' => 'Liste des modes de paiement',
'payment_method_details' => 'Détails du mode de paiement', 'payment_method_details' => 'Détails du mode de paiement',
'permanently_remove_payment_method' => 'Supprimer de façon définitive ce mode de paiement', 'permanently_remove_payment_method' => 'Supprimer de façon définitive ce mode de paiement',
@ -4922,7 +4922,7 @@ Lorsque les montant apparaîtront sur votre relevé, veuillez revenir sur cette
'no_assigned_tasks' => 'Aucune intervetion facturable pour ce projet', 'no_assigned_tasks' => 'Aucune intervetion facturable pour ce projet',
'authorization_failure' => 'Insufficient permissions to perform this action', 'authorization_failure' => 'Insufficient permissions to perform this action',
'authorization_sms_failure' => 'Please verify your account to send emails.', 'authorization_sms_failure' => 'Please verify your account to send emails.',
'white_label_body' => 'Thank you for purchasing a white label license. <br><br> Your license key is: <br><br> :license_key', 'white_label_body' => 'Thank you for purchasing a white label license. <br><br> Your license key is: <br><br> :license_key <br><br> You can manage your license here: https://invoiceninja.invoicing.co/client/login',
'payment_type_Klarna' => 'Klarna', 'payment_type_Klarna' => 'Klarna',
'payment_type_Interac E Transfer' => 'Interac E Transfer', 'payment_type_Interac E Transfer' => 'Interac E Transfer',
'xinvoice_payable' => 'Payable sous :payeddue jours net jusqu&#39;à :paydate', 'xinvoice_payable' => 'Payable sous :payeddue jours net jusqu&#39;à :paydate',
@ -5117,7 +5117,7 @@ Lorsque les montant apparaîtront sur votre relevé, veuillez revenir sur cette
'set_private' => 'Définir comme privé', 'set_private' => 'Définir comme privé',
'individual' => 'Individuel', 'individual' => 'Individuel',
'business' => 'Entreprise', 'business' => 'Entreprise',
'partnership' => 'partenaire', 'partnership' => 'Partnership',
'trust' => 'Confiance', 'trust' => 'Confiance',
'charity' => 'Charité', 'charity' => 'Charité',
'government' => 'Gouvernement', 'government' => 'Gouvernement',
@ -5218,7 +5218,22 @@ Lorsque les montant apparaîtront sur votre relevé, veuillez revenir sur cette
'unsubscribe_help' => 'You are currently not subscribed, and therefore, will not receive emails at this time.', 'unsubscribe_help' => 'You are currently not subscribed, and therefore, will not receive emails at this time.',
'notification_purchase_order_bounced' => 'We were unable to deliver Purchase Order :invoice to :contact. <br><br> :error', 'notification_purchase_order_bounced' => 'We were unable to deliver Purchase Order :invoice to :contact. <br><br> :error',
'notification_purchase_order_bounced_subject' => 'Unable to deliver Purchase Order :invoice', 'notification_purchase_order_bounced_subject' => 'Unable to deliver Purchase Order :invoice',
'show_pdfhtml_on_mobile' => 'Display HTML version of entity when viewing on mobile',
'show_pdfhtml_on_mobile_help' => 'For improved visualization, displays a HTML version of the invoice/quote when viewing on mobile.',
'please_select_an_invoice_or_credit' => 'Please select an invoice or credit',
'mobile_version' => 'Mobile Version',
'venmo' => 'Venmo',
'my_bank' => 'MyBank',
'pay_later' => 'Pay Later',
'local_domain' => 'Local Domain',
'verify_peer' => 'Verify Peer',
'nordigen_help' => 'Note: connecting an account requires a GoCardless/Nordigen API key',
'ar_detailed' => 'Accounts Receivable Detailed',
'ar_summary' => 'Accounts Receivable Summary',
'client_sales' => 'Client Sales',
'user_sales' => 'User Sales',
'iframe_url' => 'iFrame URL',
'user_unsubscribed' => 'User unsubscribed from emails :link',
); );
return $lang; return $lang;

View File

@ -3866,7 +3866,7 @@ $lang = array(
'cancellation_pending' => 'הביטול בהמתנה, ניצור איתך קשר!', 'cancellation_pending' => 'הביטול בהמתנה, ניצור איתך קשר!',
'list_of_payments' => 'רשימת תשלומים', 'list_of_payments' => 'רשימת תשלומים',
'payment_details' => 'פרטי התשלום', 'payment_details' => 'פרטי התשלום',
'list_of_payment_invoices' => 'רשימת חשבוניות שיושפעו מהתשלום', 'list_of_payment_invoices' => 'Associate invoices',
'list_of_payment_methods' => 'רשימת אמצעי תשלום', 'list_of_payment_methods' => 'רשימת אמצעי תשלום',
'payment_method_details' => 'פרטים על אמצעי תשלום', 'payment_method_details' => 'פרטים על אמצעי תשלום',
'permanently_remove_payment_method' => 'הסר לצמיתות את אמצעי התשלום הזה.', 'permanently_remove_payment_method' => 'הסר לצמיתות את אמצעי התשלום הזה.',
@ -4923,7 +4923,7 @@ $lang = array(
'no_assigned_tasks' => 'אין משימות שניתנות לחיוב עבור הפרויקט הזה', 'no_assigned_tasks' => 'אין משימות שניתנות לחיוב עבור הפרויקט הזה',
'authorization_failure' => 'אין מספיק הרשאות לביצוע פעולה זו', 'authorization_failure' => 'אין מספיק הרשאות לביצוע פעולה זו',
'authorization_sms_failure' => 'אנא אמת את חשבונך כדי לשלוח אימיילים.', 'authorization_sms_failure' => 'אנא אמת את חשבונך כדי לשלוח אימיילים.',
'white_label_body' => 'תודה שרכשת רישיון לבן תווית.<br><br> מפתח הרישיון שלך הוא:<br><br> :license_key', 'white_label_body' => 'Thank you for purchasing a white label license. <br><br> Your license key is: <br><br> :license_key <br><br> You can manage your license here: https://invoiceninja.invoicing.co/client/login',
'payment_type_Klarna' => 'קלרנה', 'payment_type_Klarna' => 'קלרנה',
'payment_type_Interac E Transfer' => 'Interac E Transfer', 'payment_type_Interac E Transfer' => 'Interac E Transfer',
'xinvoice_payable' => 'ניתן לשלם תוך :payeddue ימים נטו עד :paydate', 'xinvoice_payable' => 'ניתן לשלם תוך :payeddue ימים נטו עד :paydate',
@ -5118,7 +5118,7 @@ $lang = array(
'set_private' => 'הגדר פרטי', 'set_private' => 'הגדר פרטי',
'individual' => 'אִישִׁי', 'individual' => 'אִישִׁי',
'business' => 'עֵסֶק', 'business' => 'עֵסֶק',
'partnership' => 'שׁוּתָפוּת', 'partnership' => 'Partnership',
'trust' => 'אמון', 'trust' => 'אמון',
'charity' => 'צדקה', 'charity' => 'צדקה',
'government' => 'מֶמְשָׁלָה', 'government' => 'מֶמְשָׁלָה',
@ -5219,7 +5219,22 @@ $lang = array(
'unsubscribe_help' => 'You are currently not subscribed, and therefore, will not receive emails at this time.', 'unsubscribe_help' => 'You are currently not subscribed, and therefore, will not receive emails at this time.',
'notification_purchase_order_bounced' => 'We were unable to deliver Purchase Order :invoice to :contact. <br><br> :error', 'notification_purchase_order_bounced' => 'We were unable to deliver Purchase Order :invoice to :contact. <br><br> :error',
'notification_purchase_order_bounced_subject' => 'Unable to deliver Purchase Order :invoice', 'notification_purchase_order_bounced_subject' => 'Unable to deliver Purchase Order :invoice',
'show_pdfhtml_on_mobile' => 'Display HTML version of entity when viewing on mobile',
'show_pdfhtml_on_mobile_help' => 'For improved visualization, displays a HTML version of the invoice/quote when viewing on mobile.',
'please_select_an_invoice_or_credit' => 'Please select an invoice or credit',
'mobile_version' => 'Mobile Version',
'venmo' => 'Venmo',
'my_bank' => 'MyBank',
'pay_later' => 'Pay Later',
'local_domain' => 'Local Domain',
'verify_peer' => 'Verify Peer',
'nordigen_help' => 'Note: connecting an account requires a GoCardless/Nordigen API key',
'ar_detailed' => 'Accounts Receivable Detailed',
'ar_summary' => 'Accounts Receivable Summary',
'client_sales' => 'Client Sales',
'user_sales' => 'User Sales',
'iframe_url' => 'iFrame URL',
'user_unsubscribed' => 'User unsubscribed from emails :link',
); );
return $lang; return $lang;

View File

@ -3852,7 +3852,7 @@ adva :date',
'cancellation_pending' => 'Lemondás folyamatban', 'cancellation_pending' => 'Lemondás folyamatban',
'list_of_payments' => 'Fizetések listája', 'list_of_payments' => 'Fizetések listája',
'payment_details' => 'Fizetési részletek', 'payment_details' => 'Fizetési részletek',
'list_of_payment_invoices' => 'Fizetési számlák listája', 'list_of_payment_invoices' => 'Associate invoices',
'list_of_payment_methods' => 'Fizetési módok listája', 'list_of_payment_methods' => 'Fizetési módok listája',
'payment_method_details' => 'Fizetési mód részletei', 'payment_method_details' => 'Fizetési mód részletei',
'permanently_remove_payment_method' => 'Fizetési mód végleges eltávolítása', 'permanently_remove_payment_method' => 'Fizetési mód végleges eltávolítása',
@ -4909,7 +4909,7 @@ adva :date',
'no_assigned_tasks' => 'nincsenek hozzárendelt feladatok', 'no_assigned_tasks' => 'nincsenek hozzárendelt feladatok',
'authorization_failure' => 'engedélyezési hiba', 'authorization_failure' => 'engedélyezési hiba',
'authorization_sms_failure' => 'engedélyezési SMS-hiba', 'authorization_sms_failure' => 'engedélyezési SMS-hiba',
'white_label_body' => 'fehér címke szövege', 'white_label_body' => 'Thank you for purchasing a white label license. <br><br> Your license key is: <br><br> :license_key <br><br> You can manage your license here: https://invoiceninja.invoicing.co/client/login',
'payment_type_Klarna' => 'fizetési típus: Klarna', 'payment_type_Klarna' => 'fizetési típus: Klarna',
'payment_type_Interac E Transfer' => 'fizetési típus: Interac E átutalás', 'payment_type_Interac E Transfer' => 'fizetési típus: Interac E átutalás',
'xinvoice_payable' => 'XInvoice fizetendő', 'xinvoice_payable' => 'XInvoice fizetendő',
@ -5104,7 +5104,7 @@ adva :date',
'set_private' => 'Privát beállítás', 'set_private' => 'Privát beállítás',
'individual' => 'Egyedi', 'individual' => 'Egyedi',
'business' => 'Üzleti', 'business' => 'Üzleti',
'partnership' => 'partnerség', 'partnership' => 'Partnership',
'trust' => 'Bizalom', 'trust' => 'Bizalom',
'charity' => 'Adomány', 'charity' => 'Adomány',
'government' => 'Kormány', 'government' => 'Kormány',
@ -5205,7 +5205,22 @@ adva :date',
'unsubscribe_help' => 'You are currently not subscribed, and therefore, will not receive emails at this time.', 'unsubscribe_help' => 'You are currently not subscribed, and therefore, will not receive emails at this time.',
'notification_purchase_order_bounced' => 'We were unable to deliver Purchase Order :invoice to :contact. <br><br> :error', 'notification_purchase_order_bounced' => 'We were unable to deliver Purchase Order :invoice to :contact. <br><br> :error',
'notification_purchase_order_bounced_subject' => 'Unable to deliver Purchase Order :invoice', 'notification_purchase_order_bounced_subject' => 'Unable to deliver Purchase Order :invoice',
'show_pdfhtml_on_mobile' => 'Display HTML version of entity when viewing on mobile',
'show_pdfhtml_on_mobile_help' => 'For improved visualization, displays a HTML version of the invoice/quote when viewing on mobile.',
'please_select_an_invoice_or_credit' => 'Please select an invoice or credit',
'mobile_version' => 'Mobile Version',
'venmo' => 'Venmo',
'my_bank' => 'MyBank',
'pay_later' => 'Pay Later',
'local_domain' => 'Local Domain',
'verify_peer' => 'Verify Peer',
'nordigen_help' => 'Note: connecting an account requires a GoCardless/Nordigen API key',
'ar_detailed' => 'Accounts Receivable Detailed',
'ar_summary' => 'Accounts Receivable Summary',
'client_sales' => 'Client Sales',
'user_sales' => 'User Sales',
'iframe_url' => 'iFrame URL',
'user_unsubscribed' => 'User unsubscribed from emails :link',
); );
return $lang; return $lang;

View File

@ -3859,7 +3859,7 @@ $lang = array(
'cancellation_pending' => 'Cancellazione in corso, ci metteremo in contatto!', 'cancellation_pending' => 'Cancellazione in corso, ci metteremo in contatto!',
'list_of_payments' => 'Elenco dei pagamenti', 'list_of_payments' => 'Elenco dei pagamenti',
'payment_details' => 'Dettagli del pagamento', 'payment_details' => 'Dettagli del pagamento',
'list_of_payment_invoices' => 'Elenco delle fatture interessate dal pagamento', 'list_of_payment_invoices' => 'Associate invoices',
'list_of_payment_methods' => 'Elenco dei metodi di pagamento', 'list_of_payment_methods' => 'Elenco dei metodi di pagamento',
'payment_method_details' => 'Dettagli del metodo di pagamento', 'payment_method_details' => 'Dettagli del metodo di pagamento',
'permanently_remove_payment_method' => 'Rimuovi definitivamente questo metodo di pagamento.', 'permanently_remove_payment_method' => 'Rimuovi definitivamente questo metodo di pagamento.',
@ -4916,7 +4916,7 @@ $lang = array(
'no_assigned_tasks' => 'Nessuna attività fatturabile per questo progetto', 'no_assigned_tasks' => 'Nessuna attività fatturabile per questo progetto',
'authorization_failure' => 'Autorizzazioni insufficienti per eseguire questa azione', 'authorization_failure' => 'Autorizzazioni insufficienti per eseguire questa azione',
'authorization_sms_failure' => 'Verifica il tuo account per inviare e-mail.', 'authorization_sms_failure' => 'Verifica il tuo account per inviare e-mail.',
'white_label_body' => 'Grazie per aver acquistato una licenza white label.<br><br> La tua chiave di licenza è:<br><br> :license_key', 'white_label_body' => 'Thank you for purchasing a white label license. <br><br> Your license key is: <br><br> :license_key <br><br> You can manage your license here: https://invoiceninja.invoicing.co/client/login',
'payment_type_Klarna' => 'Clarna', 'payment_type_Klarna' => 'Clarna',
'payment_type_Interac E Transfer' => 'Interac E Trasferimento', 'payment_type_Interac E Transfer' => 'Interac E Trasferimento',
'xinvoice_payable' => 'Pagabile entro :payeddue giorni netti fino :paydate', 'xinvoice_payable' => 'Pagabile entro :payeddue giorni netti fino :paydate',
@ -5111,7 +5111,7 @@ $lang = array(
'set_private' => 'Imposta privato', 'set_private' => 'Imposta privato',
'individual' => 'Individuale', 'individual' => 'Individuale',
'business' => 'Attività commerciale', 'business' => 'Attività commerciale',
'partnership' => 'associazione', 'partnership' => 'Partnership',
'trust' => 'Fiducia', 'trust' => 'Fiducia',
'charity' => 'Beneficenza', 'charity' => 'Beneficenza',
'government' => 'Governo', 'government' => 'Governo',
@ -5212,7 +5212,22 @@ $lang = array(
'unsubscribe_help' => 'You are currently not subscribed, and therefore, will not receive emails at this time.', 'unsubscribe_help' => 'You are currently not subscribed, and therefore, will not receive emails at this time.',
'notification_purchase_order_bounced' => 'We were unable to deliver Purchase Order :invoice to :contact. <br><br> :error', 'notification_purchase_order_bounced' => 'We were unable to deliver Purchase Order :invoice to :contact. <br><br> :error',
'notification_purchase_order_bounced_subject' => 'Unable to deliver Purchase Order :invoice', 'notification_purchase_order_bounced_subject' => 'Unable to deliver Purchase Order :invoice',
'show_pdfhtml_on_mobile' => 'Display HTML version of entity when viewing on mobile',
'show_pdfhtml_on_mobile_help' => 'For improved visualization, displays a HTML version of the invoice/quote when viewing on mobile.',
'please_select_an_invoice_or_credit' => 'Please select an invoice or credit',
'mobile_version' => 'Mobile Version',
'venmo' => 'Venmo',
'my_bank' => 'MyBank',
'pay_later' => 'Pay Later',
'local_domain' => 'Local Domain',
'verify_peer' => 'Verify Peer',
'nordigen_help' => 'Note: connecting an account requires a GoCardless/Nordigen API key',
'ar_detailed' => 'Accounts Receivable Detailed',
'ar_summary' => 'Accounts Receivable Summary',
'client_sales' => 'Client Sales',
'user_sales' => 'User Sales',
'iframe_url' => 'iFrame URL',
'user_unsubscribed' => 'User unsubscribed from emails :link',
); );
return $lang; return $lang;

View File

@ -3868,7 +3868,7 @@ $lang = array(
'cancellation_pending' => 'Cancellation pending, we\'ll be in touch!', 'cancellation_pending' => 'Cancellation pending, we\'ll be in touch!',
'list_of_payments' => 'List of payments', 'list_of_payments' => 'List of payments',
'payment_details' => 'Details of the payment', 'payment_details' => 'Details of the payment',
'list_of_payment_invoices' => 'List of invoices affected by the payment', 'list_of_payment_invoices' => 'Associate invoices',
'list_of_payment_methods' => 'List of payment methods', 'list_of_payment_methods' => 'List of payment methods',
'payment_method_details' => 'Details of payment method', 'payment_method_details' => 'Details of payment method',
'permanently_remove_payment_method' => 'Permanently remove this payment method.', 'permanently_remove_payment_method' => 'Permanently remove this payment method.',
@ -4925,7 +4925,7 @@ $lang = array(
'no_assigned_tasks' => 'No billable tasks for this project', 'no_assigned_tasks' => 'No billable tasks for this project',
'authorization_failure' => 'Insufficient permissions to perform this action', 'authorization_failure' => 'Insufficient permissions to perform this action',
'authorization_sms_failure' => 'Please verify your account to send emails.', 'authorization_sms_failure' => 'Please verify your account to send emails.',
'white_label_body' => 'ホワイトレーベルライセンスをお買い上げいただき、誠にありがとうございます。<br><br>ライセンス キーは次のとおりです。<br><br> :license_key', 'white_label_body' => 'Thank you for purchasing a white label license. <br><br> Your license key is: <br><br> :license_key <br><br> You can manage your license here: https://invoiceninja.invoicing.co/client/login',
'payment_type_Klarna' => 'Klarna', 'payment_type_Klarna' => 'Klarna',
'payment_type_Interac E Transfer' => 'Interac E Transfer', 'payment_type_Interac E Transfer' => 'Interac E Transfer',
'xinvoice_payable' => ':paydate まで正味 :payeddue 日以内に支払い可能', 'xinvoice_payable' => ':paydate まで正味 :payeddue 日以内に支払い可能',
@ -5120,7 +5120,7 @@ $lang = array(
'set_private' => 'Set private', 'set_private' => 'Set private',
'individual' => 'Individual', 'individual' => 'Individual',
'business' => 'Business', 'business' => 'Business',
'partnership' => 'partnership', 'partnership' => 'Partnership',
'trust' => 'Trust', 'trust' => 'Trust',
'charity' => 'Charity', 'charity' => 'Charity',
'government' => 'Government', 'government' => 'Government',
@ -5221,7 +5221,22 @@ $lang = array(
'unsubscribe_help' => 'You are currently not subscribed, and therefore, will not receive emails at this time.', 'unsubscribe_help' => 'You are currently not subscribed, and therefore, will not receive emails at this time.',
'notification_purchase_order_bounced' => 'We were unable to deliver Purchase Order :invoice to :contact. <br><br> :error', 'notification_purchase_order_bounced' => 'We were unable to deliver Purchase Order :invoice to :contact. <br><br> :error',
'notification_purchase_order_bounced_subject' => 'Unable to deliver Purchase Order :invoice', 'notification_purchase_order_bounced_subject' => 'Unable to deliver Purchase Order :invoice',
'show_pdfhtml_on_mobile' => 'Display HTML version of entity when viewing on mobile',
'show_pdfhtml_on_mobile_help' => 'For improved visualization, displays a HTML version of the invoice/quote when viewing on mobile.',
'please_select_an_invoice_or_credit' => 'Please select an invoice or credit',
'mobile_version' => 'Mobile Version',
'venmo' => 'Venmo',
'my_bank' => 'MyBank',
'pay_later' => 'Pay Later',
'local_domain' => 'Local Domain',
'verify_peer' => 'Verify Peer',
'nordigen_help' => 'Note: connecting an account requires a GoCardless/Nordigen API key',
'ar_detailed' => 'Accounts Receivable Detailed',
'ar_summary' => 'Accounts Receivable Summary',
'client_sales' => 'Client Sales',
'user_sales' => 'User Sales',
'iframe_url' => 'iFrame URL',
'user_unsubscribed' => 'User unsubscribed from emails :link',
); );
return $lang; return $lang;

View File

@ -3848,7 +3848,7 @@ $lang = array(
'cancellation_pending' => 'រង់ចាំការលុបចោល យើងនឹងទាក់ទងទៅ!', 'cancellation_pending' => 'រង់ចាំការលុបចោល យើងនឹងទាក់ទងទៅ!',
'list_of_payments' => 'បញ្ជីនៃការទូទាត់', 'list_of_payments' => 'បញ្ជីនៃការទូទាត់',
'payment_details' => 'ព័ត៌មានលម្អិតនៃការទូទាត់', 'payment_details' => 'ព័ត៌មានលម្អិតនៃការទូទាត់',
'list_of_payment_invoices' => 'បញ្ជីវិក្កយបត្រដែលរងផលប៉ះពាល់ដោយការទូទាត់', 'list_of_payment_invoices' => 'Associate invoices',
'list_of_payment_methods' => 'បញ្ជីវិធីបង់ប្រាក់', 'list_of_payment_methods' => 'បញ្ជីវិធីបង់ប្រាក់',
'payment_method_details' => 'ព័ត៌មានលម្អិតអំពីវិធីបង់ប្រាក់', 'payment_method_details' => 'ព័ត៌មានលម្អិតអំពីវិធីបង់ប្រាក់',
'permanently_remove_payment_method' => 'លុបវិធីបង់ប្រាក់នេះចេញជាអចិន្ត្រៃយ៍។', 'permanently_remove_payment_method' => 'លុបវិធីបង់ប្រាក់នេះចេញជាអចិន្ត្រៃយ៍។',
@ -4905,7 +4905,7 @@ $lang = array(
'no_assigned_tasks' => 'មិនមានកិច្ចការដែលអាចទូទាត់បានសម្រាប់គម្រោងនេះទេ។', 'no_assigned_tasks' => 'មិនមានកិច្ចការដែលអាចទូទាត់បានសម្រាប់គម្រោងនេះទេ។',
'authorization_failure' => 'ការអនុញ្ញាតមិនគ្រប់គ្រាន់ដើម្បីអនុវត្តសកម្មភាពនេះ។', 'authorization_failure' => 'ការអនុញ្ញាតមិនគ្រប់គ្រាន់ដើម្បីអនុវត្តសកម្មភាពនេះ។',
'authorization_sms_failure' => 'សូមផ្ទៀងផ្ទាត់គណនីរបស់អ្នក ដើម្បីផ្ញើអ៊ីមែល។', 'authorization_sms_failure' => 'សូមផ្ទៀងផ្ទាត់គណនីរបស់អ្នក ដើម្បីផ្ញើអ៊ីមែល។',
'white_label_body' => 'សូមអរគុណសម្រាប់ការទិញអាជ្ញាប័ណ្ណស្លាកពណ៌ស។<br><br> លេខកូដអាជ្ញាប័ណ្ណរបស់អ្នកគឺ៖<br><br> :license_key', 'white_label_body' => 'Thank you for purchasing a white label license. <br><br> Your license key is: <br><br> :license_key <br><br> You can manage your license here: https://invoiceninja.invoicing.co/client/login',
'payment_type_Klarna' => 'ក្លាណា', 'payment_type_Klarna' => 'ក្លាណា',
'payment_type_Interac E Transfer' => 'ការផ្ទេរ Interac E', 'payment_type_Interac E Transfer' => 'ការផ្ទេរ Interac E',
'xinvoice_payable' => 'អាចបង់បានក្នុងរយៈពេល :payeddue ថ្ងៃសុទ្ធរហូតដល់ :paydate', 'xinvoice_payable' => 'អាចបង់បានក្នុងរយៈពេល :payeddue ថ្ងៃសុទ្ធរហូតដល់ :paydate',
@ -5100,7 +5100,7 @@ $lang = array(
'set_private' => 'កំណត់ឯកជន', 'set_private' => 'កំណត់ឯកជន',
'individual' => 'បុគ្គល', 'individual' => 'បុគ្គល',
'business' => 'អាជីវកម្ម', 'business' => 'អាជីវកម្ម',
'partnership' => 'ភាពជាដៃគូ', 'partnership' => 'Partnership',
'trust' => 'ទុកចិត្ត', 'trust' => 'ទុកចិត្ត',
'charity' => 'សប្បុរសធម៌', 'charity' => 'សប្បុរសធម៌',
'government' => 'រដ្ឋាភិបាល', 'government' => 'រដ្ឋាភិបាល',
@ -5201,7 +5201,22 @@ $lang = array(
'unsubscribe_help' => 'You are currently not subscribed, and therefore, will not receive emails at this time.', 'unsubscribe_help' => 'You are currently not subscribed, and therefore, will not receive emails at this time.',
'notification_purchase_order_bounced' => 'We were unable to deliver Purchase Order :invoice to :contact. <br><br> :error', 'notification_purchase_order_bounced' => 'We were unable to deliver Purchase Order :invoice to :contact. <br><br> :error',
'notification_purchase_order_bounced_subject' => 'Unable to deliver Purchase Order :invoice', 'notification_purchase_order_bounced_subject' => 'Unable to deliver Purchase Order :invoice',
'show_pdfhtml_on_mobile' => 'Display HTML version of entity when viewing on mobile',
'show_pdfhtml_on_mobile_help' => 'For improved visualization, displays a HTML version of the invoice/quote when viewing on mobile.',
'please_select_an_invoice_or_credit' => 'Please select an invoice or credit',
'mobile_version' => 'Mobile Version',
'venmo' => 'Venmo',
'my_bank' => 'MyBank',
'pay_later' => 'Pay Later',
'local_domain' => 'Local Domain',
'verify_peer' => 'Verify Peer',
'nordigen_help' => 'Note: connecting an account requires a GoCardless/Nordigen API key',
'ar_detailed' => 'Accounts Receivable Detailed',
'ar_summary' => 'Accounts Receivable Summary',
'client_sales' => 'Client Sales',
'user_sales' => 'User Sales',
'iframe_url' => 'iFrame URL',
'user_unsubscribed' => 'User unsubscribed from emails :link',
); );
return $lang; return $lang;

View File

@ -3868,7 +3868,7 @@ $lang = array(
'cancellation_pending' => 'ລໍຖ້າການຍົກເລີກ, ພວກເຮົາຈະຕິດຕໍ່ຫາ!', 'cancellation_pending' => 'ລໍຖ້າການຍົກເລີກ, ພວກເຮົາຈະຕິດຕໍ່ຫາ!',
'list_of_payments' => 'ລາຍຊື່ການຈ່າຍເງິນ', 'list_of_payments' => 'ລາຍຊື່ການຈ່າຍເງິນ',
'payment_details' => 'ລາຍລະອຽດຂອງການຈ່າຍເງິນ', 'payment_details' => 'ລາຍລະອຽດຂອງການຈ່າຍເງິນ',
'list_of_payment_invoices' => 'ລາຍຊື່ໃບແຈ້ງໜີ້ທີ່ໄດ້ຮັບຜົນກະທົບຈາກການຈ່າຍເງິນ', 'list_of_payment_invoices' => 'Associate invoices',
'list_of_payment_methods' => 'ລາຍຊື່ວິທີຈ່າຍເງິນ', 'list_of_payment_methods' => 'ລາຍຊື່ວິທີຈ່າຍເງິນ',
'payment_method_details' => 'ລາຍລະອຽດຂອງວິທີການຊໍາລະ', 'payment_method_details' => 'ລາຍລະອຽດຂອງວິທີການຊໍາລະ',
'permanently_remove_payment_method' => 'ລຶບວິທີການຈ່າຍເງິນນີ້ອອກຖາວອນ.', 'permanently_remove_payment_method' => 'ລຶບວິທີການຈ່າຍເງິນນີ້ອອກຖາວອນ.',
@ -4925,7 +4925,7 @@ $lang = array(
'no_assigned_tasks' => 'ບໍ່ມີໜ້າວຽກທີ່ສາມາດເກັບເງິນໄດ້ສຳລັບໂຄງການນີ້', 'no_assigned_tasks' => 'ບໍ່ມີໜ້າວຽກທີ່ສາມາດເກັບເງິນໄດ້ສຳລັບໂຄງການນີ້',
'authorization_failure' => 'ການອະນຸຍາດບໍ່ພຽງພໍເພື່ອປະຕິບັດການນີ້', 'authorization_failure' => 'ການອະນຸຍາດບໍ່ພຽງພໍເພື່ອປະຕິບັດການນີ້',
'authorization_sms_failure' => 'ກະລຸນາກວດສອບບັນຊີຂອງທ່ານເພື່ອສົ່ງອີເມວ.', 'authorization_sms_failure' => 'ກະລຸນາກວດສອບບັນຊີຂອງທ່ານເພື່ອສົ່ງອີເມວ.',
'white_label_body' => 'ຂອບໃຈທີ່ຊື້ໃບຂັບຂີ່ປ້າຍຂາວ. <br><br> ກະແຈໃບອະນຸຍາດຂອງທ່ານແມ່ນ: <br><br> :license_key', 'white_label_body' => 'Thank you for purchasing a white label license. <br><br> Your license key is: <br><br> :license_key <br><br> You can manage your license here: https://invoiceninja.invoicing.co/client/login',
'payment_type_Klarna' => 'ຄລານາ', 'payment_type_Klarna' => 'ຄລານາ',
'payment_type_Interac E Transfer' => 'Interac E Transfer', 'payment_type_Interac E Transfer' => 'Interac E Transfer',
'xinvoice_payable' => 'ຊໍາລະພາຍໃນ: payeddue ວັນສຸດທິຈົນກ່ວາ: paydate', 'xinvoice_payable' => 'ຊໍາລະພາຍໃນ: payeddue ວັນສຸດທິຈົນກ່ວາ: paydate',
@ -5120,7 +5120,7 @@ $lang = array(
'set_private' => 'ຕັ້ງເປັນສ່ວນຕົວ', 'set_private' => 'ຕັ້ງເປັນສ່ວນຕົວ',
'individual' => 'ບຸກຄົນ', 'individual' => 'ບຸກຄົນ',
'business' => 'ທຸລະກິດ', 'business' => 'ທຸລະກິດ',
'partnership' => 'ຫຸ້ນສ່ວນ', 'partnership' => 'Partnership',
'trust' => 'ຄວາມໄວ້ວາງໃຈ', 'trust' => 'ຄວາມໄວ້ວາງໃຈ',
'charity' => 'ການກຸສົນ', 'charity' => 'ການກຸສົນ',
'government' => 'ລັດຖະບານ', 'government' => 'ລັດຖະບານ',
@ -5221,7 +5221,22 @@ $lang = array(
'unsubscribe_help' => 'You are currently not subscribed, and therefore, will not receive emails at this time.', 'unsubscribe_help' => 'You are currently not subscribed, and therefore, will not receive emails at this time.',
'notification_purchase_order_bounced' => 'We were unable to deliver Purchase Order :invoice to :contact. <br><br> :error', 'notification_purchase_order_bounced' => 'We were unable to deliver Purchase Order :invoice to :contact. <br><br> :error',
'notification_purchase_order_bounced_subject' => 'Unable to deliver Purchase Order :invoice', 'notification_purchase_order_bounced_subject' => 'Unable to deliver Purchase Order :invoice',
'show_pdfhtml_on_mobile' => 'Display HTML version of entity when viewing on mobile',
'show_pdfhtml_on_mobile_help' => 'For improved visualization, displays a HTML version of the invoice/quote when viewing on mobile.',
'please_select_an_invoice_or_credit' => 'Please select an invoice or credit',
'mobile_version' => 'Mobile Version',
'venmo' => 'Venmo',
'my_bank' => 'MyBank',
'pay_later' => 'Pay Later',
'local_domain' => 'Local Domain',
'verify_peer' => 'Verify Peer',
'nordigen_help' => 'Note: connecting an account requires a GoCardless/Nordigen API key',
'ar_detailed' => 'Accounts Receivable Detailed',
'ar_summary' => 'Accounts Receivable Summary',
'client_sales' => 'Client Sales',
'user_sales' => 'User Sales',
'iframe_url' => 'iFrame URL',
'user_unsubscribed' => 'User unsubscribed from emails :link',
); );
return $lang; return $lang;

View File

@ -3865,7 +3865,7 @@ Kom terug naar deze betalingsmethode pagina zodra u de bedragen heeft ontvangen
'cancellation_pending' => 'Annulatie in aanvraag, we nemen contact met u op!', 'cancellation_pending' => 'Annulatie in aanvraag, we nemen contact met u op!',
'list_of_payments' => 'Lijst met betalingen', 'list_of_payments' => 'Lijst met betalingen',
'payment_details' => 'Details van de betaling', 'payment_details' => 'Details van de betaling',
'list_of_payment_invoices' => 'Lijst met facturen waarop de betaling betrekking heeft', 'list_of_payment_invoices' => 'Associate invoices',
'list_of_payment_methods' => 'Lijst met betalingsmethodes', 'list_of_payment_methods' => 'Lijst met betalingsmethodes',
'payment_method_details' => 'Details van betalingsmethodes', 'payment_method_details' => 'Details van betalingsmethodes',
'permanently_remove_payment_method' => 'Verwijder deze betalingsmethode definitief', 'permanently_remove_payment_method' => 'Verwijder deze betalingsmethode definitief',
@ -4925,7 +4925,7 @@ Email: :email<b><br><b>',
'no_assigned_tasks' => 'Geen factureerbare taken voor dit project', 'no_assigned_tasks' => 'Geen factureerbare taken voor dit project',
'authorization_failure' => 'Onvoldoende machtigingen om deze actie uit te voeren', 'authorization_failure' => 'Onvoldoende machtigingen om deze actie uit te voeren',
'authorization_sms_failure' => 'Verifieer uw account om e-mails te verzenden.', 'authorization_sms_failure' => 'Verifieer uw account om e-mails te verzenden.',
'white_label_body' => 'Bedankt voor het aanschaffen van een white label licentie. <br> <br> Uw licentiesleutel is: <br> <br> :license_key', 'white_label_body' => 'Thank you for purchasing a white label license. <br><br> Your license key is: <br><br> :license_key <br><br> You can manage your license here: https://invoiceninja.invoicing.co/client/login',
'payment_type_Klarna' => 'Klarna', 'payment_type_Klarna' => 'Klarna',
'payment_type_Interac E Transfer' => 'Interac E-overdracht', 'payment_type_Interac E Transfer' => 'Interac E-overdracht',
'xinvoice_payable' => 'Te betalen binnen :payeddue vervaldagen netto tot :paydate', 'xinvoice_payable' => 'Te betalen binnen :payeddue vervaldagen netto tot :paydate',
@ -5120,7 +5120,7 @@ Email: :email<b><br><b>',
'set_private' => 'Privé instellen', 'set_private' => 'Privé instellen',
'individual' => 'Individueel', 'individual' => 'Individueel',
'business' => 'Bedrijf', 'business' => 'Bedrijf',
'partnership' => 'vennootschap', 'partnership' => 'Partnership',
'trust' => 'Vertrouwen', 'trust' => 'Vertrouwen',
'charity' => 'Goed doel', 'charity' => 'Goed doel',
'government' => 'Regering', 'government' => 'Regering',
@ -5221,7 +5221,22 @@ Email: :email<b><br><b>',
'unsubscribe_help' => 'You are currently not subscribed, and therefore, will not receive emails at this time.', 'unsubscribe_help' => 'You are currently not subscribed, and therefore, will not receive emails at this time.',
'notification_purchase_order_bounced' => 'We were unable to deliver Purchase Order :invoice to :contact. <br><br> :error', 'notification_purchase_order_bounced' => 'We were unable to deliver Purchase Order :invoice to :contact. <br><br> :error',
'notification_purchase_order_bounced_subject' => 'Unable to deliver Purchase Order :invoice', 'notification_purchase_order_bounced_subject' => 'Unable to deliver Purchase Order :invoice',
'show_pdfhtml_on_mobile' => 'Display HTML version of entity when viewing on mobile',
'show_pdfhtml_on_mobile_help' => 'For improved visualization, displays a HTML version of the invoice/quote when viewing on mobile.',
'please_select_an_invoice_or_credit' => 'Please select an invoice or credit',
'mobile_version' => 'Mobile Version',
'venmo' => 'Venmo',
'my_bank' => 'MyBank',
'pay_later' => 'Pay Later',
'local_domain' => 'Local Domain',
'verify_peer' => 'Verify Peer',
'nordigen_help' => 'Note: connecting an account requires a GoCardless/Nordigen API key',
'ar_detailed' => 'Accounts Receivable Detailed',
'ar_summary' => 'Accounts Receivable Summary',
'client_sales' => 'Client Sales',
'user_sales' => 'User Sales',
'iframe_url' => 'iFrame URL',
'user_unsubscribed' => 'User unsubscribed from emails :link',
); );
return $lang; return $lang;

View File

@ -3866,7 +3866,7 @@ Gdy przelewy zostaną zaksięgowane na Twoim koncie, wróć do tej strony i klik
'cancellation_pending' => 'Cancellation pending, we\'ll be in touch!', 'cancellation_pending' => 'Cancellation pending, we\'ll be in touch!',
'list_of_payments' => 'Lista płatności', 'list_of_payments' => 'Lista płatności',
'payment_details' => 'Szczegóły płatności', 'payment_details' => 'Szczegóły płatności',
'list_of_payment_invoices' => 'Lista faktur, których dotyczy płatność', 'list_of_payment_invoices' => 'Associate invoices',
'list_of_payment_methods' => 'Lista metod płatności', 'list_of_payment_methods' => 'Lista metod płatności',
'payment_method_details' => 'Szczegóły metody płatności', 'payment_method_details' => 'Szczegóły metody płatności',
'permanently_remove_payment_method' => 'Trwale usuń tę metodę płatności.', 'permanently_remove_payment_method' => 'Trwale usuń tę metodę płatności.',
@ -4923,7 +4923,7 @@ Gdy przelewy zostaną zaksięgowane na Twoim koncie, wróć do tej strony i klik
'no_assigned_tasks' => 'No billable tasks for this project', 'no_assigned_tasks' => 'No billable tasks for this project',
'authorization_failure' => 'Niewystarczające uprawnienia do wykonania tej czynności', 'authorization_failure' => 'Niewystarczające uprawnienia do wykonania tej czynności',
'authorization_sms_failure' => 'Zweryfikuj swoje konto, aby wysyłać e-maile.', 'authorization_sms_failure' => 'Zweryfikuj swoje konto, aby wysyłać e-maile.',
'white_label_body' => 'Thank you for purchasing a white label license. <br><br> Your license key is: <br><br> :license_key', 'white_label_body' => 'Thank you for purchasing a white label license. <br><br> Your license key is: <br><br> :license_key <br><br> You can manage your license here: https://invoiceninja.invoicing.co/client/login',
'payment_type_Klarna' => 'Klarna', 'payment_type_Klarna' => 'Klarna',
'payment_type_Interac E Transfer' => 'Interac E Transfer', 'payment_type_Interac E Transfer' => 'Interac E Transfer',
'xinvoice_payable' => 'Payable within :payeddue days net until :paydate', 'xinvoice_payable' => 'Payable within :payeddue days net until :paydate',
@ -5118,7 +5118,7 @@ Gdy przelewy zostaną zaksięgowane na Twoim koncie, wróć do tej strony i klik
'set_private' => 'Set private', 'set_private' => 'Set private',
'individual' => 'Individual', 'individual' => 'Individual',
'business' => 'Business', 'business' => 'Business',
'partnership' => 'partnership', 'partnership' => 'Partnership',
'trust' => 'Trust', 'trust' => 'Trust',
'charity' => 'Charity', 'charity' => 'Charity',
'government' => 'Government', 'government' => 'Government',
@ -5219,7 +5219,22 @@ Gdy przelewy zostaną zaksięgowane na Twoim koncie, wróć do tej strony i klik
'unsubscribe_help' => 'You are currently not subscribed, and therefore, will not receive emails at this time.', 'unsubscribe_help' => 'You are currently not subscribed, and therefore, will not receive emails at this time.',
'notification_purchase_order_bounced' => 'We were unable to deliver Purchase Order :invoice to :contact. <br><br> :error', 'notification_purchase_order_bounced' => 'We were unable to deliver Purchase Order :invoice to :contact. <br><br> :error',
'notification_purchase_order_bounced_subject' => 'Unable to deliver Purchase Order :invoice', 'notification_purchase_order_bounced_subject' => 'Unable to deliver Purchase Order :invoice',
'show_pdfhtml_on_mobile' => 'Display HTML version of entity when viewing on mobile',
'show_pdfhtml_on_mobile_help' => 'For improved visualization, displays a HTML version of the invoice/quote when viewing on mobile.',
'please_select_an_invoice_or_credit' => 'Please select an invoice or credit',
'mobile_version' => 'Mobile Version',
'venmo' => 'Venmo',
'my_bank' => 'MyBank',
'pay_later' => 'Pay Later',
'local_domain' => 'Local Domain',
'verify_peer' => 'Verify Peer',
'nordigen_help' => 'Note: connecting an account requires a GoCardless/Nordigen API key',
'ar_detailed' => 'Accounts Receivable Detailed',
'ar_summary' => 'Accounts Receivable Summary',
'client_sales' => 'Client Sales',
'user_sales' => 'User Sales',
'iframe_url' => 'iFrame URL',
'user_unsubscribed' => 'User unsubscribed from emails :link',
); );
return $lang; return $lang;

View File

@ -3865,7 +3865,7 @@ Quando tiver as quantias, volte a esta página de formas de pagamento e clique "
'cancellation_pending' => 'Cancelamento pendente, entraremos em contato!', 'cancellation_pending' => 'Cancelamento pendente, entraremos em contato!',
'list_of_payments' => 'Lista de pagamentos', 'list_of_payments' => 'Lista de pagamentos',
'payment_details' => 'Detalhes do pagamento', 'payment_details' => 'Detalhes do pagamento',
'list_of_payment_invoices' => 'Lista de faturas afetadas pelo pagamento', 'list_of_payment_invoices' => 'Associate invoices',
'list_of_payment_methods' => 'Lista de métodos de pagamento', 'list_of_payment_methods' => 'Lista de métodos de pagamento',
'payment_method_details' => 'Detalhes da forma de pagamento', 'payment_method_details' => 'Detalhes da forma de pagamento',
'permanently_remove_payment_method' => 'Remova permanentemente esta forma de pagamento.', 'permanently_remove_payment_method' => 'Remova permanentemente esta forma de pagamento.',
@ -4922,7 +4922,7 @@ Quando tiver as quantias, volte a esta página de formas de pagamento e clique "
'no_assigned_tasks' => 'Nenhuma tarefa faturável para este projeto', 'no_assigned_tasks' => 'Nenhuma tarefa faturável para este projeto',
'authorization_failure' => 'Permissões insuficientes para executar esta ação', 'authorization_failure' => 'Permissões insuficientes para executar esta ação',
'authorization_sms_failure' => 'Verifique sua conta para enviar e-mails.', 'authorization_sms_failure' => 'Verifique sua conta para enviar e-mails.',
'white_label_body' => 'Obrigado por adquirir uma licença de marca branca.<br><br> Sua chave de licença é:<br><br> :license_key', 'white_label_body' => 'Thank you for purchasing a white label license. <br><br> Your license key is: <br><br> :license_key <br><br> You can manage your license here: https://invoiceninja.invoicing.co/client/login',
'payment_type_Klarna' => 'Klarna', 'payment_type_Klarna' => 'Klarna',
'payment_type_Interac E Transfer' => 'Transferência Interac E', 'payment_type_Interac E Transfer' => 'Transferência Interac E',
'xinvoice_payable' => 'A pagar dentro de :payeddue dias líquidos até :paydate', 'xinvoice_payable' => 'A pagar dentro de :payeddue dias líquidos até :paydate',
@ -5117,7 +5117,7 @@ Quando tiver as quantias, volte a esta página de formas de pagamento e clique "
'set_private' => 'Definir como privado', 'set_private' => 'Definir como privado',
'individual' => 'Individual', 'individual' => 'Individual',
'business' => 'Negócios', 'business' => 'Negócios',
'partnership' => 'parceria', 'partnership' => 'Partnership',
'trust' => 'Confiar', 'trust' => 'Confiar',
'charity' => 'Caridade', 'charity' => 'Caridade',
'government' => 'Governo', 'government' => 'Governo',
@ -5218,7 +5218,22 @@ Quando tiver as quantias, volte a esta página de formas de pagamento e clique "
'unsubscribe_help' => 'You are currently not subscribed, and therefore, will not receive emails at this time.', 'unsubscribe_help' => 'You are currently not subscribed, and therefore, will not receive emails at this time.',
'notification_purchase_order_bounced' => 'We were unable to deliver Purchase Order :invoice to :contact. <br><br> :error', 'notification_purchase_order_bounced' => 'We were unable to deliver Purchase Order :invoice to :contact. <br><br> :error',
'notification_purchase_order_bounced_subject' => 'Unable to deliver Purchase Order :invoice', 'notification_purchase_order_bounced_subject' => 'Unable to deliver Purchase Order :invoice',
'show_pdfhtml_on_mobile' => 'Display HTML version of entity when viewing on mobile',
'show_pdfhtml_on_mobile_help' => 'For improved visualization, displays a HTML version of the invoice/quote when viewing on mobile.',
'please_select_an_invoice_or_credit' => 'Please select an invoice or credit',
'mobile_version' => 'Mobile Version',
'venmo' => 'Venmo',
'my_bank' => 'MyBank',
'pay_later' => 'Pay Later',
'local_domain' => 'Local Domain',
'verify_peer' => 'Verify Peer',
'nordigen_help' => 'Note: connecting an account requires a GoCardless/Nordigen API key',
'ar_detailed' => 'Accounts Receivable Detailed',
'ar_summary' => 'Accounts Receivable Summary',
'client_sales' => 'Client Sales',
'user_sales' => 'User Sales',
'iframe_url' => 'iFrame URL',
'user_unsubscribed' => 'User unsubscribed from emails :link',
); );
return $lang; return $lang;

View File

@ -3867,7 +3867,7 @@ debitar da sua conta de acordo com essas instruções. Está elegível a um reem
'cancellation_pending' => 'Cancelamento pendente, entraremos em contacto muito brevemente!', 'cancellation_pending' => 'Cancelamento pendente, entraremos em contacto muito brevemente!',
'list_of_payments' => 'Lista de pagamentos', 'list_of_payments' => 'Lista de pagamentos',
'payment_details' => 'Detalhes do pagamento', 'payment_details' => 'Detalhes do pagamento',
'list_of_payment_invoices' => 'Lista de notas de pagamento afetadas pelo pagamento', 'list_of_payment_invoices' => 'Associate invoices',
'list_of_payment_methods' => 'Lista de métodos de pagamento', 'list_of_payment_methods' => 'Lista de métodos de pagamento',
'payment_method_details' => 'Detalhes do método de pagamento', 'payment_method_details' => 'Detalhes do método de pagamento',
'permanently_remove_payment_method' => 'Eliminar permanentemente este método de pagamento.', 'permanently_remove_payment_method' => 'Eliminar permanentemente este método de pagamento.',
@ -4925,7 +4925,7 @@ O envio de E-mails foi suspenso. Será retomado às 23:00 UTC.',
'no_assigned_tasks' => 'Nenhuma tarefa faturável para este projeto', 'no_assigned_tasks' => 'Nenhuma tarefa faturável para este projeto',
'authorization_failure' => 'Permissões insuficientes para executar esta ação', 'authorization_failure' => 'Permissões insuficientes para executar esta ação',
'authorization_sms_failure' => 'Verifique sua conta para enviar e-mails.', 'authorization_sms_failure' => 'Verifique sua conta para enviar e-mails.',
'white_label_body' => 'Obrigado por adquirir uma licença de marca branca.<br><br> Sua chave de licença é:<br><br> :license_key', 'white_label_body' => 'Thank you for purchasing a white label license. <br><br> Your license key is: <br><br> :license_key <br><br> You can manage your license here: https://invoiceninja.invoicing.co/client/login',
'payment_type_Klarna' => 'Klarna', 'payment_type_Klarna' => 'Klarna',
'payment_type_Interac E Transfer' => 'Interac E Transfer', 'payment_type_Interac E Transfer' => 'Interac E Transfer',
'xinvoice_payable' => 'Pagável dentro de :payeddue dias líquidos até :paydate', 'xinvoice_payable' => 'Pagável dentro de :payeddue dias líquidos até :paydate',
@ -5120,7 +5120,7 @@ O envio de E-mails foi suspenso. Será retomado às 23:00 UTC.',
'set_private' => 'Definir como privado', 'set_private' => 'Definir como privado',
'individual' => 'Individual', 'individual' => 'Individual',
'business' => 'Negócios', 'business' => 'Negócios',
'partnership' => 'parceria', 'partnership' => 'Partnership',
'trust' => 'Confiar', 'trust' => 'Confiar',
'charity' => 'Caridade', 'charity' => 'Caridade',
'government' => 'Governo', 'government' => 'Governo',
@ -5221,7 +5221,22 @@ O envio de E-mails foi suspenso. Será retomado às 23:00 UTC.',
'unsubscribe_help' => 'You are currently not subscribed, and therefore, will not receive emails at this time.', 'unsubscribe_help' => 'You are currently not subscribed, and therefore, will not receive emails at this time.',
'notification_purchase_order_bounced' => 'We were unable to deliver Purchase Order :invoice to :contact. <br><br> :error', 'notification_purchase_order_bounced' => 'We were unable to deliver Purchase Order :invoice to :contact. <br><br> :error',
'notification_purchase_order_bounced_subject' => 'Unable to deliver Purchase Order :invoice', 'notification_purchase_order_bounced_subject' => 'Unable to deliver Purchase Order :invoice',
'show_pdfhtml_on_mobile' => 'Display HTML version of entity when viewing on mobile',
'show_pdfhtml_on_mobile_help' => 'For improved visualization, displays a HTML version of the invoice/quote when viewing on mobile.',
'please_select_an_invoice_or_credit' => 'Please select an invoice or credit',
'mobile_version' => 'Mobile Version',
'venmo' => 'Venmo',
'my_bank' => 'MyBank',
'pay_later' => 'Pay Later',
'local_domain' => 'Local Domain',
'verify_peer' => 'Verify Peer',
'nordigen_help' => 'Note: connecting an account requires a GoCardless/Nordigen API key',
'ar_detailed' => 'Accounts Receivable Detailed',
'ar_summary' => 'Accounts Receivable Summary',
'client_sales' => 'Client Sales',
'user_sales' => 'User Sales',
'iframe_url' => 'iFrame URL',
'user_unsubscribed' => 'User unsubscribed from emails :link',
); );
return $lang; return $lang;

View File

@ -3869,7 +3869,7 @@ Odată ce sumele au ajuns la dumneavoastră, reveniți la pagina cu metode de pl
'cancellation_pending' => 'Anulare în așteptare. Vă vom contacta.', 'cancellation_pending' => 'Anulare în așteptare. Vă vom contacta.',
'list_of_payments' => 'Listă plăți', 'list_of_payments' => 'Listă plăți',
'payment_details' => 'Detalii plată', 'payment_details' => 'Detalii plată',
'list_of_payment_invoices' => 'Listă facturi afectate de plată', 'list_of_payment_invoices' => 'Associate invoices',
'list_of_payment_methods' => 'Listă metode de plată', 'list_of_payment_methods' => 'Listă metode de plată',
'payment_method_details' => 'Detalii metodă de plată', 'payment_method_details' => 'Detalii metodă de plată',
'permanently_remove_payment_method' => 'Îndepărtați permanent această metodă de plată.', 'permanently_remove_payment_method' => 'Îndepărtați permanent această metodă de plată.',
@ -4926,7 +4926,7 @@ Odată ce sumele au ajuns la dumneavoastră, reveniți la pagina cu metode de pl
'no_assigned_tasks' => 'No billable tasks for this project', 'no_assigned_tasks' => 'No billable tasks for this project',
'authorization_failure' => 'Insufficient permissions to perform this action', 'authorization_failure' => 'Insufficient permissions to perform this action',
'authorization_sms_failure' => 'Please verify your account to send emails.', 'authorization_sms_failure' => 'Please verify your account to send emails.',
'white_label_body' => 'Thank you for purchasing a white label license. <br><br> Your license key is: <br><br> :license_key', 'white_label_body' => 'Thank you for purchasing a white label license. <br><br> Your license key is: <br><br> :license_key <br><br> You can manage your license here: https://invoiceninja.invoicing.co/client/login',
'payment_type_Klarna' => 'Klarna', 'payment_type_Klarna' => 'Klarna',
'payment_type_Interac E Transfer' => 'Interac E Transfer', 'payment_type_Interac E Transfer' => 'Interac E Transfer',
'xinvoice_payable' => 'Payable within :payeddue days net until :paydate', 'xinvoice_payable' => 'Payable within :payeddue days net until :paydate',
@ -5121,7 +5121,7 @@ Odată ce sumele au ajuns la dumneavoastră, reveniți la pagina cu metode de pl
'set_private' => 'Set private', 'set_private' => 'Set private',
'individual' => 'Individual', 'individual' => 'Individual',
'business' => 'Business', 'business' => 'Business',
'partnership' => 'partnership', 'partnership' => 'Partnership',
'trust' => 'Trust', 'trust' => 'Trust',
'charity' => 'Charity', 'charity' => 'Charity',
'government' => 'Government', 'government' => 'Government',
@ -5222,7 +5222,22 @@ Odată ce sumele au ajuns la dumneavoastră, reveniți la pagina cu metode de pl
'unsubscribe_help' => 'You are currently not subscribed, and therefore, will not receive emails at this time.', 'unsubscribe_help' => 'You are currently not subscribed, and therefore, will not receive emails at this time.',
'notification_purchase_order_bounced' => 'We were unable to deliver Purchase Order :invoice to :contact. <br><br> :error', 'notification_purchase_order_bounced' => 'We were unable to deliver Purchase Order :invoice to :contact. <br><br> :error',
'notification_purchase_order_bounced_subject' => 'Unable to deliver Purchase Order :invoice', 'notification_purchase_order_bounced_subject' => 'Unable to deliver Purchase Order :invoice',
'show_pdfhtml_on_mobile' => 'Display HTML version of entity when viewing on mobile',
'show_pdfhtml_on_mobile_help' => 'For improved visualization, displays a HTML version of the invoice/quote when viewing on mobile.',
'please_select_an_invoice_or_credit' => 'Please select an invoice or credit',
'mobile_version' => 'Mobile Version',
'venmo' => 'Venmo',
'my_bank' => 'MyBank',
'pay_later' => 'Pay Later',
'local_domain' => 'Local Domain',
'verify_peer' => 'Verify Peer',
'nordigen_help' => 'Note: connecting an account requires a GoCardless/Nordigen API key',
'ar_detailed' => 'Accounts Receivable Detailed',
'ar_summary' => 'Accounts Receivable Summary',
'client_sales' => 'Client Sales',
'user_sales' => 'User Sales',
'iframe_url' => 'iFrame URL',
'user_unsubscribed' => 'User unsubscribed from emails :link',
); );
return $lang; return $lang;

View File

@ -3855,7 +3855,7 @@ $lang = array(
'cancellation_pending' => 'Čaká sa na zrušenie, budeme vás kontaktovať!', 'cancellation_pending' => 'Čaká sa na zrušenie, budeme vás kontaktovať!',
'list_of_payments' => 'Zoznam platieb', 'list_of_payments' => 'Zoznam platieb',
'payment_details' => 'Podrobnosti o platbe', 'payment_details' => 'Podrobnosti o platbe',
'list_of_payment_invoices' => 'Zoznam faktúr ovplyvnených platbou', 'list_of_payment_invoices' => 'Associate invoices',
'list_of_payment_methods' => 'Zoznam spôsobov platby', 'list_of_payment_methods' => 'Zoznam spôsobov platby',
'payment_method_details' => 'Podrobnosti o spôsobe platby', 'payment_method_details' => 'Podrobnosti o spôsobe platby',
'permanently_remove_payment_method' => 'Natrvalo odstrániť tento spôsob platby.', 'permanently_remove_payment_method' => 'Natrvalo odstrániť tento spôsob platby.',
@ -4912,7 +4912,7 @@ $lang = array(
'no_assigned_tasks' => 'Žiadne fakturovateľné úlohy pre tento projekt', 'no_assigned_tasks' => 'Žiadne fakturovateľné úlohy pre tento projekt',
'authorization_failure' => 'Nedostatočné povolenia na vykonanie tejto akcie', 'authorization_failure' => 'Nedostatočné povolenia na vykonanie tejto akcie',
'authorization_sms_failure' => 'Ak chcete odosielať e-maily, overte svoj účet.', 'authorization_sms_failure' => 'Ak chcete odosielať e-maily, overte svoj účet.',
'white_label_body' => 'Ďakujeme, že ste si zakúpili licenciu s bielym štítkom.<br><br> Váš licenčný kľúč je:<br><br> :license_key', 'white_label_body' => 'Thank you for purchasing a white label license. <br><br> Your license key is: <br><br> :license_key <br><br> You can manage your license here: https://invoiceninja.invoicing.co/client/login',
'payment_type_Klarna' => 'Klarna', 'payment_type_Klarna' => 'Klarna',
'payment_type_Interac E Transfer' => 'Interac E Transfer', 'payment_type_Interac E Transfer' => 'Interac E Transfer',
'xinvoice_payable' => 'Splatné do :payeddue dní netto do :paydate', 'xinvoice_payable' => 'Splatné do :payeddue dní netto do :paydate',
@ -5107,7 +5107,7 @@ $lang = array(
'set_private' => 'Nastaviť ako súkromné', 'set_private' => 'Nastaviť ako súkromné',
'individual' => 'Individuálne', 'individual' => 'Individuálne',
'business' => 'Podnikanie', 'business' => 'Podnikanie',
'partnership' => 'partnerstvo', 'partnership' => 'Partnership',
'trust' => 'Dôvera', 'trust' => 'Dôvera',
'charity' => 'Dobročinnosť', 'charity' => 'Dobročinnosť',
'government' => 'vláda', 'government' => 'vláda',
@ -5208,7 +5208,22 @@ $lang = array(
'unsubscribe_help' => 'You are currently not subscribed, and therefore, will not receive emails at this time.', 'unsubscribe_help' => 'You are currently not subscribed, and therefore, will not receive emails at this time.',
'notification_purchase_order_bounced' => 'We were unable to deliver Purchase Order :invoice to :contact. <br><br> :error', 'notification_purchase_order_bounced' => 'We were unable to deliver Purchase Order :invoice to :contact. <br><br> :error',
'notification_purchase_order_bounced_subject' => 'Unable to deliver Purchase Order :invoice', 'notification_purchase_order_bounced_subject' => 'Unable to deliver Purchase Order :invoice',
'show_pdfhtml_on_mobile' => 'Display HTML version of entity when viewing on mobile',
'show_pdfhtml_on_mobile_help' => 'For improved visualization, displays a HTML version of the invoice/quote when viewing on mobile.',
'please_select_an_invoice_or_credit' => 'Please select an invoice or credit',
'mobile_version' => 'Mobile Version',
'venmo' => 'Venmo',
'my_bank' => 'MyBank',
'pay_later' => 'Pay Later',
'local_domain' => 'Local Domain',
'verify_peer' => 'Verify Peer',
'nordigen_help' => 'Note: connecting an account requires a GoCardless/Nordigen API key',
'ar_detailed' => 'Accounts Receivable Detailed',
'ar_summary' => 'Accounts Receivable Summary',
'client_sales' => 'Client Sales',
'user_sales' => 'User Sales',
'iframe_url' => 'iFrame URL',
'user_unsubscribed' => 'User unsubscribed from emails :link',
); );
return $lang; return $lang;

View File

@ -3868,7 +3868,7 @@ Kada budete imali iznose, vratite se na ovu stranicu sa načinima plaćanja i k
'cancellation_pending' => 'Otkazivanje je na čekanju, u kontaktu smo!', 'cancellation_pending' => 'Otkazivanje je na čekanju, u kontaktu smo!',
'list_of_payments' => 'Spisak uplata', 'list_of_payments' => 'Spisak uplata',
'payment_details' => 'Detalji o uplati', 'payment_details' => 'Detalji o uplati',
'list_of_payment_invoices' => 'Spisak računa na koje utiče plaćanje', 'list_of_payment_invoices' => 'Associate invoices',
'list_of_payment_methods' => 'Spisak metoda plaćanja', 'list_of_payment_methods' => 'Spisak metoda plaćanja',
'payment_method_details' => 'Detalji o metodu plaćanja', 'payment_method_details' => 'Detalji o metodu plaćanja',
'permanently_remove_payment_method' => 'Trajno uklonite ovaj način plaćanja.', 'permanently_remove_payment_method' => 'Trajno uklonite ovaj način plaćanja.',
@ -4925,7 +4925,7 @@ Kada budete imali iznose, vratite se na ovu stranicu sa načinima plaćanja i k
'no_assigned_tasks' => 'No billable tasks for this project', 'no_assigned_tasks' => 'No billable tasks for this project',
'authorization_failure' => 'Insufficient permissions to perform this action', 'authorization_failure' => 'Insufficient permissions to perform this action',
'authorization_sms_failure' => 'Please verify your account to send emails.', 'authorization_sms_failure' => 'Please verify your account to send emails.',
'white_label_body' => 'Thank you for purchasing a white label license. <br><br> Your license key is: <br><br> :license_key', 'white_label_body' => 'Thank you for purchasing a white label license. <br><br> Your license key is: <br><br> :license_key <br><br> You can manage your license here: https://invoiceninja.invoicing.co/client/login',
'payment_type_Klarna' => 'Klarna', 'payment_type_Klarna' => 'Klarna',
'payment_type_Interac E Transfer' => 'Interac E Transfer', 'payment_type_Interac E Transfer' => 'Interac E Transfer',
'xinvoice_payable' => 'Payable within :payeddue days net until :paydate', 'xinvoice_payable' => 'Payable within :payeddue days net until :paydate',
@ -5120,7 +5120,7 @@ Kada budete imali iznose, vratite se na ovu stranicu sa načinima plaćanja i k
'set_private' => 'Set private', 'set_private' => 'Set private',
'individual' => 'Individual', 'individual' => 'Individual',
'business' => 'Business', 'business' => 'Business',
'partnership' => 'partnership', 'partnership' => 'Partnership',
'trust' => 'Trust', 'trust' => 'Trust',
'charity' => 'Charity', 'charity' => 'Charity',
'government' => 'Government', 'government' => 'Government',
@ -5221,7 +5221,22 @@ Kada budete imali iznose, vratite se na ovu stranicu sa načinima plaćanja i k
'unsubscribe_help' => 'You are currently not subscribed, and therefore, will not receive emails at this time.', 'unsubscribe_help' => 'You are currently not subscribed, and therefore, will not receive emails at this time.',
'notification_purchase_order_bounced' => 'We were unable to deliver Purchase Order :invoice to :contact. <br><br> :error', 'notification_purchase_order_bounced' => 'We were unable to deliver Purchase Order :invoice to :contact. <br><br> :error',
'notification_purchase_order_bounced_subject' => 'Unable to deliver Purchase Order :invoice', 'notification_purchase_order_bounced_subject' => 'Unable to deliver Purchase Order :invoice',
'show_pdfhtml_on_mobile' => 'Display HTML version of entity when viewing on mobile',
'show_pdfhtml_on_mobile_help' => 'For improved visualization, displays a HTML version of the invoice/quote when viewing on mobile.',
'please_select_an_invoice_or_credit' => 'Please select an invoice or credit',
'mobile_version' => 'Mobile Version',
'venmo' => 'Venmo',
'my_bank' => 'MyBank',
'pay_later' => 'Pay Later',
'local_domain' => 'Local Domain',
'verify_peer' => 'Verify Peer',
'nordigen_help' => 'Note: connecting an account requires a GoCardless/Nordigen API key',
'ar_detailed' => 'Accounts Receivable Detailed',
'ar_summary' => 'Accounts Receivable Summary',
'client_sales' => 'Client Sales',
'user_sales' => 'User Sales',
'iframe_url' => 'iFrame URL',
'user_unsubscribed' => 'User unsubscribed from emails :link',
); );
return $lang; return $lang;

View File

@ -3876,7 +3876,7 @@ Den här funktionen kräver att en produkt skapas och en betalningsgateway är k
'cancellation_pending' => 'Väntande avslut, vi hör av oss!', 'cancellation_pending' => 'Väntande avslut, vi hör av oss!',
'list_of_payments' => 'Lista över betalningar', 'list_of_payments' => 'Lista över betalningar',
'payment_details' => 'Detaljer om betalningen', 'payment_details' => 'Detaljer om betalningen',
'list_of_payment_invoices' => 'Lista över fakturor som påverkas av betalningen', 'list_of_payment_invoices' => 'Associate invoices',
'list_of_payment_methods' => 'Lista över betalningsmetoder', 'list_of_payment_methods' => 'Lista över betalningsmetoder',
'payment_method_details' => 'Information om betalningsmetod', 'payment_method_details' => 'Information om betalningsmetod',
'permanently_remove_payment_method' => 'Ta bort denna betalningsmetod permanent.', 'permanently_remove_payment_method' => 'Ta bort denna betalningsmetod permanent.',
@ -4933,7 +4933,7 @@ Den här funktionen kräver att en produkt skapas och en betalningsgateway är k
'no_assigned_tasks' => 'No billable tasks for this project', 'no_assigned_tasks' => 'No billable tasks for this project',
'authorization_failure' => 'Insufficient permissions to perform this action', 'authorization_failure' => 'Insufficient permissions to perform this action',
'authorization_sms_failure' => 'Please verify your account to send emails.', 'authorization_sms_failure' => 'Please verify your account to send emails.',
'white_label_body' => 'Thank you for purchasing a white label license. <br><br> Your license key is: <br><br> :license_key', 'white_label_body' => 'Thank you for purchasing a white label license. <br><br> Your license key is: <br><br> :license_key <br><br> You can manage your license here: https://invoiceninja.invoicing.co/client/login',
'payment_type_Klarna' => 'Klarna', 'payment_type_Klarna' => 'Klarna',
'payment_type_Interac E Transfer' => 'Interac E Transfer', 'payment_type_Interac E Transfer' => 'Interac E Transfer',
'xinvoice_payable' => 'Payable within :payeddue days net until :paydate', 'xinvoice_payable' => 'Payable within :payeddue days net until :paydate',
@ -5128,7 +5128,7 @@ Den här funktionen kräver att en produkt skapas och en betalningsgateway är k
'set_private' => 'Set private', 'set_private' => 'Set private',
'individual' => 'Individual', 'individual' => 'Individual',
'business' => 'Business', 'business' => 'Business',
'partnership' => 'partnership', 'partnership' => 'Partnership',
'trust' => 'Trust', 'trust' => 'Trust',
'charity' => 'Charity', 'charity' => 'Charity',
'government' => 'Government', 'government' => 'Government',
@ -5229,7 +5229,22 @@ Den här funktionen kräver att en produkt skapas och en betalningsgateway är k
'unsubscribe_help' => 'You are currently not subscribed, and therefore, will not receive emails at this time.', 'unsubscribe_help' => 'You are currently not subscribed, and therefore, will not receive emails at this time.',
'notification_purchase_order_bounced' => 'We were unable to deliver Purchase Order :invoice to :contact. <br><br> :error', 'notification_purchase_order_bounced' => 'We were unable to deliver Purchase Order :invoice to :contact. <br><br> :error',
'notification_purchase_order_bounced_subject' => 'Unable to deliver Purchase Order :invoice', 'notification_purchase_order_bounced_subject' => 'Unable to deliver Purchase Order :invoice',
'show_pdfhtml_on_mobile' => 'Display HTML version of entity when viewing on mobile',
'show_pdfhtml_on_mobile_help' => 'For improved visualization, displays a HTML version of the invoice/quote when viewing on mobile.',
'please_select_an_invoice_or_credit' => 'Please select an invoice or credit',
'mobile_version' => 'Mobile Version',
'venmo' => 'Venmo',
'my_bank' => 'MyBank',
'pay_later' => 'Pay Later',
'local_domain' => 'Local Domain',
'verify_peer' => 'Verify Peer',
'nordigen_help' => 'Note: connecting an account requires a GoCardless/Nordigen API key',
'ar_detailed' => 'Accounts Receivable Detailed',
'ar_summary' => 'Accounts Receivable Summary',
'client_sales' => 'Client Sales',
'user_sales' => 'User Sales',
'iframe_url' => 'iFrame URL',
'user_unsubscribed' => 'User unsubscribed from emails :link',
); );
return $lang; return $lang;

View File

@ -3868,7 +3868,7 @@ $lang = array(
'cancellation_pending' => '取消待定,我們會聯絡您!', 'cancellation_pending' => '取消待定,我們會聯絡您!',
'list_of_payments' => '付款清單', 'list_of_payments' => '付款清單',
'payment_details' => '付款詳情', 'payment_details' => '付款詳情',
'list_of_payment_invoices' => '受付款影響的發票列表', 'list_of_payment_invoices' => 'Associate invoices',
'list_of_payment_methods' => '付款方式一覽', 'list_of_payment_methods' => '付款方式一覽',
'payment_method_details' => '付款方式詳情', 'payment_method_details' => '付款方式詳情',
'permanently_remove_payment_method' => '永久刪除此付款方式。', 'permanently_remove_payment_method' => '永久刪除此付款方式。',
@ -4925,7 +4925,7 @@ $lang = array(
'no_assigned_tasks' => '該項目沒有計費任務', 'no_assigned_tasks' => '該項目沒有計費任務',
'authorization_failure' => '權限不足,無法執行此操作', 'authorization_failure' => '權限不足,無法執行此操作',
'authorization_sms_failure' => '請驗證您的帳戶以發送電子郵件。', 'authorization_sms_failure' => '請驗證您的帳戶以發送電子郵件。',
'white_label_body' => '感謝您購買白標許可證。<br><br>您的許可證密鑰是:<br><br> :license_key', 'white_label_body' => 'Thank you for purchasing a white label license. <br><br> Your license key is: <br><br> :license_key <br><br> You can manage your license here: https://invoiceninja.invoicing.co/client/login',
'payment_type_Klarna' => '克拉納', 'payment_type_Klarna' => '克拉納',
'payment_type_Interac E Transfer' => 'Interac E 傳輸', 'payment_type_Interac E Transfer' => 'Interac E 傳輸',
'xinvoice_payable' => '在:payeddue天內支付直至:paydate', 'xinvoice_payable' => '在:payeddue天內支付直至:paydate',
@ -5120,7 +5120,7 @@ $lang = array(
'set_private' => '設定私人', 'set_private' => '設定私人',
'individual' => '個人', 'individual' => '個人',
'business' => '商業', 'business' => '商業',
'partnership' => '合夥', 'partnership' => 'Partnership',
'trust' => '相信', 'trust' => '相信',
'charity' => '慈善機構', 'charity' => '慈善機構',
'government' => '政府', 'government' => '政府',
@ -5221,7 +5221,22 @@ $lang = array(
'unsubscribe_help' => 'You are currently not subscribed, and therefore, will not receive emails at this time.', 'unsubscribe_help' => 'You are currently not subscribed, and therefore, will not receive emails at this time.',
'notification_purchase_order_bounced' => 'We were unable to deliver Purchase Order :invoice to :contact. <br><br> :error', 'notification_purchase_order_bounced' => 'We were unable to deliver Purchase Order :invoice to :contact. <br><br> :error',
'notification_purchase_order_bounced_subject' => 'Unable to deliver Purchase Order :invoice', 'notification_purchase_order_bounced_subject' => 'Unable to deliver Purchase Order :invoice',
'show_pdfhtml_on_mobile' => 'Display HTML version of entity when viewing on mobile',
'show_pdfhtml_on_mobile_help' => 'For improved visualization, displays a HTML version of the invoice/quote when viewing on mobile.',
'please_select_an_invoice_or_credit' => 'Please select an invoice or credit',
'mobile_version' => 'Mobile Version',
'venmo' => 'Venmo',
'my_bank' => 'MyBank',
'pay_later' => 'Pay Later',
'local_domain' => 'Local Domain',
'verify_peer' => 'Verify Peer',
'nordigen_help' => 'Note: connecting an account requires a GoCardless/Nordigen API key',
'ar_detailed' => 'Accounts Receivable Detailed',
'ar_summary' => 'Accounts Receivable Summary',
'client_sales' => 'Client Sales',
'user_sales' => 'User Sales',
'iframe_url' => 'iFrame URL',
'user_unsubscribed' => 'User unsubscribed from emails :link',
); );
return $lang; return $lang;

View File

@ -0,0 +1,241 @@
<?php
/**
* Invoice Ninja (https://invoiceninja.com).
*
* @link https://github.com/invoiceninja/invoiceninja source repository
*
* @copyright Copyright (c) 2021. Invoice Ninja LLC (https://invoiceninja.com)
*
* @license https://www.elastic.co/licensing/elastic-license
*/
namespace Tests\Unit;
use App\DataMapper\InvoiceItem;
use App\Models\Invoice;
use App\Models\PurchaseOrder;
use Illuminate\Foundation\Testing\DatabaseTransactions;
use Tests\MockAccountData;
use Tests\TestCase;
/**
* @test
* @covers App\Helpers\Invoice\InvoiceSum
*/
class InvoiceBalanceTest extends TestCase
{
use MockAccountData;
protected function setUp(): void
{
parent::setUp();
$this->makeTestData();
}
public function testInvoiceBalances()
{
$item = new InvoiceItem();
$item->quantity = 1;
$item->cost = 100;
$item->type_id = '1';
$i = Invoice::factory()->create([
'company_id' => $this->company->id,
'user_id' => $this->user->id,
'client_id' => $this->client->id,
'line_items' => [$item],
'status_id' => 1,
'tax_rate1' => 0,
'tax_rate2' => 0,
'tax_rate3' => 0,
'tax_name1' => '',
'tax_name2' => '',
'tax_name3' => '',
'discount' => 0,
'paid_to_date' => 0,
]);
$this->assertEquals(1, $i->status_id);
$i = $i->calc()->getInvoice()->service()->markSent()->save();
$this->assertEquals(100, $i->amount);
$this->assertEquals(100, $i->balance);
$this->assertEquals(2, $i->status_id);
$this->assertEquals(0, $i->paid_to_date);
$item = new InvoiceItem();
$item->quantity = 1;
$item->cost = 30.37;
$item->type_id = '1';
$i->line_items = [$item];
$i = $i->calc()->getInvoice();
// nlog($i->withoutRelations()->toArray());
$this->assertEquals(30.37, $i->amount);
$this->assertEquals(30.37, $i->balance);
$this->assertEquals(2, $i->status_id);
$this->assertEquals(0, $i->paid_to_date);
$i = $i->service()->applyPaymentAmount(10.37, 'paid')->save();
// nlog($i->withoutRelations()->toArray());
$this->assertEquals(30.37, $i->amount);
$this->assertEquals(20.00, $i->balance);
$this->assertEquals(3, $i->status_id);
$this->assertEquals(10.37, $i->paid_to_date);
$item = new InvoiceItem();
$item->quantity = 1;
$item->cost = 15;
$item->type_id = '1';
$i->line_items = [$item];
$i = $i->calc()->getInvoice();
$this->assertEquals(15, $i->amount);
$this->assertEquals(15-10.37, $i->balance);
$this->assertEquals(3, $i->status_id);
$this->assertEquals(10.37, $i->paid_to_date);
}
public function testInvoiceBalancesWithNegatives()
{
$item = new InvoiceItem();
$item->quantity = 1;
$item->cost = -100;
$item->type_id = '1';
$i = Invoice::factory()->create([
'company_id' => $this->company->id,
'user_id' => $this->user->id,
'client_id' => $this->client->id,
'line_items' => [$item],
'status_id' => 1,
'tax_rate1' => 0,
'tax_rate2' => 0,
'tax_rate3' => 0,
'tax_name1' => '',
'tax_name2' => '',
'tax_name3' => '',
'discount' => 0,
'paid_to_date' => 0,
]);
$this->assertEquals(1, $i->status_id);
$i = $i->calc()->getInvoice()->service()->markSent()->save();
$this->assertEquals(-100, $i->amount);
$this->assertEquals(-100, $i->balance);
$this->assertEquals(2, $i->status_id);
$this->assertEquals(0, $i->paid_to_date);
$item = new InvoiceItem();
$item->quantity = 1;
$item->cost = -30.37;
$item->type_id = '1';
$i->line_items = [$item];
$i = $i->calc()->getInvoice();
$this->assertEquals(-30.37, $i->amount);
$this->assertEquals(-30.37, $i->balance);
$this->assertEquals(2, $i->status_id);
$this->assertEquals(0, $i->paid_to_date);
$i = $i->service()->markPaid()->save();
$this->assertEquals(0, $i->balance);
$this->assertEquals(-30.37, $i->paid_to_date);
}
public function testPurchaseOrderBalances()
{
$item = new InvoiceItem();
$item->quantity = 1;
$item->cost = 100;
$item->type_id = '1';
$i = PurchaseOrder::factory()->create([
'company_id' => $this->company->id,
'user_id' => $this->user->id,
'vendor_id' => $this->vendor->id,
'line_items' => [$item],
'status_id' => 1,
'tax_rate1' => 0,
'tax_rate2' => 0,
'tax_rate3' => 0,
'tax_name1' => '',
'tax_name2' => '',
'tax_name3' => '',
'discount' => 0,
'paid_to_date' => 0,
]);
$this->assertEquals(1, $i->status_id);
$i = $i->calc()->getPurchaseOrder();
$i = $i->service()->markSent()->save();
$this->assertEquals(100, $i->amount);
$this->assertEquals(100, $i->balance);
$this->assertEquals(2, $i->status_id);
$this->assertEquals(0, $i->paid_to_date);
$item = new InvoiceItem();
$item->quantity = 1;
$item->cost = 30.37;
$item->type_id = '1';
$i->line_items = [$item];
$i = $i->calc()->getPurchaseOrder();
$i = $i->service()->markSent()->save();
$this->assertEquals(30.37, $i->amount);
$this->assertEquals(30.37, $i->balance);
$this->assertEquals(2, $i->status_id);
$this->assertEquals(0, $i->paid_to_date);
$item = new InvoiceItem();
$item->quantity = 1;
$item->cost =10.37;
$item->type_id = '1';
$i->line_items = [$item];
$i = $i->calc()->getPurchaseOrder();
$i = $i->service()->markSent()->save();
$this->assertEquals(10.37, $i->amount);
$this->assertEquals(10.37, $i->balance);
$this->assertEquals(2, $i->status_id);
$this->assertEquals(0, $i->paid_to_date);
}
}

View File

@ -20,6 +20,36 @@ use Tests\TestCase;
*/ */
class NumberTest extends TestCase class NumberTest extends TestCase
{ {
public function testNegativeFloatParse()
{
$value = '-22,00';
$res = Number::parseFloat($value);
$this->assertEquals(-22.0, $res);
$value = '-22.00';
$res = Number::parseFloat($value);
$this->assertEquals(-22.0, $res);
$value = '-2200,00';
$res = Number::parseFloat($value);
$this->assertEquals(-2200.0, $res);
$value = '-2.200,00';
$res = Number::parseFloat($value);
$this->assertEquals(-2200.0, $res);
$this->assertEquals(-2200, $res);
}
public function testConvertDecimalCommaFloats() public function testConvertDecimalCommaFloats()
{ {
@ -123,4 +153,22 @@ class NumberTest extends TestCase
$this->assertEquals(7.99, $converted_amount); $this->assertEquals(7.99, $converted_amount);
} }
public function testMultiCommaNumber()
{
$amount = '100,100.00';
$converted_amount = Number::parseFloat($amount);
$this->assertEquals(100100, $converted_amount);
}
public function testMultiDecimalNumber()
{
$amount = '100.1000.000,00';
$converted_amount = Number::parseFloat($amount);
$this->assertEquals(1001000000, $converted_amount);
}
} }