1
0
mirror of https://github.com/invoiceninja/invoiceninja.git synced 2024-11-08 20:22:42 +01:00

Merge remote-tracking branch 'upstream/v5-develop' into 1314-subscriptions-v3

This commit is contained in:
Benjamin Beganović 2024-03-14 16:21:25 +01:00
commit 7eb4235c43
77 changed files with 18093 additions and 6795 deletions

View File

@ -1 +1 @@
5.8.35
5.8.36

View File

@ -891,7 +891,7 @@ class CheckData extends Command
$this->logMessage("Fixing country for # {$client->id}");
});
Client::query()->whereNull("settings->currency_id")->cursor()->each(function ($client) {
Client::query()->whereNull("settings->currency_id")->orWhereJsonContains('settings', ['currency_id' => ''])->cursor()->each(function ($client) {
$settings = $client->settings;
$settings->currency_id = (string)$client->company->settings->currency_id;
$client->settings = $settings;
@ -933,7 +933,6 @@ class CheckData extends Command
});
Invoice::withTrashed()
->where("partial", 0)
->whereNotNull("partial_due_date")
@ -967,7 +966,6 @@ class CheckData extends Command
});
CompanyUser::whereDoesntHave('user')
->cursor()
->when(Ninja::isHosted())
@ -977,6 +975,14 @@ class CheckData extends Command
});
$cus = CompanyUser::withTrashed()
->whereHas("user", function ($query) {
$query->whereColumn("users.account_id", "!=", "company_user.account_id");
})->pluck('id')->implode(",");
$this->logMessage("Cross Linked CompanyUser ids # {$cus}");
}
}

View File

@ -138,7 +138,7 @@ class Handler extends ExceptionHandler
'email' => 'anonymous@example.com',
'name' => 'Anonymous User',
]);
} elseif (auth()->guard('user') && auth()->guard('user')->user() && auth()->user()->company() && auth()->user()->company()->account->report_errors) {
} elseif (auth()->guard('user') && auth()->guard('user')->user() && auth()->user()->companyIsSet() && auth()->user()->company()->account->report_errors) {
$scope->setUser([
'id' => auth()->user()->account->key,
'email' => 'anonymous@example.com',

View File

@ -328,6 +328,7 @@ class InvoiceFilters extends QueryFilters
}
if($sort_col[0] == 'number') {
// return $this->builder->orderByRaw('CAST(number AS UNSIGNED), number ' . $dir);
return $this->builder->orderByRaw('ABS(number) ' . $dir);
}

View File

@ -45,7 +45,7 @@ class EmailPreferencesController extends Controller
if ($invitation->contact->is_locked && !Cache::has("unsubscribe_notitfication_suppression:{$invitation_key}")) {
$nmo = new NinjaMailerObject();
$nmo->mailable = new NinjaMailer((new ClientUnsubscribedObject($invitation->contact, $invitation->contact->company, $invitation->contact->company->owner()->company_users()->first()->portalType() ?? true))->build());
$nmo->mailable = new NinjaMailer((new ClientUnsubscribedObject($invitation->contact, $invitation->contact->company, true))->build());
$nmo->company = $invitation->contact->company;
$nmo->to_user = $invitation->contact->company->owner();
$nmo->settings = $invitation->contact->company->settings;

View File

@ -271,6 +271,7 @@ class InvitationController extends Controller
->with('contact.client')
->firstOrFail();
if ($invitation->contact->trashed()) {
$invitation->contact->restore();
}
@ -294,7 +295,10 @@ class InvitationController extends Controller
'payable_invoices' => [
['invoice_id' => $invitation->invoice->hashed_id, 'amount' => $amount],
],
'signature' => false
'signature' => false,
'contact_first_name' => $invitation->contact->first_name ?? '',
'contact_last_name' => $invitation->contact->last_name ?? '',
'contact_email' => $invitation->contact->email ?? ''
];
$request->replace($data);

View File

@ -55,7 +55,7 @@ class SmtpController extends BaseController
(new \Illuminate\Mail\MailServiceProvider(app()))->register();
try {
Mail::to($user->email, $user->present()->name())->send(new TestMailServer('Email Server Works!', strlen($company->settings->custom_sending_email) > 1 ? $company->settings->custom_sending_email : $user->email));
Mail::mailer('smtp')->to($user->email, $user->present()->name())->send(new TestMailServer('Email Server Works!', strlen($company->settings->custom_sending_email) > 1 ? $company->settings->custom_sending_email : $user->email));
} catch (\Exception $e) {
app('mail.manager')->forgetMailers();
return response()->json(['message' => $e->getMessage()], 400);

View File

@ -54,8 +54,6 @@ class StripeConnectController extends BaseController
$redirect_uri = config('ninja.app_url').'/stripe/completed';
$endpoint = "https://connect.stripe.com/oauth/authorize?response_type=code&client_id={$stripe_client_id}&redirect_uri={$redirect_uri}&scope=read_write&state={$token}";
\Illuminate\Support\Facades\Cache::pull($token);
return redirect($endpoint);
}
@ -156,6 +154,8 @@ class StripeConnectController extends BaseController
$redirect_uri = config('ninja.app_url');
}
\Illuminate\Support\Facades\Cache::pull($request->token);
//response here
return view('auth.connect.completed', ['url' => $redirect_uri]);
// return redirect($redirect_uri);

View File

@ -135,7 +135,7 @@ class Kernel extends HttpKernel
'can' => Authorize::class,
'cors' => Cors::class,
'guest' => RedirectIfAuthenticated::class,
'signed' => ValidateSignature::class,
'signed' => \Illuminate\Routing\Middleware\ValidateSignature::class,
'verified' => EnsureEmailIsVerified::class,
'query_logging' => QueryLogging::class,
'token_auth' => TokenAuth::class,

View File

@ -59,20 +59,6 @@ class StoreClientRequest extends Request
$rules['file'] = $this->file_validation;
}
if (isset($this->number)) {
$rules['number'] = Rule::unique('clients')->where('company_id', $user->company()->id);
}
$rules['country_id'] = 'integer|nullable';
if (isset($this->currency_code)) {
$rules['currency_code'] = 'sometimes|exists:currencies,code';
}
if (isset($this->country_code)) {
$rules['country_code'] = new CountryCodeExistsRule();
}
/* Ensure we have a client name, and that all emails are unique*/
//$rules['name'] = 'required|min:1';
$rules['settings'] = new ValidClientGroupSettingsRule();
@ -97,6 +83,9 @@ class StoreClientRequest extends Request
$rules['number'] = ['bail', 'nullable', Rule::unique('clients')->where('company_id', $user->company()->id)];
$rules['id_number'] = ['bail', 'nullable', Rule::unique('clients')->where('company_id', $user->company()->id)];
$rules['classification'] = 'bail|sometimes|nullable|in:individual,business,company,partnership,trust,charity,government,other';
$rules['shipping_country_id'] = 'integer|nullable|exists:countries,id';
$rules['number'] = ['sometimes', 'nullable', 'bail', Rule::unique('clients')->where('company_id', $user->company()->id)];
$rules['country_id'] = 'integer|nullable|exists:countries,id';
return $rules;
}
@ -139,12 +128,16 @@ class StoreClientRequest extends Request
if (! array_key_exists('currency_id', $input['settings']) && isset($input['group_settings_id'])) {
$group_settings = GroupSetting::find($input['group_settings_id']);
if ($group_settings && property_exists($group_settings->settings, 'currency_id') && isset($group_settings->settings->currency_id)) {
if ($group_settings && property_exists($group_settings->settings, 'currency_id') && is_numeric($group_settings->settings->currency_id)) {
$input['settings']['currency_id'] = (string) $group_settings->settings->currency_id;
} else {
$input['settings']['currency_id'] = (string) $user->company()->settings->currency_id;
}
} elseif (! array_key_exists('currency_id', $input['settings'])) {
}
elseif (! array_key_exists('currency_id', $input['settings'])) {
$input['settings']['currency_id'] = (string) $user->company()->settings->currency_id;
}
elseif (empty($input['settings']['currency_id']) ?? true) {
$input['settings']['currency_id'] = (string) $user->company()->settings->currency_id;
}
@ -160,10 +153,13 @@ class StoreClientRequest extends Request
}
}
// allow setting country_id by iso code
if (isset($input['country_code'])) {
$input['country_id'] = $this->getCountryCode($input['country_code']);
}
// allow setting country_id by iso code
if (isset($input['shipping_country_code'])) {
$input['shipping_country_id'] = $this->getCountryCode($input['shipping_country_code']);
}
@ -173,10 +169,14 @@ class StoreClientRequest extends Request
unset($input['number']);
}
// prevent xss injection
if (array_key_exists('name', $input)) {
$input['name'] = strip_tags($input['name']);
}
//If you want to validate, the prop must be set.
$input['id'] = null;
$this->replace($input);
}

View File

@ -60,17 +60,11 @@ class UpdateClientRequest extends Request
$rules['company_logo'] = 'mimes:jpeg,jpg,png,gif|max:10000';
$rules['industry_id'] = 'integer|nullable';
$rules['size_id'] = 'integer|nullable';
$rules['country_id'] = 'integer|nullable';
$rules['shipping_country_id'] = 'integer|nullable';
$rules['country_id'] = 'integer|nullable|exists:countries,id';
$rules['shipping_country_id'] = 'integer|nullable|exists:countries,id';
$rules['classification'] = 'bail|sometimes|nullable|in:individual,business,company,partnership,trust,charity,government,other';
if ($this->id_number) {
$rules['id_number'] = Rule::unique('clients')->where('company_id', $user->company()->id)->ignore($this->client->id);
}
if ($this->number) {
$rules['number'] = Rule::unique('clients')->where('company_id', $user->company()->id)->ignore($this->client->id);
}
$rules['id_number'] = ['sometimes', 'bail', Rule::unique('clients')->where('company_id', $user->company()->id)->ignore($this->client->id)];
$rules['number'] = ['sometimes', 'bail', Rule::unique('clients')->where('company_id', $user->company()->id)->ignore($this->client->id)];
$rules['settings'] = new ValidClientGroupSettingsRule();
$rules['contacts'] = 'array';
@ -112,6 +106,9 @@ class UpdateClientRequest extends Request
if (array_key_exists('settings', $input) && ! array_key_exists('currency_id', $input['settings'])) {
$input['settings']['currency_id'] = (string) $user->company()->settings->currency_id;
}
elseif (empty($input['settings']['currency_id']) ?? true) {
$input['settings']['currency_id'] = (string) $user->company()->settings->currency_id;
}
if (isset($input['language_code'])) {
$input['settings']['language_id'] = $this->getLanguageId($input['language_code']);
@ -127,9 +124,35 @@ class UpdateClientRequest extends Request
$input['name'] = strip_tags($input['name']);
}
// allow setting country_id by iso code
if (isset($input['country_code'])) {
$input['country_id'] = $this->getCountryCode($input['country_code']);
}
// allow setting country_id by iso code
if (isset($input['shipping_country_code'])) {
$input['shipping_country_id'] = $this->getCountryCode($input['shipping_country_code']);
}
$this->replace($input);
}
private function getCountryCode($country_code)
{
$countries = Cache::get('countries');
$country = $countries->filter(function ($item) use ($country_code) {
return $item->iso_3166_2 == $country_code || $item->iso_3166_3 == $country_code;
})->first();
if ($country) {
return (string) $country->id;
}
return '';
}
private function getLanguageId($language_code)
{
$languages = Cache::get('languages');

View File

@ -95,6 +95,8 @@ class StoreUserRequest extends Request
$input['last_name'] = strip_tags($input['last_name']);
}
$input['id'] = null;
$this->replace($input);
}

View File

@ -98,19 +98,19 @@ class InvoiceTransformer extends BaseTransformer
$invoice_data,
'invoice.partial_due_date'
),
'custom_surcharge1' => $this->getString(
'custom_surcharge1' => $this->getFloat(
$invoice_data,
'invoice.custom_surcharge1'
),
'custom_surcharge2' => $this->getString(
'custom_surcharge2' => $this->getFloat(
$invoice_data,
'invoice.custom_surcharge2'
),
'custom_surcharge3' => $this->getString(
'custom_surcharge3' => $this->getFloat(
$invoice_data,
'invoice.custom_surcharge3'
),
'custom_surcharge4' => $this->getString(
'custom_surcharge4' => $this->getFloat(
$invoice_data,
'invoice.custom_surcharge4'
),

View File

@ -311,7 +311,10 @@ class CompanyImport implements ShouldQueue
}
}
if(file_exists($tmp_file))
unlink($tmp_file);
if(Storage::exists($this->file_location))
unlink(Storage::path($this->file_location));
}

View File

@ -145,7 +145,8 @@ class NinjaMailerJob implements ShouldQueue
->send($mailable);
/* Count the amount of emails sent across all the users accounts */
Cache::increment("email_quota".$this->company->account->key);
$this->incrementEmailCounter();
LightLogs::create(new EmailSuccess($this->nmo->company->company_key, $this->nmo->mailable->subject))
->send();
@ -221,6 +222,12 @@ class NinjaMailerJob implements ShouldQueue
$this->cleanUpMailers();
}
private function incrementEmailCounter(): void
{
if(in_array($this->mailer, ['default','mailgun']))
Cache::increment("email_quota".$this->company->account->key);
}
/**
* Entity notification when an email fails to send
*
@ -324,7 +331,10 @@ class NinjaMailerJob implements ShouldQueue
$this->mailer = 'mailgun';
$this->setMailgunMailer();
return $this;
case 'smtp':
$this->mailer = 'smtp';
$this->configureSmtpMailer();
return $this;
default:
break;
}
@ -336,6 +346,48 @@ class NinjaMailerJob implements ShouldQueue
return $this;
}
private function configureSmtpMailer(): void
{
$company = $this->company;
$smtp_host = $company->smtp_host;
$smtp_port = $company->smtp_port;
$smtp_username = $company->smtp_username;
$smtp_password = $company->smtp_password;
$smtp_encryption = $company->smtp_encryption ?? 'tls';
$smtp_local_domain = strlen($company->smtp_local_domain) > 2 ? $company->smtp_local_domain : null;
$smtp_verify_peer = $company->smtp_verify_peer ?? true;
config([
'mail.mailers.smtp' => [
'transport' => 'smtp',
'host' => $smtp_host,
'port' => $smtp_port,
'username' => $smtp_username,
'password' => $smtp_password,
'encryption' => $smtp_encryption,
'local_domain' => $smtp_local_domain,
'verify_peer' => $smtp_verify_peer,
'timeout' => 30,
],
]);
if (property_exists($this->nmo->settings, 'email_from_name') && strlen($this->nmo->settings->email_from_name) > 1) {
$email_from_name = $this->nmo->settings->email_from_name;
} else {
$email_from_name = $this->company->present()->name();
}
$user = $this->resolveSendingUser();
$sending_email = (isset($this->nmo->settings->custom_sending_email) && stripos($this->nmo->settings->custom_sending_email, "@")) ? $this->nmo->settings->custom_sending_email : $user->email;
$this->nmo
->mailable
->from($sending_email, $email_from_name);
}
/**
* Allows configuration of multiple mailers
* per company for use by self hosted users

View File

@ -123,7 +123,7 @@ class WebhookSingle implements ShouldQueue
]);
(new SystemLogger(
['message' => $response->getBody()->getHeaders(), 'body' => $data],
['message' => $response->getHeaders(), 'body' => $data],
SystemLog::CATEGORY_WEBHOOK,
SystemLog::EVENT_WEBHOOK_SUCCESS,
SystemLog::TYPE_WEBHOOK_RESPONSE,

View File

@ -12,15 +12,17 @@
namespace App\Livewire;
use App\Models\Client;
use App\Models\Invoice;
use Livewire\Component;
use App\Libraries\MultiDB;
use Illuminate\Support\Str;
use App\Models\ClientContact;
use App\Models\CompanyGateway;
use App\Models\Invoice;
use App\Utils\Traits\MakesHash;
use Livewire\Attributes\Computed;
use Illuminate\Support\Facades\Cache;
use Illuminate\Support\Facades\Validator;
use Illuminate\Support\Str;
use Livewire\Component;
class RequiredClientInfo extends Component
{
@ -31,10 +33,7 @@ class RequiredClientInfo extends Component
*/
public $show_terms = false;
/**
* @var array
*/
public $invoice;
public $invoice_terms;
/**
* @var bool
@ -49,18 +48,40 @@ class RequiredClientInfo extends Component
/**
* @var ClientContact
*/
public $contact;
public $contact_id;
/**
* @var \App\Models\Client
*/
public $client;
public $client_id;
/**
* @var array
*/
public $countries;
public $client_name;
public $contact_first_name;
public $contact_last_name;
public $contact_email;
public $client_phone;
public $client_address_line_1;
public $client_city;
public $client_state;
public $client_country_id;
public $client_postal_code;
public $client_shipping_address_line_1;
public $client_shipping_city;
public $client_shipping_state;
public $client_shipping_postal_code;
public $client_shipping_country_id;
public $client_custom_value1;
public $client_custom_value2;
public $client_custom_value3;
public $client_custom_value4;
/**
* Mappings for updating the database. Left side is mapping from gateway,
* right side is column in database.
@ -113,52 +134,97 @@ class RequiredClientInfo extends Component
];
protected $rules = [
'client.address1' => '',
'client.address2' => '',
'client.city' => '',
'client.state' => '',
'client.postal_code' => '',
'client.country_id' => '',
'client.shipping_address1' => '',
'client.shipping_address2' => '',
'client.shipping_city' => '',
'client.shipping_state' => '',
'client.shipping_postal_code' => '',
'client.shipping_country_id' => '',
'contact.first_name' => '',
'contact.last_name' => '',
'contact.email' => '',
'client.name' => '',
'client.website' => '',
'client.phone' => '',
'client.custom_value1' => '',
'client.custom_value2' => '',
'client.custom_value3' => '',
'client.custom_value4' => '',
// 'client.address1' => '',
// 'client.address2' => '',
// 'client.city' => '',
// 'client.state' => '',
// 'client.postal_code' => '',
// 'client.country_id' => '',
// 'client.shipping_address1' => '',
// 'client.shipping_address2' => '',
// 'client.shipping_city' => '',
// 'client.shipping_state' => '',
// 'client.shipping_postal_code' => '',
// 'client.shipping_country_id' => '',
// 'contact.first_name' => '',
// 'contact.last_name' => '',
// 'contact.email' => '',
// 'client.name' => '',
// 'client.website' => '',
// 'client.phone' => '',
// 'client.custom_value1' => '',
// 'client.custom_value2' => '',
// 'client.custom_value3' => '',
// 'client.custom_value4' => '',
'client_name' => '',
'client_website' => '',
'client_phone' => '',
'client_address_line_1' => '',
'client_address_line_2' => '',
'client_city' => '',
'client_state' => '',
'client_postal_code' => '',
'client_country_id' => '',
'client_shipping_address_line_1' => '',
'client_shipping_address_line_2' => '',
'client_shipping_city' => '',
'client_shipping_state' => '',
'client_shipping_postal_code' => '',
'client_shipping_country_id' => '',
'client_custom_value1' => '',
'client_custom_value2' => '',
'client_custom_value3' => '',
'client_custom_value4' => '',
'contact_first_name' => '',
'contact_last_name' => '',
'contact_email' => '',
];
public $show_form = false;
public $company;
public $company_id;
public $company_gateway_id;
public bool $form_only = false;
public $db;
public function mount()
{
MultiDB::setDb($this->company->db);
MultiDB::setDb($this->db);
$contact = ClientContact::withTrashed()->find($this->contact_id);
$company = $contact->company;
$this->client = $this->contact->client;
$this->client_name = $contact->client->name;
$this->contact_first_name = $contact->first_name;
$this->contact_last_name = $contact->last_name;
$this->contact_email = $contact->email;
$this->client_phone = $contact->client->phone;
$this->client_address_line_1 = $contact->client->address1;
$this->client_city = $contact->client->city ;
$this->client_state = $contact->client->state;
$this->client_country_id = $contact->client->country_id;
$this->client_postal_code = $contact->client->postal_code;
$this->client_shipping_address_line_1 = $contact->client->shipping_address1;
$this->client_shipping_city = $contact->client->shipping_city;
$this->client_shipping_state = $contact->client->shipping_state;
$this->client_shipping_postal_code = $contact->client->shipping_postal_code;
$this->client_shipping_country_id = $contact->client->shipping_country_id;
$this->client_custom_value1 = $contact->client->custom_value1;
$this->client_custom_value2 = $contact->client->custom_value2;
$this->client_custom_value3 = $contact->client->custom_value3;
$this->client_custom_value4 = $contact->client->custom_value4;
if ($this->company->settings->show_accept_invoice_terms && request()->query('hash')) {
// $this->client = $this->contact->client;
if ($company->settings->show_accept_invoice_terms && request()->query('hash')) {
$this->show_terms = true;
$this->terms_accepted = false;
$this->show_form = true;
$hash = Cache::get(request()->input('hash'));
$this->invoice = Invoice::find($this->decodePrimaryKey($hash['invoice_id']));
$this->invoice_terms = Invoice::find($this->decodePrimaryKey($hash['invoice_id']))->terms;
}
count($this->fields) > 0 || $this->show_terms
@ -184,6 +250,24 @@ class RequiredClientInfo extends Component
}
}
#[Computed]
public function contact()
{
MultiDB::setDb($this->db);
return ClientContact::withTrashed()->find($this->contact_id);
}
#[Computed]
public function client()
{
MultiDB::setDb($this->db);
return ClientContact::withTrashed()->find($this->contact_id)->client;
}
public function toggleTermsAccepted()
{
$this->terms_accepted = !$this->terms_accepted;
@ -191,6 +275,10 @@ class RequiredClientInfo extends Component
public function handleSubmit(array $data): bool
{
MultiDB::setDb($this->db);
$contact = ClientContact::withTrashed()->find($this->contact_id);
$rules = [];
collect($this->fields)->map(function ($field) use (&$rules) {
@ -212,7 +300,7 @@ class RequiredClientInfo extends Component
if ($this->updateClientDetails($data)) {
$this->dispatch(
'passed-required-fields-check',
client_postal_code: $this->contact->client->postal_code
client_postal_code: $contact->client->postal_code
);
//if stripe is enabled, we want to update the customer at this point.
@ -229,6 +317,11 @@ class RequiredClientInfo extends Component
$client = [];
$contact = [];
MultiDB::setDb($this->db);
$_contact = ClientContact::withTrashed()->find($this->contact_id);
foreach ($data as $field => $value) {
if (Str::startsWith($field, 'client_')) {
$client[$this->mappings[$field]] = $value;
@ -239,20 +332,43 @@ class RequiredClientInfo extends Component
}
}
$contact_update = $this->contact
$_contact->first_name = $this->contact_first_name;
$_contact->last_name = $this->contact_last_name;
$_contact->client->name = $this->client_name;
$_contact->email = $this->contact_email;
$_contact->client->phone = $this->client_phone;
$_contact->client->address1 = $this->client_address_line_1;
$_contact->client->city = $this->client_city;
$_contact->client->state = $this->client_state;
$_contact->client->country_id = $this->client_country_id;
$_contact->client->postal_code = $this->client_postal_code;
$_contact->client->shipping_address1 = $this->client_shipping_address_line_1;
$_contact->client->shipping_city = $this->client_shipping_city;
$_contact->client->shipping_state = $this->client_shipping_state;
$_contact->client->shipping_postal_code = $this->client_shipping_postal_code;
$_contact->client->shipping_country_id = $this->client_shipping_country_id;
$_contact->client->custom_value1 = $this->client_custom_value1;
$_contact->client->custom_value2 = $this->client_custom_value2;
$_contact->client->custom_value3 = $this->client_custom_value3;
$_contact->client->custom_value4 = $this->client_custom_value4;
$_contact->push();
$contact_update = $_contact
->fill($contact)
->push();
$client_update = $this->contact->client
$client_update = $_contact->client
->fill($client)
->push();
if ($contact_update && $client_update) {
if ($_contact) {
/** @var \App\Models\CompanyGateway $cg */
$cg = CompanyGateway::find($this->company_gateway_id);
if ($cg && $cg->update_details) {
$payment_gateway = $cg->driver($this->client)->init();
$payment_gateway = $cg->driver($_contact->client)->init();
if (method_exists($payment_gateway, "updateCustomer")) {
$payment_gateway->updateCustomer();
@ -267,11 +383,15 @@ class RequiredClientInfo extends Component
public function checkFields()
{
MultiDB::setDb($this->db);
$_contact = ClientContact::withTrashed()->find($this->contact_id);
foreach ($this->fields as $index => $field) {
$_field = $this->mappings[$field['name']];
if (Str::startsWith($field['name'], 'client_')) {
if (empty($this->contact->client->{$_field}) || is_null($this->contact->client->{$_field}) || in_array($_field, $this->client_address_array)) {
if (empty($_contact->client->{$_field}) || is_null($_contact->client->{$_field}) || in_array($_field, $this->client_address_array)) {
$this->show_form = true;
} else {
$this->fields[$index]['filled'] = true;
@ -279,7 +399,7 @@ class RequiredClientInfo extends Component
}
if (Str::startsWith($field['name'], 'contact_')) {
if (empty($this->contact->{$_field}) || is_null($this->contact->{$_field}) || str_contains($this->contact->{$_field}, '@example.com')) {
if (empty($_contact->{$_field}) || is_null($_contact->{$_field}) || str_contains($_contact->{$_field}, '@example.com')) {
$this->show_form = true;
} else {
$this->fields[$index]['filled'] = true;
@ -309,14 +429,18 @@ class RequiredClientInfo extends Component
public function handleCopyBilling(): void
{
MultiDB::setDb($this->db);
$_contact = ClientContact::withTrashed()->find($this->contact_id);
$this->dispatch(
'update-shipping-data',
client_shipping_address_line_1: $this->contact->client->address1,
client_shipping_address_line_2: $this->contact->client->address2,
client_shipping_city: $this->contact->client->city,
client_shipping_state: $this->contact->client->state,
client_shipping_postal_code: $this->contact->client->postal_code,
client_shipping_country_id: $this->contact->client->country_id,
client_shipping_address_line_1: $_contact->client->address1,
client_shipping_address_line_2: $_contact->client->address2,
client_shipping_city: $_contact->client->city,
client_shipping_state: $_contact->client->state,
client_shipping_postal_code: $_contact->client->postal_code,
client_shipping_country_id: $_contact->client->country_id,
);
}

View File

@ -271,7 +271,7 @@ class CreditCard implements MethodInterface
$errors = $api_response->getErrors();
}
if (property_exists($customers, 'customers')) {
if ($customers && property_exists($customers, 'customers')) {
return $customers->customers[0]->id;
}

View File

@ -89,6 +89,10 @@ class PaymentIntentWebhook implements ShouldQueue
}
$company_gateway = CompanyGateway::query()->find($this->company_gateway_id);
if(!$company_gateway)
return;
$stripe_driver = $company_gateway->driver()->init();
$charge_id = false;

View File

@ -244,6 +244,12 @@ class Email implements ShouldQueue
return $this;
}
private function incrementEmailCounter(): void
{
if(in_array($this->mailer, ['default','mailgun']))
Cache::increment("email_quota".$this->company->account->key);
}
/**
* Attempts to send the email
*
@ -270,7 +276,7 @@ class Email implements ShouldQueue
$mailer->send($this->mailable);
Cache::increment("email_quota".$this->company->account->key);
$this->incrementEmailCounter();
LightLogs::create(new EmailSuccess($this->company->company_key, $this->mailable->subject))
->send();
@ -549,7 +555,10 @@ class Email implements ShouldQueue
$this->mailer = 'mailgun';
$this->setMailgunMailer();
return $this;
case 'smtp':
$this->mailer = 'smtp';
$this->configureSmtpMailer();
return $this;
default:
$this->mailer = config('mail.default');
return $this;
@ -562,6 +571,43 @@ class Email implements ShouldQueue
return $this;
}
private function configureSmtpMailer(): void
{
$company = $this->company;
$smtp_host = $company->smtp_host;
$smtp_port = $company->smtp_port;
$smtp_username = $company->smtp_username;
$smtp_password = $company->smtp_password;
$smtp_encryption = $company->smtp_encryption ?? 'tls';
$smtp_local_domain = strlen($company->smtp_local_domain) > 2 ? $company->smtp_local_domain : null;
$smtp_verify_peer = $company->smtp_verify_peer ?? true;
config([
'mail.mailers.smtp' => [
'transport' => 'smtp',
'host' => $smtp_host,
'port' => $smtp_port,
'username' => $smtp_username,
'password' => $smtp_password,
'encryption' => $smtp_encryption,
'local_domain' => $smtp_local_domain,
'verify_peer' => $smtp_verify_peer,
'timeout' => 30,
],
]);
$user = $this->resolveSendingUser();
$sending_email = (isset($this->email_object->settings->custom_sending_email) && stripos($this->email_object->settings->custom_sending_email, "@")) ? $this->email_object->settings->custom_sending_email : $user->email;
$sending_user = (isset($this->email_object->settings->email_from_name) && strlen($this->email_object->settings->email_from_name) > 2) ? $this->email_object->settings->email_from_name : $user->name();
$this->mailable
->from($sending_email, $sending_user);
}
/**
* Allows configuration of multiple mailers
* per company for use by self hosted users

View File

@ -123,7 +123,7 @@ class EmailDefaults
*/
private function setFrom(): self
{
if (Ninja::isHosted() && $this->email->email_object->settings->email_sending_method == 'default') {
if (Ninja::isHosted() && in_array($this->email->email_object->settings->email_sending_method,['default', 'mailgun'])) {
if ($this->email->company->account->isPaid() && property_exists($this->email->email_object->settings, 'email_from_name') && strlen($this->email->email_object->settings->email_from_name) > 1) {
$email_from_name = $this->email->email_object->settings->email_from_name;
} else {

View File

@ -1032,6 +1032,8 @@ class TemplateService
'payment_balance' => $purchase_order->client->payment_balance,
'credit_balance' => $purchase_order->client->credit_balance,
'vat_number' => $purchase_order->client->vat_number ?? '',
'address' => $purchase_order->client->present()->address(),
'shipping_address' => $purchase_order->client->present()->shipping_address(),
] : [],
'status_id' => (string)($purchase_order->status_id ?: 1),
'status' => PurchaseOrder::stringStatus($purchase_order->status_id ?? 1),

View File

@ -622,6 +622,33 @@ class HtmlEngine
$data['$task.task3'] = ['value' => '', 'label' => $this->helpers->makeCustomField($this->company->custom_fields, 'task3')];
$data['$task.task4'] = ['value' => '', 'label' => $this->helpers->makeCustomField($this->company->custom_fields, 'task4')];
if($this->entity->vendor) {
$data['$vendor_name'] = ['value' => $this->entity->vendor->present()->name() ?: ' ', 'label' => ctrans('texts.vendor_name')];
$data['$vendor.name'] = &$data['$vendor_name'];
$data['$vendor'] = &$data['$vendor_name'];
$data['$vendor.address1'] = ['value' => $this->entity->vendor->address1 ?: ' ', 'label' => ctrans('texts.address1')];
$data['$vendor.address2'] = ['value' => $this->entity->vendor->address2 ?: ' ', 'label' => ctrans('texts.address2')];
$data['$vendor.id_number'] = ['value' => $this->entity->vendor->id_number ?: ' ', 'label' => ctrans('texts.id_number')];
$data['$vendor.number'] = ['value' => $this->entity->vendor->number ?: ' ', 'label' => ctrans('texts.number')];
$data['$vendor.vat_number'] = ['value' => $this->entity->vendor->vat_number ?: ' ', 'label' => ctrans('texts.vat_number')];
$data['$vendor.website'] = ['value' => $this->entity->vendor->present()->website() ?: ' ', 'label' => ctrans('texts.website')];
$data['$vendor.phone'] = ['value' => $this->entity->vendor->present()->phone() ?: ' ', 'label' => ctrans('texts.phone')];
$data['$vendor.country'] = ['value' => isset($this->entity->vendor->country->name) ? ctrans('texts.country_' . $this->entity->vendor->country->name) : '', 'label' => ctrans('texts.country')];
$data['$vendor.country_2'] = ['value' => isset($this->entity->vendor->country) ? $this->entity->vendor->country->iso_3166_2 : '', 'label' => ctrans('texts.country')];
$data['$vendor_address'] = ['value' => $this->entity->vendor->present()->address() ?: ' ', 'label' => ctrans('texts.address')];
$data['$vendor.address'] = &$data['$vendor_address'];
$data['$vendor.postal_code'] = ['value' => $this->entity->vendor->postal_code ?: ' ', 'label' => ctrans('texts.postal_code')];
$data['$vendor.public_notes'] = ['value' => $this->entity->vendor->public_notes ?: ' ', 'label' => ctrans('texts.notes')];
$data['$vendor.city'] = ['value' => $this->entity->vendor->city ?: ' ', 'label' => ctrans('texts.city')];
$data['$vendor.state'] = ['value' => $this->entity->vendor->state ?: ' ', 'label' => ctrans('texts.state')];
$data['$vendor.city_state_postal'] = ['value' => $this->entity->vendor->present()->cityStateZip($this->entity->vendor->city, $this->entity->vendor->state, $this->entity->vendor->postal_code, false) ?: ' ', 'label' => ctrans('texts.city_state_postal')];
$data['$vendor.postal_city_state'] = ['value' => $this->entity->vendor->present()->cityStateZip($this->entity->vendor->city, $this->entity->vendor->state, $this->entity->vendor->postal_code, true) ?: ' ', 'label' => ctrans('texts.postal_city_state')];
$data['$vendor.postal_city'] = ['value' => $this->entity->vendor->present()->cityStateZip($this->entity->vendor->city, null, $this->entity->vendor->postal_code, true) ?: ' ', 'label' => ctrans('texts.postal_city')];
}
if ($this->settings->signature_on_pdf) {
$data['$contact.signature'] = ['value' => $this->invitation->signature_base64, 'label' => ctrans('texts.signature')];
$data['$contact.signature_date'] = ['value' => $this->translateDate($this->invitation->signature_date, $this->client->date_format(), $this->client->locale()), 'label' => ctrans('texts.date')];

View File

@ -93,59 +93,59 @@ class Number
* @param string $value The formatted number to be converted back to float
* @return float The formatted value
*/
public static function parseFloat2($value)
public static function parseFloat($value)
{
if(!$value)
return 0;
//remove everything except for numbers, decimals, commas and hyphens
$value = preg_replace('/[^0-9.,-]+/', '', $value);
$decimal = strpos($value, '.');
$comma = strpos($value, ',');
if($comma === false) //no comma must be a decimal number already
return (float) $value;
if($decimal < $comma){ //decimal before a comma = euro
$value = str_replace(['.',','], ['','.'], $value);
// $value = str_replace(',', '.', $value);
return (float) $value;
}
//comma first = traditional thousan separator
$value = str_replace(',', '', $value);
return (float)$value;
// if(!$value)
// return 0;
// $multiplier = false;
// //remove everything except for numbers, decimals, commas and hyphens
// $value = preg_replace('/[^0-9.,-]+/', '', $value);
// if(substr($value, 0,1) == '-')
// $multiplier = -1;
// $decimal = strpos($value, '.');
// $comma = strpos($value, ',');
// $s = str_replace(',', '.', $value);
// if($comma === false) //no comma must be a decimal number already
// return (float) $value;
// $s = preg_replace("/[^0-9\.]/", '', $s);
// if ($s < 1) {
// return (float) $s;
// if($decimal < $comma){ //decimal before a comma = euro
// $value = str_replace(['.',','], ['','.'], $value);
// // $value = str_replace(',', '.', $value);
// return (float) $value;
// }
// $s = str_replace('.', '', substr($s, 0, -3)).substr($s, -3);
// //comma first = traditional thousan separator
// $value = str_replace(',', '', $value);
// if($multiplier)
// $s = floatval($s)*-1;
// return (float)$value;
// 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;
}
//next iteration of float parsing
public static function parseFloat($value)
public static function parseFloat2($value)
{
if(!$value) {
@ -181,7 +181,7 @@ class Number
return (float) $value;
}
//comma first = traditional thousan separator
//comma first = traditional thousand separator
$value = str_replace(',', '', $value);
return (float)$value;

View File

@ -17,8 +17,8 @@ return [
'require_https' => env('REQUIRE_HTTPS', true),
'app_url' => rtrim(env('APP_URL', ''), '/'),
'app_domain' => env('APP_DOMAIN', 'invoicing.co'),
'app_version' => env('APP_VERSION', '5.8.35'),
'app_tag' => env('APP_TAG', '5.8.35'),
'app_version' => env('APP_VERSION', '5.8.36'),
'app_tag' => env('APP_TAG', '5.8.36'),
'minimum_client_version' => '5.0.16',
'terms_version' => '1.0.1',
'api_secret' => env('API_SECRET', false),

View File

@ -453,7 +453,7 @@ $lang = array(
'edit_token' => 'تحرير الرمز',
'delete_token' => 'حذف الرمز المميز',
'token' => 'رمز',
'add_gateway' => 'إضافة بوابة',
'add_gateway' => 'Add Payment Gateway',
'delete_gateway' => 'حذف البوابة',
'edit_gateway' => 'تحرير البوابة',
'updated_gateway' => 'تم تحديث البوابة بنجاح',
@ -5182,7 +5182,7 @@ $lang = array(
'nordigen_handler_error_heading_requisition_invalid_status' => 'غير جاهز',
'nordigen_handler_error_contents_requisition_invalid_status' => 'لقد اتصلت بهذا الموقع مبكرًا جدًا. الرجاء إنهاء الترخيص وتحديث هذه الصفحة. اتصل بالدعم للحصول على المساعدة، إذا استمرت هذه المشكلة.',
'nordigen_handler_error_heading_requisition_no_accounts' => 'لم يتم تحديد أي حسابات',
'nordigen_handler_error_contents_requisition_no_accounts' => 'لم تقم الخدمة بإرجاع أي حسابات صالحة. فكر في إعادة تشغيل التدفق.',
'nordigen_handler_error_contents_requisition_no_accounts' => 'The service has not returned any valid accounts. Consider restarting the flow.',
'nordigen_handler_restart' => 'إعادة تشغيل التدفق.',
'nordigen_handler_return' => 'العودة إلى التطبيق.',
'lang_Lao' => 'لاو',
@ -5222,7 +5222,19 @@ $lang = array(
'test_email_sent' => 'تم إرسال البريد الإلكتروني بنجاح',
'gateway_type' => 'نوع البوابة',
'save_template_body' => 'هل ترغب في حفظ تعيين الاستيراد هذا كقالب لاستخدامه في المستقبل؟',
'save_as_template' => 'حفظ تعيين القالب'
'save_as_template' => 'حفظ تعيين القالب',
'auto_bill_standard_invoices_help' => 'Auto bill standard invoices on the due date',
'auto_bill_on_help' => 'Auto bill on send date OR due date (recurring invoices)',
'use_available_credits_help' => 'Apply any credit balances to payments prior to charging a payment method',
'use_unapplied_payments' => 'Use unapplied payments',
'use_unapplied_payments_help' => 'Apply any payment balances prior to charging a payment method',
'payment_terms_help' => 'يضبط <b>تاريخ استحقاق الفاتورة</b> الافتراضي',
'payment_type_help' => 'يعيّن <b>نوع الدفع اليدوي</b> الافتراضي.',
'quote_valid_until_help' => 'The number of days that the quote is valid for',
'expense_payment_type_help' => 'The default expense payment type to be used',
'paylater' => 'Pay in 4',
'payment_provider' => 'Payment Provider',
);
return $lang;

View File

@ -461,7 +461,7 @@ $lang = array(
'edit_token' => 'Редакция на токън',
'delete_token' => 'Изтриване на токън',
'token' => 'Токън',
'add_gateway' => 'Добавяне на Gateway',
'add_gateway' => 'Add Payment Gateway',
'delete_gateway' => 'Изтриване на Gateway',
'edit_gateway' => 'Редакция на Gateway',
'updated_gateway' => 'Успешно актуализиран Gateway',
@ -3869,7 +3869,7 @@ $lang = array(
'cancellation_pending' => 'Cancellation pending, we\'ll be in touch!',
'list_of_payments' => 'List of payments',
'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',
'payment_method_details' => 'Details of payment method',
'permanently_remove_payment_method' => 'Permanently remove this payment method.',
@ -4926,7 +4926,7 @@ $lang = array(
'no_assigned_tasks' => 'No billable tasks for this project',
'authorization_failure' => 'Insufficient permissions to perform this action',
'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_Interac E Transfer' => 'Interac E Transfer',
'xinvoice_payable' => 'Payable within :payeddue days net until :paydate',
@ -5121,7 +5121,7 @@ $lang = array(
'set_private' => 'Set private',
'individual' => 'Individual',
'business' => 'Business',
'partnership' => 'partnership',
'partnership' => 'Partnership',
'trust' => 'Trust',
'charity' => 'Charity',
'government' => 'Government',
@ -5202,7 +5202,7 @@ $lang = array(
'nordigen_handler_error_heading_requisition_invalid_status' => 'Not Ready',
'nordigen_handler_error_contents_requisition_invalid_status' => 'You called this site too early. Please finish authorization and refresh this page. Contact support for help, if this issue persists.',
'nordigen_handler_error_heading_requisition_no_accounts' => 'No Accounts selected',
'nordigen_handler_error_contents_requisition_no_accounts' => 'The service has not returned any valid accounts. Considder restarting the flow.',
'nordigen_handler_error_contents_requisition_no_accounts' => 'The service has not returned any valid accounts. Consider restarting the flow.',
'nordigen_handler_restart' => 'Restart flow.',
'nordigen_handler_return' => 'Return to application.',
'lang_Lao' => 'Lao',
@ -5222,6 +5222,38 @@ $lang = array(
'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_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',
'use_available_payments' => 'Use Available Payments',
'test_email_sent' => 'Successfully sent email',
'gateway_type' => 'Gateway Type',
'save_template_body' => 'Would you like to save this import mapping as a template for future use?',
'save_as_template' => 'Save Template Mapping',
'auto_bill_standard_invoices_help' => 'Auto bill standard invoices on the due date',
'auto_bill_on_help' => 'Auto bill on send date OR due date (recurring invoices)',
'use_available_credits_help' => 'Apply any credit balances to payments prior to charging a payment method',
'use_unapplied_payments' => 'Use unapplied payments',
'use_unapplied_payments_help' => 'Apply any payment balances prior to charging a payment method',
'payment_terms_help' => 'Задава <b>падеж на фактурата</b> по подразбиране',
'payment_type_help' => 'Задава <b>тип за ръчно плащане</b> по подразбиране.',
'quote_valid_until_help' => 'The number of days that the quote is valid for',
'expense_payment_type_help' => 'The default expense payment type to be used',
'paylater' => 'Pay in 4',
'payment_provider' => 'Payment Provider',
);

View File

@ -460,7 +460,7 @@ $lang = array(
'edit_token' => 'Edit Token',
'delete_token' => 'Delete Token',
'token' => 'Token',
'add_gateway' => 'Add Gateway',
'add_gateway' => 'Add Payment Gateway',
'delete_gateway' => 'Delete Gateway',
'edit_gateway' => 'Edit Gateway',
'updated_gateway' => 'Successfully updated gateway',
@ -5201,7 +5201,7 @@ $lang = array(
'nordigen_handler_error_heading_requisition_invalid_status' => 'Not Ready',
'nordigen_handler_error_contents_requisition_invalid_status' => 'You called this site too early. Please finish authorization and refresh this page. Contact support for help, if this issue persists.',
'nordigen_handler_error_heading_requisition_no_accounts' => 'No Accounts selected',
'nordigen_handler_error_contents_requisition_no_accounts' => 'The service has not returned any valid accounts. Considder restarting the flow.',
'nordigen_handler_error_contents_requisition_no_accounts' => 'The service has not returned any valid accounts. Consider restarting the flow.',
'nordigen_handler_restart' => 'Restart flow.',
'nordigen_handler_return' => 'Return to application.',
'lang_Lao' => 'Lao',
@ -5237,6 +5237,23 @@ $lang = array(
'user_sales' => 'User Sales',
'iframe_url' => 'iFrame URL',
'user_unsubscribed' => 'User unsubscribed from emails :link',
'use_available_payments' => 'Use Available Payments',
'test_email_sent' => 'Successfully sent email',
'gateway_type' => 'Gateway Type',
'save_template_body' => 'Would you like to save this import mapping as a template for future use?',
'save_as_template' => 'Save Template Mapping',
'auto_bill_standard_invoices_help' => 'Auto bill standard invoices on the due date',
'auto_bill_on_help' => 'Auto bill on send date OR due date (recurring invoices)',
'use_available_credits_help' => 'Apply any credit balances to payments prior to charging a payment method',
'use_unapplied_payments' => 'Use unapplied payments',
'use_unapplied_payments_help' => 'Apply any payment balances prior to charging a payment method',
'payment_terms_help' => 'Sets the default <b>invoice due date</b>',
'payment_type_help' => 'Sets the default <b>manual payment type</b>.',
'quote_valid_until_help' => 'The number of days that the quote is valid for',
'expense_payment_type_help' => 'The default expense payment type to be used',
'paylater' => 'Pay in 4',
'payment_provider' => 'Payment Provider',
);
return $lang;

View File

@ -460,7 +460,7 @@ $lang = array(
'edit_token' => 'Editovat token',
'delete_token' => 'Smazat Token',
'token' => 'Token',
'add_gateway' => 'Přidat platební bránu',
'add_gateway' => 'Add Payment Gateway',
'delete_gateway' => 'Smazat platební bránu',
'edit_gateway' => 'Editovat bránu',
'updated_gateway' => 'Brána úspěšně změněna',
@ -5202,7 +5202,7 @@ $lang = array(
'nordigen_handler_error_heading_requisition_invalid_status' => 'Not Ready',
'nordigen_handler_error_contents_requisition_invalid_status' => 'You called this site too early. Please finish authorization and refresh this page. Contact support for help, if this issue persists.',
'nordigen_handler_error_heading_requisition_no_accounts' => 'No Accounts selected',
'nordigen_handler_error_contents_requisition_no_accounts' => 'The service has not returned any valid accounts. Considder restarting the flow.',
'nordigen_handler_error_contents_requisition_no_accounts' => 'The service has not returned any valid accounts. Consider restarting the flow.',
'nordigen_handler_restart' => 'Restart flow.',
'nordigen_handler_return' => 'Return to application.',
'lang_Lao' => 'Lao',
@ -5238,6 +5238,23 @@ $lang = array(
'user_sales' => 'User Sales',
'iframe_url' => 'iFrame URL',
'user_unsubscribed' => 'User unsubscribed from emails :link',
'use_available_payments' => 'Use Available Payments',
'test_email_sent' => 'Successfully sent email',
'gateway_type' => 'Gateway Type',
'save_template_body' => 'Would you like to save this import mapping as a template for future use?',
'save_as_template' => 'Save Template Mapping',
'auto_bill_standard_invoices_help' => 'Auto bill standard invoices on the due date',
'auto_bill_on_help' => 'Auto bill on send date OR due date (recurring invoices)',
'use_available_credits_help' => 'Apply any credit balances to payments prior to charging a payment method',
'use_unapplied_payments' => 'Use unapplied payments',
'use_unapplied_payments_help' => 'Apply any payment balances prior to charging a payment method',
'payment_terms_help' => 'Nastaví jako výchozí <b>datum splatnosti faktury</b>',
'payment_type_help' => 'Sets the default <b>manual payment type</b>.',
'quote_valid_until_help' => 'The number of days that the quote is valid for',
'expense_payment_type_help' => 'The default expense payment type to be used',
'paylater' => 'Pay in 4',
'payment_provider' => 'Payment Provider',
);
return $lang;

View File

@ -460,7 +460,7 @@ $lang = array(
'edit_token' => 'Redigér token',
'delete_token' => 'Slet token',
'token' => 'Token',
'add_gateway' => 'Tilføj gateway',
'add_gateway' => 'Add Payment Gateway',
'delete_gateway' => 'Slet gateway',
'edit_gateway' => 'Redigér gateway',
'updated_gateway' => 'Gateway blev opdateret',
@ -5200,7 +5200,7 @@ $lang = array(
'nordigen_handler_error_heading_requisition_invalid_status' => 'Not Ready',
'nordigen_handler_error_contents_requisition_invalid_status' => 'You called this site too early. Please finish authorization and refresh this page. Contact support for help, if this issue persists.',
'nordigen_handler_error_heading_requisition_no_accounts' => 'No Accounts selected',
'nordigen_handler_error_contents_requisition_no_accounts' => 'The service has not returned any valid accounts. Considder restarting the flow.',
'nordigen_handler_error_contents_requisition_no_accounts' => 'The service has not returned any valid accounts. Consider restarting the flow.',
'nordigen_handler_restart' => 'Restart flow.',
'nordigen_handler_return' => 'Return to application.',
'lang_Lao' => 'Lao',
@ -5236,6 +5236,23 @@ $lang = array(
'user_sales' => 'User Sales',
'iframe_url' => 'iFrame URL',
'user_unsubscribed' => 'User unsubscribed from emails :link',
'use_available_payments' => 'Use Available Payments',
'test_email_sent' => 'Successfully sent email',
'gateway_type' => 'Gateway Type',
'save_template_body' => 'Would you like to save this import mapping as a template for future use?',
'save_as_template' => 'Save Template Mapping',
'auto_bill_standard_invoices_help' => 'Auto bill standard invoices on the due date',
'auto_bill_on_help' => 'Auto bill on send date OR due date (recurring invoices)',
'use_available_credits_help' => 'Apply any credit balances to payments prior to charging a payment method',
'use_unapplied_payments' => 'Use unapplied payments',
'use_unapplied_payments_help' => 'Apply any payment balances prior to charging a payment method',
'payment_terms_help' => 'Sætter standard <b>faktura forfalds dato</b>',
'payment_type_help' => 'Indstiller den <b>manuelle Betaling</b> som standard.',
'quote_valid_until_help' => 'The number of days that the quote is valid for',
'expense_payment_type_help' => 'The default expense payment type to be used',
'paylater' => 'Pay in 4',
'payment_provider' => 'Payment Provider',
);
return $lang;

View File

@ -461,7 +461,7 @@ $lang = array(
'edit_token' => 'Token bearbeiten',
'delete_token' => 'Token löschen',
'token' => 'Token',
'add_gateway' => 'Zahlungsanbieter hinzufügen',
'add_gateway' => 'Add Payment Gateway',
'delete_gateway' => 'Zahlungsanbieter löschen',
'edit_gateway' => 'Zahlungsanbieter bearbeiten',
'updated_gateway' => 'Zahlungsanbieter aktualisiert',
@ -5205,7 +5205,7 @@ Leistungsempfängers',
'nordigen_handler_error_heading_requisition_invalid_status' => 'Nicht bereit',
'nordigen_handler_error_contents_requisition_invalid_status' => 'Sie haben diese Seite zu früh aufgerufen. Bitte schließen Sie die Autorisierung ab und aktualisieren Sie diese Seite. Wenn das Problem weiterhin besteht, wenden Sie sich an den Support.',
'nordigen_handler_error_heading_requisition_no_accounts' => 'Keine Konten ausgewählt',
'nordigen_handler_error_contents_requisition_no_accounts' => 'Der Dienst hat keine gültigen Konten zurückgegeben. Erwägen Sie, den Flow neu zu starten.',
'nordigen_handler_error_contents_requisition_no_accounts' => 'The service has not returned any valid accounts. Consider restarting the flow.',
'nordigen_handler_restart' => 'Fluss neu starten.',
'nordigen_handler_return' => 'Zurück zur Bewerbung.',
'lang_Lao' => 'Laotisch',
@ -5245,7 +5245,19 @@ Leistungsempfängers',
'test_email_sent' => 'E-Mail erfolgreich gesendet',
'gateway_type' => 'Gateway-Typ',
'save_template_body' => 'Möchten Sie diese Importzuordnung als Vorlage für die zukünftige Verwendung speichern?',
'save_as_template' => 'Vorlagenzuordnung speichern'
'save_as_template' => 'Vorlagenzuordnung speichern',
'auto_bill_standard_invoices_help' => 'Auto bill standard invoices on the due date',
'auto_bill_on_help' => 'Auto bill on send date OR due date (recurring invoices)',
'use_available_credits_help' => 'Apply any credit balances to payments prior to charging a payment method',
'use_unapplied_payments' => 'Use unapplied payments',
'use_unapplied_payments_help' => 'Apply any payment balances prior to charging a payment method',
'payment_terms_help' => 'Setzt das <b>Standardfälligkeitsdatum</b>',
'payment_type_help' => 'Setze die Standard <b>manuelle Zahlungsmethode</b>.',
'quote_valid_until_help' => 'The number of days that the quote is valid for',
'expense_payment_type_help' => 'The default expense payment type to be used',
'paylater' => 'Pay in 4',
'payment_provider' => 'Payment Provider',
);
return $lang;

View File

@ -460,7 +460,7 @@ $lang = array(
'edit_token' => 'Επεξεργασία Διακριτικού',
'delete_token' => 'Διαγραφή Διακριτικού',
'token' => 'Διακριτικό',
'add_gateway' => 'Προσθήκη Πύλης Πληρωμών (Gateway)',
'add_gateway' => 'Add Payment Gateway',
'delete_gateway' => 'Διαγραφή Πύλης Πληρωμών (Gateway)',
'edit_gateway' => 'Επεξεργασία Πύλης Πληρωμών (Gateway)',
'updated_gateway' => 'Επιτυχής ενημέρωση πύλης πληρωμών (Gateway)',
@ -3868,7 +3868,7 @@ $lang = array(
'cancellation_pending' => 'Η ακύρωση εκκρεμεί, θα επικοινωνήσουμε μαζί σας!',
'list_of_payments' => 'Λίστα Πληρωμών',
'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',
'payment_method_details' => 'Details of payment method',
'permanently_remove_payment_method' => 'Οριστική αφαίρεσηε αυτής της μεθόδου πληρωμής',
@ -4925,7 +4925,7 @@ $lang = array(
'no_assigned_tasks' => 'Δεν υπάρχουν χρεώσιμες εργασίες για αυτό το έργο',
'authorization_failure' => 'Insufficient permissions to perform this action',
'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_Interac E Transfer' => 'Interac E Transfer',
'xinvoice_payable' => 'Payable within :payeddue days net until :paydate',
@ -5120,7 +5120,7 @@ $lang = array(
'set_private' => 'Set private',
'individual' => 'Individual',
'business' => 'Business',
'partnership' => 'partnership',
'partnership' => 'Partnership',
'trust' => 'Trust',
'charity' => 'Charity',
'government' => 'Government',
@ -5201,7 +5201,7 @@ $lang = array(
'nordigen_handler_error_heading_requisition_invalid_status' => 'Not Ready',
'nordigen_handler_error_contents_requisition_invalid_status' => 'You called this site too early. Please finish authorization and refresh this page. Contact support for help, if this issue persists.',
'nordigen_handler_error_heading_requisition_no_accounts' => 'No Accounts selected',
'nordigen_handler_error_contents_requisition_no_accounts' => 'The service has not returned any valid accounts. Considder restarting the flow.',
'nordigen_handler_error_contents_requisition_no_accounts' => 'The service has not returned any valid accounts. Consider restarting the flow.',
'nordigen_handler_restart' => 'Restart flow.',
'nordigen_handler_return' => 'Return to application.',
'lang_Lao' => 'Lao',
@ -5221,6 +5221,38 @@ $lang = array(
'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_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',
'use_available_payments' => 'Use Available Payments',
'test_email_sent' => 'Successfully sent email',
'gateway_type' => 'Gateway Type',
'save_template_body' => 'Would you like to save this import mapping as a template for future use?',
'save_as_template' => 'Save Template Mapping',
'auto_bill_standard_invoices_help' => 'Auto bill standard invoices on the due date',
'auto_bill_on_help' => 'Auto bill on send date OR due date (recurring invoices)',
'use_available_credits_help' => 'Apply any credit balances to payments prior to charging a payment method',
'use_unapplied_payments' => 'Use unapplied payments',
'use_unapplied_payments_help' => 'Apply any payment balances prior to charging a payment method',
'payment_terms_help' => 'Ορίζει την προεπιλεγμένη <b>ημερομηνία ολοκλήρωσης<b> των τιμολογίων',
'payment_type_help' => 'Ορίζει τον προεπιλεγμένο <b>τρόπο χειροκίνητης πληρωμής</b>.',
'quote_valid_until_help' => 'The number of days that the quote is valid for',
'expense_payment_type_help' => 'The default expense payment type to be used',
'paylater' => 'Pay in 4',
'payment_provider' => 'Payment Provider',
);

View File

@ -5267,6 +5267,8 @@ $lang = array(
'expense_payment_type_help' => 'The default expense payment type to be used',
'paylater' => 'Pay in 4',
'payment_provider' => 'Payment Provider',
'select_email_provider' => 'Set your email as the sending user',
'purchase_order_items' => 'Purchase Order Items',
);

View File

@ -460,7 +460,7 @@ $lang = array(
'edit_token' => 'Editar Token',
'delete_token' => 'Eliminar Token',
'token' => 'Token',
'add_gateway' => 'Agregar Gateway',
'add_gateway' => 'Add Payment Gateway',
'delete_gateway' => 'Eliminar Gateway',
'edit_gateway' => 'Editar Gateway',
'updated_gateway' => 'Gateway actualizado con éxito',
@ -5200,7 +5200,7 @@ $lang = array(
'nordigen_handler_error_heading_requisition_invalid_status' => 'No está listo',
'nordigen_handler_error_contents_requisition_invalid_status' => 'Llamaste a este sitio demasiado pronto. Finalice la autorización y actualice esta página. Póngase en contacto con el soporte para obtener ayuda si este problema persiste.',
'nordigen_handler_error_heading_requisition_no_accounts' => 'No hay cuentas seleccionadas',
'nordigen_handler_error_contents_requisition_no_accounts' => 'El servicio no ha devuelto ninguna cuenta válida. Considere reiniciar el flujo.',
'nordigen_handler_error_contents_requisition_no_accounts' => 'The service has not returned any valid accounts. Consider restarting the flow.',
'nordigen_handler_restart' => 'Reiniciar el flujo.',
'nordigen_handler_return' => 'Volver a la aplicación.',
'lang_Lao' => 'laosiano',
@ -5240,7 +5240,19 @@ $lang = array(
'test_email_sent' => 'Correo electrónico enviado correctamente',
'gateway_type' => 'Tipo de puerta de enlace',
'save_template_body' => '¿Le gustaría guardar este mapeo de importación como plantilla para uso futuro?',
'save_as_template' => 'Guardar asignación de plantilla'
'save_as_template' => 'Guardar asignación de plantilla',
'auto_bill_standard_invoices_help' => 'Auto bill standard invoices on the due date',
'auto_bill_on_help' => 'Auto bill on send date OR due date (recurring invoices)',
'use_available_credits_help' => 'Apply any credit balances to payments prior to charging a payment method',
'use_unapplied_payments' => 'Use unapplied payments',
'use_unapplied_payments_help' => 'Apply any payment balances prior to charging a payment method',
'payment_terms_help' => 'Establecer <b>fecha de vencimiento de la factura</b> por defecto',
'payment_type_help' => 'Establecer el <b>tipo de pago manual</b> por defecto.',
'quote_valid_until_help' => 'The number of days that the quote is valid for',
'expense_payment_type_help' => 'The default expense payment type to be used',
'paylater' => 'Pay in 4',
'payment_provider' => 'Payment Provider',
);
return $lang;

View File

@ -460,7 +460,7 @@ $lang = array(
'edit_token' => 'Editar Token',
'delete_token' => 'Eliminar Token',
'token' => 'Token',
'add_gateway' => 'Agregar Pasarela',
'add_gateway' => 'Add Payment Gateway',
'delete_gateway' => 'Eliminar Pasarela',
'edit_gateway' => 'Editar Pasarela',
'updated_gateway' => 'Pasarela actualizada correctamente',
@ -5198,7 +5198,7 @@ De lo contrario, este campo deberá dejarse en blanco.',
'nordigen_handler_error_heading_requisition_invalid_status' => 'No listo',
'nordigen_handler_error_contents_requisition_invalid_status' => 'Llamaste a este sitio demasiado pronto. Finalice la autorización y actualice esta página. Póngase en contacto con el soporte para obtener ayuda si este problema persiste.',
'nordigen_handler_error_heading_requisition_no_accounts' => 'No hay cuentas seleccionadas',
'nordigen_handler_error_contents_requisition_no_accounts' => 'El servicio no ha devuelto ninguna cuenta válida. Considere reiniciar el flujo.',
'nordigen_handler_error_contents_requisition_no_accounts' => 'The service has not returned any valid accounts. Consider restarting the flow.',
'nordigen_handler_restart' => 'Reiniciar el flujo.',
'nordigen_handler_return' => 'Volver a la aplicación.',
'lang_Lao' => 'Lao',
@ -5238,7 +5238,19 @@ De lo contrario, este campo deberá dejarse en blanco.',
'test_email_sent' => 'Correo electrónico enviado correctamente',
'gateway_type' => 'Tipo de puerta de enlace',
'save_template_body' => '¿Le gustaría guardar este mapeo de importación como plantilla para uso futuro?',
'save_as_template' => 'Guardar asignación de plantilla'
'save_as_template' => 'Guardar asignación de plantilla',
'auto_bill_standard_invoices_help' => 'Auto bill standard invoices on the due date',
'auto_bill_on_help' => 'Auto bill on send date OR due date (recurring invoices)',
'use_available_credits_help' => 'Apply any credit balances to payments prior to charging a payment method',
'use_unapplied_payments' => 'Use unapplied payments',
'use_unapplied_payments_help' => 'Apply any payment balances prior to charging a payment method',
'payment_terms_help' => 'Establezca la <b>fecha límite de pago de factura</b> por defecto',
'payment_type_help' => 'Establece el <b>tipo de pago manual</b> predeterminado.',
'quote_valid_until_help' => 'The number of days that the quote is valid for',
'expense_payment_type_help' => 'The default expense payment type to be used',
'paylater' => 'Pay in 4',
'payment_provider' => 'Payment Provider',
);
return $lang;

View File

@ -461,7 +461,7 @@ $lang = array(
'edit_token' => 'Redigeeri Tokenit',
'delete_token' => 'Kustuta Token',
'token' => 'Token',
'add_gateway' => 'Lisa Lüüs',
'add_gateway' => 'Add Payment Gateway',
'delete_gateway' => 'Kustuta Lüüs',
'edit_gateway' => 'Muuda Lüüsi',
'updated_gateway' => 'Makselahendus uuendatud',
@ -3868,7 +3868,7 @@ $lang = array(
'cancellation_pending' => 'Cancellation pending, we\'ll be in touch!',
'list_of_payments' => 'List of payments',
'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',
'payment_method_details' => 'Details of 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',
'authorization_failure' => 'Insufficient permissions to perform this action',
'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_Interac E Transfer' => 'Interac E Transfer',
'xinvoice_payable' => 'Payable within :payeddue days net until :paydate',
@ -5120,7 +5120,7 @@ $lang = array(
'set_private' => 'Set private',
'individual' => 'Individual',
'business' => 'Business',
'partnership' => 'partnership',
'partnership' => 'Partnership',
'trust' => 'Trust',
'charity' => 'Charity',
'government' => 'Government',
@ -5201,7 +5201,7 @@ $lang = array(
'nordigen_handler_error_heading_requisition_invalid_status' => 'Not Ready',
'nordigen_handler_error_contents_requisition_invalid_status' => 'You called this site too early. Please finish authorization and refresh this page. Contact support for help, if this issue persists.',
'nordigen_handler_error_heading_requisition_no_accounts' => 'No Accounts selected',
'nordigen_handler_error_contents_requisition_no_accounts' => 'The service has not returned any valid accounts. Considder restarting the flow.',
'nordigen_handler_error_contents_requisition_no_accounts' => 'The service has not returned any valid accounts. Consider restarting the flow.',
'nordigen_handler_restart' => 'Restart flow.',
'nordigen_handler_return' => 'Return to application.',
'lang_Lao' => 'Lao',
@ -5221,6 +5221,38 @@ $lang = array(
'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_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',
'use_available_payments' => 'Use Available Payments',
'test_email_sent' => 'Successfully sent email',
'gateway_type' => 'Gateway Type',
'save_template_body' => 'Would you like to save this import mapping as a template for future use?',
'save_as_template' => 'Save Template Mapping',
'auto_bill_standard_invoices_help' => 'Auto bill standard invoices on the due date',
'auto_bill_on_help' => 'Auto bill on send date OR due date (recurring invoices)',
'use_available_credits_help' => 'Apply any credit balances to payments prior to charging a payment method',
'use_unapplied_payments' => 'Use unapplied payments',
'use_unapplied_payments_help' => 'Apply any payment balances prior to charging a payment method',
'payment_terms_help' => 'Määrab vaikimisi <b>arve tähtaeg</b>',
'payment_type_help' => 'Määrab vaikimisi <b>käsitsimakse tüüp</b>.',
'quote_valid_until_help' => 'The number of days that the quote is valid for',
'expense_payment_type_help' => 'The default expense payment type to be used',
'paylater' => 'Pay in 4',
'payment_provider' => 'Payment Provider',
);

View File

@ -460,7 +460,7 @@ $lang = array(
'edit_token' => 'Edit Token',
'delete_token' => 'Delete Token',
'token' => 'Token',
'add_gateway' => 'Add Gateway',
'add_gateway' => 'Add Payment Gateway',
'delete_gateway' => 'Delete Gateway',
'edit_gateway' => 'Edit Gateway',
'updated_gateway' => 'Successfully updated gateway',
@ -3868,7 +3868,7 @@ $lang = array(
'cancellation_pending' => 'Cancellation pending, we\'ll be in touch!',
'list_of_payments' => 'List of payments',
'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',
'payment_method_details' => 'Details of 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',
'authorization_failure' => 'Insufficient permissions to perform this action',
'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_Interac E Transfer' => 'Interac E Transfer',
'xinvoice_payable' => 'Payable within :payeddue days net until :paydate',
@ -5120,7 +5120,7 @@ $lang = array(
'set_private' => 'Set private',
'individual' => 'Individual',
'business' => 'Business',
'partnership' => 'partnership',
'partnership' => 'Partnership',
'trust' => 'Trust',
'charity' => 'Charity',
'government' => 'Government',
@ -5201,7 +5201,7 @@ $lang = array(
'nordigen_handler_error_heading_requisition_invalid_status' => 'Not Ready',
'nordigen_handler_error_contents_requisition_invalid_status' => 'You called this site too early. Please finish authorization and refresh this page. Contact support for help, if this issue persists.',
'nordigen_handler_error_heading_requisition_no_accounts' => 'No Accounts selected',
'nordigen_handler_error_contents_requisition_no_accounts' => 'The service has not returned any valid accounts. Considder restarting the flow.',
'nordigen_handler_error_contents_requisition_no_accounts' => 'The service has not returned any valid accounts. Consider restarting the flow.',
'nordigen_handler_restart' => 'Restart flow.',
'nordigen_handler_return' => 'Return to application.',
'lang_Lao' => 'Lao',
@ -5221,6 +5221,38 @@ $lang = array(
'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_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',
'use_available_payments' => 'Use Available Payments',
'test_email_sent' => 'Successfully sent email',
'gateway_type' => 'Gateway Type',
'save_template_body' => 'Would you like to save this import mapping as a template for future use?',
'save_as_template' => 'Save Template Mapping',
'auto_bill_standard_invoices_help' => 'Auto bill standard invoices on the due date',
'auto_bill_on_help' => 'Auto bill on send date OR due date (recurring invoices)',
'use_available_credits_help' => 'Apply any credit balances to payments prior to charging a payment method',
'use_unapplied_payments' => 'Use unapplied payments',
'use_unapplied_payments_help' => 'Apply any payment balances prior to charging a payment method',
'payment_terms_help' => 'Sets the default <b>invoice due date</b>',
'payment_type_help' => 'Sets the default <b>manual payment type</b>.',
'quote_valid_until_help' => 'The number of days that the quote is valid for',
'expense_payment_type_help' => 'The default expense payment type to be used',
'paylater' => 'Pay in 4',
'payment_provider' => 'Payment Provider',
);

View File

@ -460,7 +460,7 @@ $lang = array(
'edit_token' => 'Muokkaa tokenia',
'delete_token' => 'Poista token',
'token' => 'Token',
'add_gateway' => 'Lisää maksunvälittäjä',
'add_gateway' => 'Add Payment Gateway',
'delete_gateway' => 'Poista maksunvälittäjä',
'edit_gateway' => 'Muokkaa maksunvälittäjää',
'updated_gateway' => 'Maksunvälittäjä päivitetty onnistuneesti',
@ -3868,7 +3868,7 @@ Kun saat summat, palaa tälle maksutapasivulle ja klikkaa "Saata loppuun todenta
'cancellation_pending' => 'Cancellation pending, we\'ll be in touch!',
'list_of_payments' => 'List of payments',
'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' => 'Lista maksutavoista',
'payment_method_details' => 'Details of payment method',
'permanently_remove_payment_method' => 'Permanently remove this payment method.',
@ -4925,7 +4925,7 @@ Kun saat summat, palaa tälle maksutapasivulle ja klikkaa "Saata loppuun todenta
'no_assigned_tasks' => 'No billable tasks for this project',
'authorization_failure' => 'Insufficient permissions to perform this action',
'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_Interac E Transfer' => 'Interac E Transfer',
'xinvoice_payable' => 'Payable within :payeddue days net until :paydate',
@ -5120,7 +5120,7 @@ Kun saat summat, palaa tälle maksutapasivulle ja klikkaa "Saata loppuun todenta
'set_private' => 'Set private',
'individual' => 'Individual',
'business' => 'Business',
'partnership' => 'partnership',
'partnership' => 'Partnership',
'trust' => 'Trust',
'charity' => 'Charity',
'government' => 'Government',
@ -5201,7 +5201,7 @@ Kun saat summat, palaa tälle maksutapasivulle ja klikkaa "Saata loppuun todenta
'nordigen_handler_error_heading_requisition_invalid_status' => 'Not Ready',
'nordigen_handler_error_contents_requisition_invalid_status' => 'You called this site too early. Please finish authorization and refresh this page. Contact support for help, if this issue persists.',
'nordigen_handler_error_heading_requisition_no_accounts' => 'No Accounts selected',
'nordigen_handler_error_contents_requisition_no_accounts' => 'The service has not returned any valid accounts. Considder restarting the flow.',
'nordigen_handler_error_contents_requisition_no_accounts' => 'The service has not returned any valid accounts. Consider restarting the flow.',
'nordigen_handler_restart' => 'Restart flow.',
'nordigen_handler_return' => 'Return to application.',
'lang_Lao' => 'Lao',
@ -5221,6 +5221,38 @@ Kun saat summat, palaa tälle maksutapasivulle ja klikkaa "Saata loppuun todenta
'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_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',
'use_available_payments' => 'Use Available Payments',
'test_email_sent' => 'Successfully sent email',
'gateway_type' => 'Gateway Type',
'save_template_body' => 'Would you like to save this import mapping as a template for future use?',
'save_as_template' => 'Save Template Mapping',
'auto_bill_standard_invoices_help' => 'Auto bill standard invoices on the due date',
'auto_bill_on_help' => 'Auto bill on send date OR due date (recurring invoices)',
'use_available_credits_help' => 'Apply any credit balances to payments prior to charging a payment method',
'use_unapplied_payments' => 'Use unapplied payments',
'use_unapplied_payments_help' => 'Apply any payment balances prior to charging a payment method',
'payment_terms_help' => 'Asettaa <b>eräpäivään</b> vakioasetuksen',
'payment_type_help' => 'Asettaa oletuksena <b>manuaalisen maksutavan</b>.',
'quote_valid_until_help' => 'The number of days that the quote is valid for',
'expense_payment_type_help' => 'The default expense payment type to be used',
'paylater' => 'Pay in 4',
'payment_provider' => 'Payment Provider',
);

View File

@ -460,7 +460,7 @@ $lang = array(
'edit_token' => 'Éditer ce jeton',
'delete_token' => 'Supprimer ce jeton',
'token' => 'Jeton',
'add_gateway' => 'Ajouter une passerelle',
'add_gateway' => 'Add Payment Gateway',
'delete_gateway' => 'Supprimer la passerelle',
'edit_gateway' => 'Éditer la passerelle',
'updated_gateway' => 'Passerelle mise à jour avec succès',
@ -5201,7 +5201,7 @@ Lorsque les montant apparaîtront sur votre relevé, veuillez revenir sur cette
'nordigen_handler_error_heading_requisition_invalid_status' => 'Pas prêt',
'nordigen_handler_error_contents_requisition_invalid_status' => 'Vous avez appelé ce site trop tôt. Veuillez terminer l&#39;autorisation et actualiser cette page. Contactez le support pour obtenir de l&#39;aide si ce problème persiste.',
'nordigen_handler_error_heading_requisition_no_accounts' => 'Aucun compte sélectionné',
'nordigen_handler_error_contents_requisition_no_accounts' => 'Le service n&#39;a renvoyé aucun compte valide. Pensez à redémarrer le flux.',
'nordigen_handler_error_contents_requisition_no_accounts' => 'The service has not returned any valid accounts. Consider restarting the flow.',
'nordigen_handler_restart' => 'Redémarrez le flux.',
'nordigen_handler_return' => 'Retour à la candidature.',
'lang_Lao' => 'Laotien',
@ -5241,7 +5241,19 @@ Lorsque les montant apparaîtront sur votre relevé, veuillez revenir sur cette
'test_email_sent' => 'E-mail envoyé avec succès',
'gateway_type' => 'Type de passerelle',
'save_template_body' => 'Souhaitez-vous enregistrer ce mappage dimportation en tant que modèle pour une utilisation future ?',
'save_as_template' => 'Enregistrer le mappage de modèle'
'save_as_template' => 'Enregistrer le mappage de modèle',
'auto_bill_standard_invoices_help' => 'Auto bill standard invoices on the due date',
'auto_bill_on_help' => 'Auto bill on send date OR due date (recurring invoices)',
'use_available_credits_help' => 'Apply any credit balances to payments prior to charging a payment method',
'use_unapplied_payments' => 'Use unapplied payments',
'use_unapplied_payments_help' => 'Apply any payment balances prior to charging a payment method',
'payment_terms_help' => 'Définit <b>la date d\'échéance de la facture</b> par défaut ',
'payment_type_help' => 'Définit le <b>type de paiement manuel </b> par défaut.',
'quote_valid_until_help' => 'The number of days that the quote is valid for',
'expense_payment_type_help' => 'The default expense payment type to be used',
'paylater' => 'Pay in 4',
'payment_provider' => 'Payment Provider',
);
return $lang;

View File

@ -460,7 +460,7 @@ $lang = array(
'edit_token' => 'Éditer le jeton',
'delete_token' => 'Supprimer le jeton',
'token' => 'Jeton',
'add_gateway' => 'Ajouter une passerelle',
'add_gateway' => 'Add Payment Gateway',
'delete_gateway' => 'Supprimer la passerelle',
'edit_gateway' => 'Éditer la passerelle',
'updated_gateway' => 'La passerelle a été mise à jour',
@ -5198,7 +5198,7 @@ Lorsque les montant apparaîtront sur votre relevé, veuillez revenir sur cette
'nordigen_handler_error_heading_requisition_invalid_status' => 'Pas prêt',
'nordigen_handler_error_contents_requisition_invalid_status' => 'Vous avez contacté ce site trop tôt. Veuillez terminer l\'autorisation et rafraîchir cette page. Contactez le support pour obtenir de l\'aide si ce problème persiste.',
'nordigen_handler_error_heading_requisition_no_accounts' => 'Aucun compte sélectionné',
'nordigen_handler_error_contents_requisition_no_accounts' => 'Le service n\'a retourné aucun compte valide. Veuillez redémarrer le processus.',
'nordigen_handler_error_contents_requisition_no_accounts' => 'Le service na retourné aucun compte valide. Veuillez redémarrer le processus.',
'nordigen_handler_restart' => 'Redémarrer le processus',
'nordigen_handler_return' => 'Retour à l\'application',
'lang_Lao' => 'Lao',
@ -5238,7 +5238,19 @@ Lorsque les montant apparaîtront sur votre relevé, veuillez revenir sur cette
'test_email_sent' => 'Le courriel a été envoyé',
'gateway_type' => 'Type de passerelle',
'save_template_body' => 'Souhaitez-vous enregistrer cette correspondance d\'importation en tant que modèle pour une utilisation future ?',
'save_as_template' => 'Enregistrer la correspondance de modèle'
'save_as_template' => 'Enregistrer la correspondance de modèle',
'auto_bill_standard_invoices_help' => 'Facturer automatiquement les factures régulières à la date d\'échéance',
'auto_bill_on_help' => 'Facturation automatique à la date d\'envoi OU à la date d\'échéance (factures récurrentes)',
'use_available_credits_help' => 'Appliquer tout solde de crédit aux paiements avant de facturer une méthode de paiement',
'use_unapplied_payments' => 'Utiliser les paiements non appliqués',
'use_unapplied_payments_help' => 'Appliquer tout solde de paiement avant de facturer une méthode de paiement',
'payment_terms_help' => 'Définit la <b>date d\'échéance de la facture</b> par défaut',
'payment_type_help' => 'Définit le <b>type de paiement manuel<b/> par défaut.',
'quote_valid_until_help' => 'Le nombre de jours pour lesquels la soumission est valide',
'expense_payment_type_help' => 'Le type de paiement de dépenses par défaut à utiliser',
'paylater' => 'Pay in 4',
'payment_provider' => 'Payment Provider',
);
return $lang;

View File

@ -460,7 +460,7 @@ $lang = array(
'edit_token' => 'Éditer le jeton',
'delete_token' => 'Supprimer le jeton',
'token' => 'Jeton',
'add_gateway' => 'Ajouter une passerelle',
'add_gateway' => 'Add Payment Gateway',
'delete_gateway' => 'Supprimer la passerelle',
'edit_gateway' => 'Éditer la passerelle',
'updated_gateway' => 'La passerelle a été mise à jour avec succès',
@ -5198,7 +5198,7 @@ Lorsque les montant apparaîtront sur votre relevé, veuillez revenir sur cette
'nordigen_handler_error_heading_requisition_invalid_status' => 'Pas prêt',
'nordigen_handler_error_contents_requisition_invalid_status' => 'Vous avez appelé ce site trop tôt. Veuillez terminer l&#39;autorisation et actualiser cette page. Contactez le support pour obtenir de l&#39;aide si ce problème persiste.',
'nordigen_handler_error_heading_requisition_no_accounts' => 'Aucun compte sélectionné',
'nordigen_handler_error_contents_requisition_no_accounts' => 'Le service n&#39;a renvoyé aucun compte valide. Pensez à redémarrer le flux.',
'nordigen_handler_error_contents_requisition_no_accounts' => 'The service has not returned any valid accounts. Consider restarting the flow.',
'nordigen_handler_restart' => 'Redémarrez le flux.',
'nordigen_handler_return' => 'Retour à la candidature.',
'lang_Lao' => 'Laotien',
@ -5238,7 +5238,19 @@ Lorsque les montant apparaîtront sur votre relevé, veuillez revenir sur cette
'test_email_sent' => 'E-mail envoyé avec succès',
'gateway_type' => 'Type de passerelle',
'save_template_body' => 'Souhaitez-vous enregistrer ce mappage dimportation en tant que modèle pour une utilisation future ?',
'save_as_template' => 'Enregistrer le mappage de modèle'
'save_as_template' => 'Enregistrer le mappage de modèle',
'auto_bill_standard_invoices_help' => 'Auto bill standard invoices on the due date',
'auto_bill_on_help' => 'Auto bill on send date OR due date (recurring invoices)',
'use_available_credits_help' => 'Apply any credit balances to payments prior to charging a payment method',
'use_unapplied_payments' => 'Use unapplied payments',
'use_unapplied_payments_help' => 'Apply any payment balances prior to charging a payment method',
'payment_terms_help' => 'Définit la <b>date d\'échéance de la facture</b> par défaut',
'payment_type_help' => 'Définit le <b>type de paiement manuel<b/> par défaut.',
'quote_valid_until_help' => 'The number of days that the quote is valid for',
'expense_payment_type_help' => 'The default expense payment type to be used',
'paylater' => 'Pay in 4',
'payment_provider' => 'Payment Provider',
);
return $lang;

View File

@ -458,7 +458,7 @@ $lang = array(
'edit_token' => 'עריכת טוקן',
'delete_token' => 'מחיקת טוקן',
'token' => 'טוקן',
'add_gateway' => 'הוספת Gateway',
'add_gateway' => 'Add Payment Gateway',
'delete_gateway' => 'מחיקת Gateway',
'edit_gateway' => 'עריכת Gateway',
'updated_gateway' => 'Gateway עודכן בהצלחה',
@ -5199,7 +5199,7 @@ $lang = array(
'nordigen_handler_error_heading_requisition_invalid_status' => 'לא מוכן',
'nordigen_handler_error_contents_requisition_invalid_status' => 'התקשרת לאתר הזה מוקדם מדי. אנא סיים את ההרשאה ורענן דף זה. פנה לתמיכה לקבלת עזרה, אם הבעיה נמשכת.',
'nordigen_handler_error_heading_requisition_no_accounts' => 'לא נבחרו חשבונות',
'nordigen_handler_error_contents_requisition_no_accounts' => 'השירות לא החזיר חשבונות תקפים. שקול להפעיל מחדש את הזרימה.',
'nordigen_handler_error_contents_requisition_no_accounts' => 'The service has not returned any valid accounts. Consider restarting the flow.',
'nordigen_handler_restart' => 'הפעל מחדש את הזרימה.',
'nordigen_handler_return' => 'חזור ליישום.',
'lang_Lao' => 'לאו',
@ -5239,7 +5239,19 @@ $lang = array(
'test_email_sent' => 'דוא&quot;ל נשלח בהצלחה',
'gateway_type' => 'סוג שער',
'save_template_body' => 'האם תרצה לשמור את מיפוי הייבוא הזה כתבנית לשימוש עתידי?',
'save_as_template' => 'שמור מיפוי תבניות'
'save_as_template' => 'שמור מיפוי תבניות',
'auto_bill_standard_invoices_help' => 'Auto bill standard invoices on the due date',
'auto_bill_on_help' => 'Auto bill on send date OR due date (recurring invoices)',
'use_available_credits_help' => 'Apply any credit balances to payments prior to charging a payment method',
'use_unapplied_payments' => 'Use unapplied payments',
'use_unapplied_payments_help' => 'Apply any payment balances prior to charging a payment method',
'payment_terms_help' => 'מגדיר את ברית המחדל <b> תאריך לתשלום </b>',
'payment_type_help' => 'הגדר כברירת מחדל <b>manual payment type</b>.',
'quote_valid_until_help' => 'The number of days that the quote is valid for',
'expense_payment_type_help' => 'The default expense payment type to be used',
'paylater' => 'Pay in 4',
'payment_provider' => 'Payment Provider',
);
return $lang;

View File

@ -460,7 +460,7 @@ $lang = array(
'edit_token' => 'Uredi token',
'delete_token' => 'Obriši token',
'token' => 'Token',
'add_gateway' => 'Dodaj usmjernik',
'add_gateway' => 'Add Payment Gateway',
'delete_gateway' => 'Obriši usmjernik',
'edit_gateway' => 'Uredi usmjernik',
'updated_gateway' => 'Uspješno ažuriran usmjernik',
@ -3869,7 +3869,7 @@ Nevažeći kontakt email',
'cancellation_pending' => 'Cancellation pending, we\'ll be in touch!',
'list_of_payments' => 'List of payments',
'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',
'payment_method_details' => 'Details of payment method',
'permanently_remove_payment_method' => 'Permanently remove this payment method.',
@ -4926,7 +4926,7 @@ Nevažeći kontakt email',
'no_assigned_tasks' => 'No billable tasks for this project',
'authorization_failure' => 'Insufficient permissions to perform this action',
'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_Interac E Transfer' => 'Interac E Transfer',
'xinvoice_payable' => 'Payable within :payeddue days net until :paydate',
@ -5121,7 +5121,7 @@ Nevažeći kontakt email',
'set_private' => 'Set private',
'individual' => 'Individual',
'business' => 'Business',
'partnership' => 'partnership',
'partnership' => 'Partnership',
'trust' => 'Trust',
'charity' => 'Charity',
'government' => 'Government',
@ -5202,7 +5202,7 @@ Nevažeći kontakt email',
'nordigen_handler_error_heading_requisition_invalid_status' => 'Not Ready',
'nordigen_handler_error_contents_requisition_invalid_status' => 'You called this site too early. Please finish authorization and refresh this page. Contact support for help, if this issue persists.',
'nordigen_handler_error_heading_requisition_no_accounts' => 'No Accounts selected',
'nordigen_handler_error_contents_requisition_no_accounts' => 'The service has not returned any valid accounts. Considder restarting the flow.',
'nordigen_handler_error_contents_requisition_no_accounts' => 'The service has not returned any valid accounts. Consider restarting the flow.',
'nordigen_handler_restart' => 'Restart flow.',
'nordigen_handler_return' => 'Return to application.',
'lang_Lao' => 'Lao',
@ -5222,6 +5222,38 @@ Nevažeći kontakt email',
'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_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',
'use_available_payments' => 'Use Available Payments',
'test_email_sent' => 'Successfully sent email',
'gateway_type' => 'Gateway Type',
'save_template_body' => 'Would you like to save this import mapping as a template for future use?',
'save_as_template' => 'Save Template Mapping',
'auto_bill_standard_invoices_help' => 'Auto bill standard invoices on the due date',
'auto_bill_on_help' => 'Auto bill on send date OR due date (recurring invoices)',
'use_available_credits_help' => 'Apply any credit balances to payments prior to charging a payment method',
'use_unapplied_payments' => 'Use unapplied payments',
'use_unapplied_payments_help' => 'Apply any payment balances prior to charging a payment method',
'payment_terms_help' => 'Sets the default <b>invoice due date</b>',
'payment_type_help' => 'Sets the default <b>manual payment type</b>.',
'quote_valid_until_help' => 'The number of days that the quote is valid for',
'expense_payment_type_help' => 'The default expense payment type to be used',
'paylater' => 'Pay in 4',
'payment_provider' => 'Payment Provider',
);

View File

@ -453,7 +453,7 @@ $lang = array(
'edit_token' => 'Token szerkesztése',
'delete_token' => 'Token törlése',
'token' => 'Token',
'add_gateway' => 'Szolgáltató hozzáadása',
'add_gateway' => 'Add Payment Gateway',
'delete_gateway' => 'Szolgáltató törlése',
'edit_gateway' => 'Szolgáltató szerkesztése',
'updated_gateway' => 'Szolgáltató sikeresen frissítve',
@ -5185,7 +5185,7 @@ adva :date',
'nordigen_handler_error_heading_requisition_invalid_status' => 'Nem áll készen',
'nordigen_handler_error_contents_requisition_invalid_status' => 'Túl korán hívta fel ezt az oldalt. Kérjük, fejezze be az engedélyezést, és frissítse ezt az oldalt. Ha a probléma továbbra is fennáll, forduljon az ügyfélszolgálathoz.',
'nordigen_handler_error_heading_requisition_no_accounts' => 'Nincsenek kiválasztott fiókok',
'nordigen_handler_error_contents_requisition_no_accounts' => 'A szolgáltatás nem adott vissza egyetlen érvényes fiókot sem. Fontolja meg az áramlás újraindítását.',
'nordigen_handler_error_contents_requisition_no_accounts' => 'The service has not returned any valid accounts. Consider restarting the flow.',
'nordigen_handler_restart' => 'Folyamat újraindítása.',
'nordigen_handler_return' => 'Vissza az alkalmazáshoz.',
'lang_Lao' => 'Lao',
@ -5225,7 +5225,19 @@ adva :date',
'test_email_sent' => 'E-mail sikeresen elküldve',
'gateway_type' => 'Átjáró típusa',
'save_template_body' => 'Szeretné menteni ezt az importleképezést sablonként későbbi használatra?',
'save_as_template' => 'Sablonleképezés mentése'
'save_as_template' => 'Sablonleképezés mentése',
'auto_bill_standard_invoices_help' => 'Auto bill standard invoices on the due date',
'auto_bill_on_help' => 'Auto bill on send date OR due date (recurring invoices)',
'use_available_credits_help' => 'Apply any credit balances to payments prior to charging a payment method',
'use_unapplied_payments' => 'Use unapplied payments',
'use_unapplied_payments_help' => 'Apply any payment balances prior to charging a payment method',
'payment_terms_help' => 'Alapértelmezett fizetési határidő beállítása',
'payment_type_help' => 'Segítség a fizetési típusokhoz',
'quote_valid_until_help' => 'The number of days that the quote is valid for',
'expense_payment_type_help' => 'The default expense payment type to be used',
'paylater' => 'Pay in 4',
'payment_provider' => 'Payment Provider',
);
return $lang;

View File

@ -460,7 +460,7 @@ $lang = array(
'edit_token' => 'Modifica token',
'delete_token' => 'Elimina Token',
'token' => 'Token',
'add_gateway' => 'Aggiungi Gateway',
'add_gateway' => 'Add Payment Gateway',
'delete_gateway' => 'Elimina Gateway',
'edit_gateway' => 'Modifica Gateway',
'updated_gateway' => 'Piattaforma aggiornata con successo',
@ -5192,7 +5192,7 @@ $lang = array(
'nordigen_handler_error_heading_requisition_invalid_status' => 'Not Ready',
'nordigen_handler_error_contents_requisition_invalid_status' => 'You called this site too early. Please finish authorization and refresh this page. Contact support for help, if this issue persists.',
'nordigen_handler_error_heading_requisition_no_accounts' => 'No Accounts selected',
'nordigen_handler_error_contents_requisition_no_accounts' => 'The service has not returned any valid accounts. Considder restarting the flow.',
'nordigen_handler_error_contents_requisition_no_accounts' => 'The service has not returned any valid accounts. Consider restarting the flow.',
'nordigen_handler_restart' => 'Restart flow.',
'nordigen_handler_return' => 'Return to application.',
'lang_Lao' => 'Lao',
@ -5228,6 +5228,23 @@ $lang = array(
'user_sales' => 'User Sales',
'iframe_url' => 'iFrame URL',
'user_unsubscribed' => 'User unsubscribed from emails :link',
'use_available_payments' => 'Use Available Payments',
'test_email_sent' => 'Successfully sent email',
'gateway_type' => 'Gateway Type',
'save_template_body' => 'Would you like to save this import mapping as a template for future use?',
'save_as_template' => 'Save Template Mapping',
'auto_bill_standard_invoices_help' => 'Auto bill standard invoices on the due date',
'auto_bill_on_help' => 'Auto bill on send date OR due date (recurring invoices)',
'use_available_credits_help' => 'Apply any credit balances to payments prior to charging a payment method',
'use_unapplied_payments' => 'Use unapplied payments',
'use_unapplied_payments_help' => 'Apply any payment balances prior to charging a payment method',
'payment_terms_help' => 'Imposta la <b>scadenza fattura</b>predefinita',
'payment_type_help' => 'Imposta il <b>tipo di pagamento</b> predefinito.',
'quote_valid_until_help' => 'The number of days that the quote is valid for',
'expense_payment_type_help' => 'The default expense payment type to be used',
'paylater' => 'Pay in 4',
'payment_provider' => 'Payment Provider',
);
return $lang;

View File

@ -460,7 +460,7 @@ $lang = array(
'edit_token' => 'トークンを編集',
'delete_token' => 'トークンを削除',
'token' => 'トークン',
'add_gateway' => 'ゲートウェイを追加',
'add_gateway' => 'Add Payment Gateway',
'delete_gateway' => 'ゲートウェイを削除',
'edit_gateway' => 'ゲートウェイを編集',
'updated_gateway' => 'ゲートウェイを更新しました。',
@ -5201,7 +5201,7 @@ $lang = array(
'nordigen_handler_error_heading_requisition_invalid_status' => 'Not Ready',
'nordigen_handler_error_contents_requisition_invalid_status' => 'You called this site too early. Please finish authorization and refresh this page. Contact support for help, if this issue persists.',
'nordigen_handler_error_heading_requisition_no_accounts' => 'No Accounts selected',
'nordigen_handler_error_contents_requisition_no_accounts' => 'The service has not returned any valid accounts. Considder restarting the flow.',
'nordigen_handler_error_contents_requisition_no_accounts' => 'The service has not returned any valid accounts. Consider restarting the flow.',
'nordigen_handler_restart' => 'Restart flow.',
'nordigen_handler_return' => 'Return to application.',
'lang_Lao' => 'Lao',
@ -5237,6 +5237,23 @@ $lang = array(
'user_sales' => 'User Sales',
'iframe_url' => 'iFrame URL',
'user_unsubscribed' => 'User unsubscribed from emails :link',
'use_available_payments' => 'Use Available Payments',
'test_email_sent' => 'Successfully sent email',
'gateway_type' => 'Gateway Type',
'save_template_body' => 'Would you like to save this import mapping as a template for future use?',
'save_as_template' => 'Save Template Mapping',
'auto_bill_standard_invoices_help' => 'Auto bill standard invoices on the due date',
'auto_bill_on_help' => 'Auto bill on send date OR due date (recurring invoices)',
'use_available_credits_help' => 'Apply any credit balances to payments prior to charging a payment method',
'use_unapplied_payments' => 'Use unapplied payments',
'use_unapplied_payments_help' => 'Apply any payment balances prior to charging a payment method',
'payment_terms_help' => 'Sets the default <b>invoice due date</b>',
'payment_type_help' => 'Sets the default <b>manual payment type</b>.',
'quote_valid_until_help' => 'The number of days that the quote is valid for',
'expense_payment_type_help' => 'The default expense payment type to be used',
'paylater' => 'Pay in 4',
'payment_provider' => 'Payment Provider',
);
return $lang;

View File

@ -453,7 +453,7 @@ $lang = array(
'edit_token' => 'កែសម្រួលនិមិត្តសញ្ញា',
'delete_token' => 'លុបថូខឹន',
'token' => 'សញ្ញាសម្ងាត់',
'add_gateway' => 'បន្ថែមច្រកផ្លូវ',
'add_gateway' => 'Add Payment Gateway',
'delete_gateway' => 'លុបច្រកផ្លូវ',
'edit_gateway' => 'កែសម្រួលច្រកផ្លូវ',
'updated_gateway' => 'បានធ្វើបច្ចុប្បន្នភាពច្រកផ្លូវដោយជោគជ័យ',
@ -5181,7 +5181,7 @@ $lang = array(
'nordigen_handler_error_heading_requisition_invalid_status' => 'Not Ready',
'nordigen_handler_error_contents_requisition_invalid_status' => 'You called this site too early. Please finish authorization and refresh this page. Contact support for help, if this issue persists.',
'nordigen_handler_error_heading_requisition_no_accounts' => 'No Accounts selected',
'nordigen_handler_error_contents_requisition_no_accounts' => 'The service has not returned any valid accounts. Considder restarting the flow.',
'nordigen_handler_error_contents_requisition_no_accounts' => 'The service has not returned any valid accounts. Consider restarting the flow.',
'nordigen_handler_restart' => 'Restart flow.',
'nordigen_handler_return' => 'Return to application.',
'lang_Lao' => 'Lao',
@ -5217,6 +5217,23 @@ $lang = array(
'user_sales' => 'User Sales',
'iframe_url' => 'iFrame URL',
'user_unsubscribed' => 'User unsubscribed from emails :link',
'use_available_payments' => 'Use Available Payments',
'test_email_sent' => 'Successfully sent email',
'gateway_type' => 'Gateway Type',
'save_template_body' => 'Would you like to save this import mapping as a template for future use?',
'save_as_template' => 'Save Template Mapping',
'auto_bill_standard_invoices_help' => 'Auto bill standard invoices on the due date',
'auto_bill_on_help' => 'Auto bill on send date OR due date (recurring invoices)',
'use_available_credits_help' => 'Apply any credit balances to payments prior to charging a payment method',
'use_unapplied_payments' => 'Use unapplied payments',
'use_unapplied_payments_help' => 'Apply any payment balances prior to charging a payment method',
'payment_terms_help' => 'កំណត់ <b>កាលបរិច្ឆេទកំណត់វិក្កយបត្រ</b> លំនាំដើម',
'payment_type_help' => 'កំណត់ <b>ប្រភេទការទូទាត់ដោយដៃ</b> លំនាំដើម។',
'quote_valid_until_help' => 'The number of days that the quote is valid for',
'expense_payment_type_help' => 'The default expense payment type to be used',
'paylater' => 'Pay in 4',
'payment_provider' => 'Payment Provider',
);
return $lang;

View File

@ -460,7 +460,7 @@ $lang = array(
'edit_token' => 'ແກ້ໄຂ Token',
'delete_token' => 'ລຶບໂທເຄັນ',
'token' => 'ໂທເຄັນ',
'add_gateway' => 'ເພີ່ມປະຕູ',
'add_gateway' => 'Add Payment Gateway',
'delete_gateway' => 'ລຶບປະຕູທາງອອກ',
'edit_gateway' => 'ແກ້ໄຂປະຕູ',
'updated_gateway' => 'ປັບປຸງປະຕູທາງສຳເລັດແລ້ວ',
@ -5201,7 +5201,7 @@ $lang = array(
'nordigen_handler_error_heading_requisition_invalid_status' => 'ບໍ່ພ້ອມ',
'nordigen_handler_error_contents_requisition_invalid_status' => 'ເຈົ້າເອີ້ນເວັບໄຊນີ້ໄວເກີນໄປ. ກະລຸນາສຳເລັດການອະນຸຍາດ ແລະໂຫຼດໜ້ານີ້ຄືນໃໝ່. ຕິດຕໍ່ຝ່າຍຊ່ວຍເຫຼືອເພື່ອຂໍຄວາມຊ່ວຍເຫຼືອ, ຖ້າບັນຫານີ້ຍັງຄົງຢູ່.',
'nordigen_handler_error_heading_requisition_no_accounts' => 'ບໍ່ໄດ້ເລືອກບັນຊີໃດ',
'nordigen_handler_error_contents_requisition_no_accounts' => 'ການບໍລິການບໍ່ໄດ້ສົ່ງຄືນບັນຊີທີ່ຖືກຕ້ອງໃດໆ. ພິຈາລະນາເລີ່ມການໄຫຼເຂົ້າໃໝ່.',
'nordigen_handler_error_contents_requisition_no_accounts' => 'The service has not returned any valid accounts. Consider restarting the flow.',
'nordigen_handler_restart' => 'ເລີ່ມການໄຫຼເຂົ້າໃໝ່.',
'nordigen_handler_return' => 'ກັບຄືນໄປຫາແອັບພລິເຄຊັນ.',
'lang_Lao' => 'ລາວ',
@ -5241,7 +5241,19 @@ $lang = array(
'test_email_sent' => 'ສົ່ງອີເມວສຳເລັດແລ້ວ',
'gateway_type' => 'ປະເພດປະຕູ',
'save_template_body' => 'ທ່ານຕ້ອງການບັນທຶກແຜນທີ່ການນໍາເຂົ້ານີ້ເປັນແມ່ແບບສໍາລັບການນໍາໃຊ້ໃນອະນາຄົດບໍ?',
'save_as_template' => 'ບັນທຶກການສ້າງແຜນທີ່ແມ່ແບບ'
'save_as_template' => 'ບັນທຶກການສ້າງແຜນທີ່ແມ່ແບບ',
'auto_bill_standard_invoices_help' => 'Auto bill standard invoices on the due date',
'auto_bill_on_help' => 'Auto bill on send date OR due date (recurring invoices)',
'use_available_credits_help' => 'Apply any credit balances to payments prior to charging a payment method',
'use_unapplied_payments' => 'Use unapplied payments',
'use_unapplied_payments_help' => 'Apply any payment balances prior to charging a payment method',
'payment_terms_help' => 'ກຳນົດຄ່າເລີ່ມຕົ້ນ <b>ວັນທີຄົບກຳນົດໃບແຈ້ງໜີ້</b>',
'payment_type_help' => 'ຕັ້ງ <b>ປະເພດການຈ່າຍເງິນດ້ວຍມື</b> ເລີ່ມຕົ້ນ.',
'quote_valid_until_help' => 'The number of days that the quote is valid for',
'expense_payment_type_help' => 'The default expense payment type to be used',
'paylater' => 'Pay in 4',
'payment_provider' => 'Payment Provider',
);
return $lang;

View File

@ -460,7 +460,7 @@ $lang = array(
'edit_token' => 'Edit Token',
'delete_token' => 'Delete Token',
'token' => 'Token',
'add_gateway' => 'Add Gateway',
'add_gateway' => 'Add Payment Gateway',
'delete_gateway' => 'Delete Gateway',
'edit_gateway' => 'Edit Gateway',
'updated_gateway' => 'Successfully updated gateway',
@ -3868,7 +3868,7 @@ $lang = array(
'cancellation_pending' => 'Cancellation pending, we\'ll be in touch!',
'list_of_payments' => 'List of payments',
'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',
'payment_method_details' => 'Details of 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',
'authorization_failure' => 'Insufficient permissions to perform this action',
'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_Interac E Transfer' => 'Interac E Transfer',
'xinvoice_payable' => 'Payable within :payeddue days net until :paydate',
@ -5120,7 +5120,7 @@ $lang = array(
'set_private' => 'Set private',
'individual' => 'Individual',
'business' => 'Business',
'partnership' => 'partnership',
'partnership' => 'Partnership',
'trust' => 'Trust',
'charity' => 'Charity',
'government' => 'Government',
@ -5201,7 +5201,7 @@ $lang = array(
'nordigen_handler_error_heading_requisition_invalid_status' => 'Not Ready',
'nordigen_handler_error_contents_requisition_invalid_status' => 'You called this site too early. Please finish authorization and refresh this page. Contact support for help, if this issue persists.',
'nordigen_handler_error_heading_requisition_no_accounts' => 'No Accounts selected',
'nordigen_handler_error_contents_requisition_no_accounts' => 'The service has not returned any valid accounts. Considder restarting the flow.',
'nordigen_handler_error_contents_requisition_no_accounts' => 'The service has not returned any valid accounts. Consider restarting the flow.',
'nordigen_handler_restart' => 'Restart flow.',
'nordigen_handler_return' => 'Return to application.',
'lang_Lao' => 'Lao',
@ -5221,6 +5221,38 @@ $lang = array(
'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_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',
'use_available_payments' => 'Use Available Payments',
'test_email_sent' => 'Successfully sent email',
'gateway_type' => 'Gateway Type',
'save_template_body' => 'Would you like to save this import mapping as a template for future use?',
'save_as_template' => 'Save Template Mapping',
'auto_bill_standard_invoices_help' => 'Auto bill standard invoices on the due date',
'auto_bill_on_help' => 'Auto bill on send date OR due date (recurring invoices)',
'use_available_credits_help' => 'Apply any credit balances to payments prior to charging a payment method',
'use_unapplied_payments' => 'Use unapplied payments',
'use_unapplied_payments_help' => 'Apply any payment balances prior to charging a payment method',
'payment_terms_help' => 'Nustato pagal nutylėjimą <b>sąskaitos terminas</b>',
'payment_type_help' => 'Sets the default <b>manual payment type</b>.',
'quote_valid_until_help' => 'The number of days that the quote is valid for',
'expense_payment_type_help' => 'The default expense payment type to be used',
'paylater' => 'Pay in 4',
'payment_provider' => 'Payment Provider',
);

View File

@ -460,7 +460,7 @@ $lang = array(
'edit_token' => 'Edit Token',
'delete_token' => 'Delete Token',
'token' => 'Token',
'add_gateway' => 'Add Gateway',
'add_gateway' => 'Add Payment Gateway',
'delete_gateway' => 'Delete Gateway',
'edit_gateway' => 'Edit Gateway',
'updated_gateway' => 'Successfully updated gateway',
@ -3868,7 +3868,7 @@ $lang = array(
'cancellation_pending' => 'Cancellation pending, we\'ll be in touch!',
'list_of_payments' => 'List of payments',
'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',
'payment_method_details' => 'Details of 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',
'authorization_failure' => 'Insufficient permissions to perform this action',
'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_Interac E Transfer' => 'Interac E Transfer',
'xinvoice_payable' => 'Payable within :payeddue days net until :paydate',
@ -5120,7 +5120,7 @@ $lang = array(
'set_private' => 'Set private',
'individual' => 'Individual',
'business' => 'Business',
'partnership' => 'partnership',
'partnership' => 'Partnership',
'trust' => 'Trust',
'charity' => 'Charity',
'government' => 'Government',
@ -5201,7 +5201,7 @@ $lang = array(
'nordigen_handler_error_heading_requisition_invalid_status' => 'Not Ready',
'nordigen_handler_error_contents_requisition_invalid_status' => 'You called this site too early. Please finish authorization and refresh this page. Contact support for help, if this issue persists.',
'nordigen_handler_error_heading_requisition_no_accounts' => 'No Accounts selected',
'nordigen_handler_error_contents_requisition_no_accounts' => 'The service has not returned any valid accounts. Considder restarting the flow.',
'nordigen_handler_error_contents_requisition_no_accounts' => 'The service has not returned any valid accounts. Consider restarting the flow.',
'nordigen_handler_restart' => 'Restart flow.',
'nordigen_handler_return' => 'Return to application.',
'lang_Lao' => 'Lao',
@ -5221,6 +5221,38 @@ $lang = array(
'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_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',
'use_available_payments' => 'Use Available Payments',
'test_email_sent' => 'Successfully sent email',
'gateway_type' => 'Gateway Type',
'save_template_body' => 'Would you like to save this import mapping as a template for future use?',
'save_as_template' => 'Save Template Mapping',
'auto_bill_standard_invoices_help' => 'Auto bill standard invoices on the due date',
'auto_bill_on_help' => 'Auto bill on send date OR due date (recurring invoices)',
'use_available_credits_help' => 'Apply any credit balances to payments prior to charging a payment method',
'use_unapplied_payments' => 'Use unapplied payments',
'use_unapplied_payments_help' => 'Apply any payment balances prior to charging a payment method',
'payment_terms_help' => 'Sets the default <b>invoice due date</b>',
'payment_type_help' => 'Sets the default <b>manual payment type</b>.',
'quote_valid_until_help' => 'The number of days that the quote is valid for',
'expense_payment_type_help' => 'The default expense payment type to be used',
'paylater' => 'Pay in 4',
'payment_provider' => 'Payment Provider',
);

View File

@ -461,7 +461,7 @@ $lang = array(
'edit_token' => 'Измени токен',
'delete_token' => 'Избриши токен',
'token' => 'Токен',
'add_gateway' => 'Додади Платен портал',
'add_gateway' => 'Add Payment Gateway',
'delete_gateway' => 'Избриши Платен портал',
'edit_gateway' => 'Уреди Платен портал',
'updated_gateway' => 'Успешно ажурирање на платен портал',
@ -3869,7 +3869,7 @@ $lang = array(
'cancellation_pending' => 'Cancellation pending, we\'ll be in touch!',
'list_of_payments' => 'List of payments',
'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',
'payment_method_details' => 'Details of payment method',
'permanently_remove_payment_method' => 'Permanently remove this payment method.',
@ -4926,7 +4926,7 @@ $lang = array(
'no_assigned_tasks' => 'No billable tasks for this project',
'authorization_failure' => 'Insufficient permissions to perform this action',
'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_Interac E Transfer' => 'Interac E Transfer',
'xinvoice_payable' => 'Payable within :payeddue days net until :paydate',
@ -5121,7 +5121,7 @@ $lang = array(
'set_private' => 'Set private',
'individual' => 'Individual',
'business' => 'Business',
'partnership' => 'partnership',
'partnership' => 'Partnership',
'trust' => 'Trust',
'charity' => 'Charity',
'government' => 'Government',
@ -5202,7 +5202,7 @@ $lang = array(
'nordigen_handler_error_heading_requisition_invalid_status' => 'Not Ready',
'nordigen_handler_error_contents_requisition_invalid_status' => 'You called this site too early. Please finish authorization and refresh this page. Contact support for help, if this issue persists.',
'nordigen_handler_error_heading_requisition_no_accounts' => 'No Accounts selected',
'nordigen_handler_error_contents_requisition_no_accounts' => 'The service has not returned any valid accounts. Considder restarting the flow.',
'nordigen_handler_error_contents_requisition_no_accounts' => 'The service has not returned any valid accounts. Consider restarting the flow.',
'nordigen_handler_restart' => 'Restart flow.',
'nordigen_handler_return' => 'Return to application.',
'lang_Lao' => 'Lao',
@ -5222,6 +5222,38 @@ $lang = array(
'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_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',
'use_available_payments' => 'Use Available Payments',
'test_email_sent' => 'Successfully sent email',
'gateway_type' => 'Gateway Type',
'save_template_body' => 'Would you like to save this import mapping as a template for future use?',
'save_as_template' => 'Save Template Mapping',
'auto_bill_standard_invoices_help' => 'Auto bill standard invoices on the due date',
'auto_bill_on_help' => 'Auto bill on send date OR due date (recurring invoices)',
'use_available_credits_help' => 'Apply any credit balances to payments prior to charging a payment method',
'use_unapplied_payments' => 'Use unapplied payments',
'use_unapplied_payments_help' => 'Apply any payment balances prior to charging a payment method',
'payment_terms_help' => 'Го поставува стандардниот <b> датум на достасување на фактура </b>',
'payment_type_help' => 'Постави стандарден <b> тип на рачно плаќање </b>',
'quote_valid_until_help' => 'The number of days that the quote is valid for',
'expense_payment_type_help' => 'The default expense payment type to be used',
'paylater' => 'Pay in 4',
'payment_provider' => 'Payment Provider',
);

View File

@ -460,7 +460,7 @@ $lang = array(
'edit_token' => 'Rediger Token',
'delete_token' => 'Slett Token',
'token' => 'Token',
'add_gateway' => 'Legg til Tilbyder',
'add_gateway' => 'Add Payment Gateway',
'delete_gateway' => 'Slett Tilbyder',
'edit_gateway' => 'Rediger Tilbyder',
'updated_gateway' => 'Suksessfullt oppdatert tilbyder',
@ -3868,7 +3868,7 @@ $lang = array(
'cancellation_pending' => 'Cancellation pending, we\'ll be in touch!',
'list_of_payments' => 'List of payments',
'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',
'payment_method_details' => 'Details of 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',
'authorization_failure' => 'Insufficient permissions to perform this action',
'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_Interac E Transfer' => 'Interac E Transfer',
'xinvoice_payable' => 'Payable within :payeddue days net until :paydate',
@ -5120,7 +5120,7 @@ $lang = array(
'set_private' => 'Set private',
'individual' => 'Individual',
'business' => 'Business',
'partnership' => 'partnership',
'partnership' => 'Partnership',
'trust' => 'Trust',
'charity' => 'Charity',
'government' => 'Government',
@ -5201,7 +5201,7 @@ $lang = array(
'nordigen_handler_error_heading_requisition_invalid_status' => 'Not Ready',
'nordigen_handler_error_contents_requisition_invalid_status' => 'You called this site too early. Please finish authorization and refresh this page. Contact support for help, if this issue persists.',
'nordigen_handler_error_heading_requisition_no_accounts' => 'No Accounts selected',
'nordigen_handler_error_contents_requisition_no_accounts' => 'The service has not returned any valid accounts. Considder restarting the flow.',
'nordigen_handler_error_contents_requisition_no_accounts' => 'The service has not returned any valid accounts. Consider restarting the flow.',
'nordigen_handler_restart' => 'Restart flow.',
'nordigen_handler_return' => 'Return to application.',
'lang_Lao' => 'Lao',
@ -5221,6 +5221,38 @@ $lang = array(
'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_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',
'use_available_payments' => 'Use Available Payments',
'test_email_sent' => 'Successfully sent email',
'gateway_type' => 'Gateway Type',
'save_template_body' => 'Would you like to save this import mapping as a template for future use?',
'save_as_template' => 'Save Template Mapping',
'auto_bill_standard_invoices_help' => 'Auto bill standard invoices on the due date',
'auto_bill_on_help' => 'Auto bill on send date OR due date (recurring invoices)',
'use_available_credits_help' => 'Apply any credit balances to payments prior to charging a payment method',
'use_unapplied_payments' => 'Use unapplied payments',
'use_unapplied_payments_help' => 'Apply any payment balances prior to charging a payment method',
'payment_terms_help' => 'Angir standard <b>fakturaforfall</b>',
'payment_type_help' => 'Sets the default <b>manual payment type</b>.',
'quote_valid_until_help' => 'The number of days that the quote is valid for',
'expense_payment_type_help' => 'The default expense payment type to be used',
'paylater' => 'Pay in 4',
'payment_provider' => 'Payment Provider',
);

View File

@ -460,7 +460,7 @@ $lang = array(
'edit_token' => 'Wijzig token',
'delete_token' => 'Verwijder token',
'token' => 'Token',
'add_gateway' => 'Gateway toevoegen',
'add_gateway' => 'Add Payment Gateway',
'delete_gateway' => 'Gateway verwijderen',
'edit_gateway' => 'Wijzig gateway',
'updated_gateway' => 'De gateway is gewijzigd',
@ -5201,7 +5201,7 @@ Email: :email<b><br><b>',
'nordigen_handler_error_heading_requisition_invalid_status' => 'Niet klaar',
'nordigen_handler_error_contents_requisition_invalid_status' => 'Je hebt deze site te vroeg gebeld. Voltooi de autorisatie en vernieuw deze pagina. Neem contact op met de ondersteuning voor hulp als dit probleem zich blijft voordoen.',
'nordigen_handler_error_heading_requisition_no_accounts' => 'Geen accounts geselecteerd',
'nordigen_handler_error_contents_requisition_no_accounts' => 'De service heeft geen geldige accounts geretourneerd. Overweeg om de stroom opnieuw te starten.',
'nordigen_handler_error_contents_requisition_no_accounts' => 'The service has not returned any valid accounts. Consider restarting the flow.',
'nordigen_handler_restart' => 'Start de stroom opnieuw.',
'nordigen_handler_return' => 'Terug naar applicatie.',
'lang_Lao' => 'Laos',
@ -5241,7 +5241,19 @@ Email: :email<b><br><b>',
'test_email_sent' => 'E-mail succesvol verzonden',
'gateway_type' => 'Gatewaytype',
'save_template_body' => 'Wilt u deze importtoewijzing opslaan als sjabloon voor toekomstig gebruik?',
'save_as_template' => 'Sjabloontoewijzing opslaan'
'save_as_template' => 'Sjabloontoewijzing opslaan',
'auto_bill_standard_invoices_help' => 'Auto bill standard invoices on the due date',
'auto_bill_on_help' => 'Auto bill on send date OR due date (recurring invoices)',
'use_available_credits_help' => 'Apply any credit balances to payments prior to charging a payment method',
'use_unapplied_payments' => 'Use unapplied payments',
'use_unapplied_payments_help' => 'Apply any payment balances prior to charging a payment method',
'payment_terms_help' => 'Stel de standaard <b>factuurvervaldatum</b> in.',
'payment_type_help' => 'Stel de standaard <b>manuele betalingsmethode</b> in.',
'quote_valid_until_help' => 'The number of days that the quote is valid for',
'expense_payment_type_help' => 'The default expense payment type to be used',
'paylater' => 'Pay in 4',
'payment_provider' => 'Payment Provider',
);
return $lang;

View File

@ -458,7 +458,7 @@ Przykłady dynamicznych zmiennych:
'edit_token' => 'Edytuj token',
'delete_token' => 'Usuń token',
'token' => 'Token',
'add_gateway' => 'Dodaj dostawcę płatności',
'add_gateway' => 'Add Payment Gateway',
'delete_gateway' => 'Usuń dostawcę płatności',
'edit_gateway' => 'Edytuj dostawcę płatności',
'updated_gateway' => 'Dostawca płatności został zaktualizowany.',
@ -5199,7 +5199,7 @@ Gdy przelewy zostaną zaksięgowane na Twoim koncie, wróć do tej strony i klik
'nordigen_handler_error_heading_requisition_invalid_status' => 'Not Ready',
'nordigen_handler_error_contents_requisition_invalid_status' => 'You called this site too early. Please finish authorization and refresh this page. Contact support for help, if this issue persists.',
'nordigen_handler_error_heading_requisition_no_accounts' => 'No Accounts selected',
'nordigen_handler_error_contents_requisition_no_accounts' => 'The service has not returned any valid accounts. Considder restarting the flow.',
'nordigen_handler_error_contents_requisition_no_accounts' => 'The service has not returned any valid accounts. Consider restarting the flow.',
'nordigen_handler_restart' => 'Restart flow.',
'nordigen_handler_return' => 'Return to application.',
'lang_Lao' => 'Lao',
@ -5235,6 +5235,23 @@ Gdy przelewy zostaną zaksięgowane na Twoim koncie, wróć do tej strony i klik
'user_sales' => 'User Sales',
'iframe_url' => 'iFrame URL',
'user_unsubscribed' => 'User unsubscribed from emails :link',
'use_available_payments' => 'Use Available Payments',
'test_email_sent' => 'Successfully sent email',
'gateway_type' => 'Gateway Type',
'save_template_body' => 'Would you like to save this import mapping as a template for future use?',
'save_as_template' => 'Save Template Mapping',
'auto_bill_standard_invoices_help' => 'Auto bill standard invoices on the due date',
'auto_bill_on_help' => 'Auto bill on send date OR due date (recurring invoices)',
'use_available_credits_help' => 'Apply any credit balances to payments prior to charging a payment method',
'use_unapplied_payments' => 'Use unapplied payments',
'use_unapplied_payments_help' => 'Apply any payment balances prior to charging a payment method',
'payment_terms_help' => 'Ustaw domyślny <b>termin zapłaty faktury</b>',
'payment_type_help' => 'Ustaw jako domyślny <b>rodzaj płatności</b>',
'quote_valid_until_help' => 'The number of days that the quote is valid for',
'expense_payment_type_help' => 'The default expense payment type to be used',
'paylater' => 'Pay in 4',
'payment_provider' => 'Payment Provider',
);
return $lang;

View File

@ -460,7 +460,7 @@ $lang = array(
'edit_token' => 'Editar Token',
'delete_token' => 'Excluir Token',
'token' => 'Token',
'add_gateway' => 'Adicionar Gateway',
'add_gateway' => 'Add Payment Gateway',
'delete_gateway' => 'Excluir Gateway',
'edit_gateway' => 'Editar Gateway',
'updated_gateway' => 'Gateway atualizado com sucesso',
@ -5198,7 +5198,7 @@ Quando tiver as quantias, volte a esta página de formas de pagamento e clique "
'nordigen_handler_error_heading_requisition_invalid_status' => 'Not Ready',
'nordigen_handler_error_contents_requisition_invalid_status' => 'You called this site too early. Please finish authorization and refresh this page. Contact support for help, if this issue persists.',
'nordigen_handler_error_heading_requisition_no_accounts' => 'No Accounts selected',
'nordigen_handler_error_contents_requisition_no_accounts' => 'The service has not returned any valid accounts. Considder restarting the flow.',
'nordigen_handler_error_contents_requisition_no_accounts' => 'The service has not returned any valid accounts. Consider restarting the flow.',
'nordigen_handler_restart' => 'Restart flow.',
'nordigen_handler_return' => 'Return to application.',
'lang_Lao' => 'Lao',
@ -5234,6 +5234,23 @@ Quando tiver as quantias, volte a esta página de formas de pagamento e clique "
'user_sales' => 'User Sales',
'iframe_url' => 'iFrame URL',
'user_unsubscribed' => 'User unsubscribed from emails :link',
'use_available_payments' => 'Use Available Payments',
'test_email_sent' => 'Successfully sent email',
'gateway_type' => 'Gateway Type',
'save_template_body' => 'Would you like to save this import mapping as a template for future use?',
'save_as_template' => 'Save Template Mapping',
'auto_bill_standard_invoices_help' => 'Auto bill standard invoices on the due date',
'auto_bill_on_help' => 'Auto bill on send date OR due date (recurring invoices)',
'use_available_credits_help' => 'Apply any credit balances to payments prior to charging a payment method',
'use_unapplied_payments' => 'Use unapplied payments',
'use_unapplied_payments_help' => 'Apply any payment balances prior to charging a payment method',
'payment_terms_help' => 'Define a <b>data de vencimento padrão da fatura</b>',
'payment_type_help' => 'Define o <b>tipo de pagamento manual</b> padrão.',
'quote_valid_until_help' => 'The number of days that the quote is valid for',
'expense_payment_type_help' => 'The default expense payment type to be used',
'paylater' => 'Pay in 4',
'payment_provider' => 'Payment Provider',
);
return $lang;

View File

@ -460,7 +460,7 @@ $lang = array(
'edit_token' => 'Editar Símbolo',
'delete_token' => 'Apagar Símbolo',
'token' => 'Símbolo',
'add_gateway' => 'Adicionar Terminal',
'add_gateway' => 'Add Payment Gateway',
'delete_gateway' => 'Apagar Terminal',
'edit_gateway' => 'Editar Terminal',
'updated_gateway' => 'Terminal atualizado',
@ -5201,7 +5201,7 @@ O envio de E-mails foi suspenso. Será retomado às 23:00 UTC.',
'nordigen_handler_error_heading_requisition_invalid_status' => 'Not Ready',
'nordigen_handler_error_contents_requisition_invalid_status' => 'You called this site too early. Please finish authorization and refresh this page. Contact support for help, if this issue persists.',
'nordigen_handler_error_heading_requisition_no_accounts' => 'No Accounts selected',
'nordigen_handler_error_contents_requisition_no_accounts' => 'The service has not returned any valid accounts. Considder restarting the flow.',
'nordigen_handler_error_contents_requisition_no_accounts' => 'The service has not returned any valid accounts. Consider restarting the flow.',
'nordigen_handler_restart' => 'Restart flow.',
'nordigen_handler_return' => 'Return to application.',
'lang_Lao' => 'Lao',
@ -5237,6 +5237,23 @@ O envio de E-mails foi suspenso. Será retomado às 23:00 UTC.',
'user_sales' => 'User Sales',
'iframe_url' => 'iFrame URL',
'user_unsubscribed' => 'User unsubscribed from emails :link',
'use_available_payments' => 'Use Available Payments',
'test_email_sent' => 'Successfully sent email',
'gateway_type' => 'Gateway Type',
'save_template_body' => 'Would you like to save this import mapping as a template for future use?',
'save_as_template' => 'Save Template Mapping',
'auto_bill_standard_invoices_help' => 'Auto bill standard invoices on the due date',
'auto_bill_on_help' => 'Auto bill on send date OR due date (recurring invoices)',
'use_available_credits_help' => 'Apply any credit balances to payments prior to charging a payment method',
'use_unapplied_payments' => 'Use unapplied payments',
'use_unapplied_payments_help' => 'Apply any payment balances prior to charging a payment method',
'payment_terms_help' => 'Definir <b> data de vencimento padrão </b>',
'payment_type_help' => 'Definir como padrão <b>Tipo de pagamento manual</b>.',
'quote_valid_until_help' => 'The number of days that the quote is valid for',
'expense_payment_type_help' => 'The default expense payment type to be used',
'paylater' => 'Pay in 4',
'payment_provider' => 'Payment Provider',
);
return $lang;

View File

@ -460,7 +460,7 @@ $lang = array(
'edit_token' => 'Modifica token',
'delete_token' => 'Șterge Token',
'token' => 'Token',
'add_gateway' => 'Adaugă Gateway',
'add_gateway' => 'Add Payment Gateway',
'delete_gateway' => 'Șterge Gateway',
'edit_gateway' => 'Modifică Gateway',
'updated_gateway' => 'Gateway actualizat',
@ -5202,7 +5202,7 @@ Odată ce sumele au ajuns la dumneavoastră, reveniți la pagina cu metode de pl
'nordigen_handler_error_heading_requisition_invalid_status' => 'Not Ready',
'nordigen_handler_error_contents_requisition_invalid_status' => 'You called this site too early. Please finish authorization and refresh this page. Contact support for help, if this issue persists.',
'nordigen_handler_error_heading_requisition_no_accounts' => 'No Accounts selected',
'nordigen_handler_error_contents_requisition_no_accounts' => 'The service has not returned any valid accounts. Considder restarting the flow.',
'nordigen_handler_error_contents_requisition_no_accounts' => 'The service has not returned any valid accounts. Consider restarting the flow.',
'nordigen_handler_restart' => 'Restart flow.',
'nordigen_handler_return' => 'Return to application.',
'lang_Lao' => 'Lao',
@ -5238,6 +5238,23 @@ Odată ce sumele au ajuns la dumneavoastră, reveniți la pagina cu metode de pl
'user_sales' => 'User Sales',
'iframe_url' => 'iFrame URL',
'user_unsubscribed' => 'User unsubscribed from emails :link',
'use_available_payments' => 'Use Available Payments',
'test_email_sent' => 'Successfully sent email',
'gateway_type' => 'Gateway Type',
'save_template_body' => 'Would you like to save this import mapping as a template for future use?',
'save_as_template' => 'Save Template Mapping',
'auto_bill_standard_invoices_help' => 'Auto bill standard invoices on the due date',
'auto_bill_on_help' => 'Auto bill on send date OR due date (recurring invoices)',
'use_available_credits_help' => 'Apply any credit balances to payments prior to charging a payment method',
'use_unapplied_payments' => 'Use unapplied payments',
'use_unapplied_payments_help' => 'Apply any payment balances prior to charging a payment method',
'payment_terms_help' => 'Setați <b>invoice due date</b> implicită',
'payment_type_help' => 'Setează <b>tipul de plată manual</b> implicit.',
'quote_valid_until_help' => 'The number of days that the quote is valid for',
'expense_payment_type_help' => 'The default expense payment type to be used',
'paylater' => 'Pay in 4',
'payment_provider' => 'Payment Provider',
);
return $lang;

View File

@ -460,7 +460,7 @@ $lang = array(
'edit_token' => 'Изменить права',
'delete_token' => 'Удалить права',
'token' => 'Права',
'add_gateway' => 'Добавить платёжный шлюз',
'add_gateway' => 'Add Payment Gateway',
'delete_gateway' => 'Удалить платежный шлюз',
'edit_gateway' => 'Изменить платёжный шлюз',
'updated_gateway' => 'Платёжный шлюз успешно обновлён',
@ -3869,7 +3869,7 @@ $lang = array(
'cancellation_pending' => 'Cancellation pending, we\'ll be in touch!',
'list_of_payments' => 'List of payments',
'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',
'payment_method_details' => 'Details of payment method',
'permanently_remove_payment_method' => 'Permanently remove this payment method.',
@ -4926,7 +4926,7 @@ $lang = array(
'no_assigned_tasks' => 'No billable tasks for this project',
'authorization_failure' => 'Insufficient permissions to perform this action',
'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_Interac E Transfer' => 'Interac E Transfer',
'xinvoice_payable' => 'Payable within :payeddue days net until :paydate',
@ -5121,7 +5121,7 @@ $lang = array(
'set_private' => 'Set private',
'individual' => 'Individual',
'business' => 'Business',
'partnership' => 'partnership',
'partnership' => 'Partnership',
'trust' => 'Trust',
'charity' => 'Charity',
'government' => 'Government',
@ -5202,7 +5202,7 @@ $lang = array(
'nordigen_handler_error_heading_requisition_invalid_status' => 'Not Ready',
'nordigen_handler_error_contents_requisition_invalid_status' => 'You called this site too early. Please finish authorization and refresh this page. Contact support for help, if this issue persists.',
'nordigen_handler_error_heading_requisition_no_accounts' => 'No Accounts selected',
'nordigen_handler_error_contents_requisition_no_accounts' => 'The service has not returned any valid accounts. Considder restarting the flow.',
'nordigen_handler_error_contents_requisition_no_accounts' => 'The service has not returned any valid accounts. Consider restarting the flow.',
'nordigen_handler_restart' => 'Restart flow.',
'nordigen_handler_return' => 'Return to application.',
'lang_Lao' => 'Lao',
@ -5222,6 +5222,38 @@ $lang = array(
'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_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',
'use_available_payments' => 'Use Available Payments',
'test_email_sent' => 'Successfully sent email',
'gateway_type' => 'Gateway Type',
'save_template_body' => 'Would you like to save this import mapping as a template for future use?',
'save_as_template' => 'Save Template Mapping',
'auto_bill_standard_invoices_help' => 'Auto bill standard invoices on the due date',
'auto_bill_on_help' => 'Auto bill on send date OR due date (recurring invoices)',
'use_available_credits_help' => 'Apply any credit balances to payments prior to charging a payment method',
'use_unapplied_payments' => 'Use unapplied payments',
'use_unapplied_payments_help' => 'Apply any payment balances prior to charging a payment method',
'payment_terms_help' => 'Устанавливает <b>дату выставления счета</b> по умолчанию',
'payment_type_help' => 'Sets the default <b>manual payment type</b>.',
'quote_valid_until_help' => 'The number of days that the quote is valid for',
'expense_payment_type_help' => 'The default expense payment type to be used',
'paylater' => 'Pay in 4',
'payment_provider' => 'Payment Provider',
);

View File

@ -460,7 +460,7 @@ $lang = array(
'edit_token' => 'Upraviť token',
'delete_token' => 'Zmazať token',
'token' => 'Token',
'add_gateway' => 'Pridať bránu',
'add_gateway' => 'Add Payment Gateway',
'delete_gateway' => 'Odstrániť bránu',
'edit_gateway' => 'Upraviť bránu',
'updated_gateway' => 'Brána úspešne upravená',
@ -5188,7 +5188,7 @@ $lang = array(
'nordigen_handler_error_heading_requisition_invalid_status' => 'Not Ready',
'nordigen_handler_error_contents_requisition_invalid_status' => 'You called this site too early. Please finish authorization and refresh this page. Contact support for help, if this issue persists.',
'nordigen_handler_error_heading_requisition_no_accounts' => 'No Accounts selected',
'nordigen_handler_error_contents_requisition_no_accounts' => 'The service has not returned any valid accounts. Considder restarting the flow.',
'nordigen_handler_error_contents_requisition_no_accounts' => 'The service has not returned any valid accounts. Consider restarting the flow.',
'nordigen_handler_restart' => 'Restart flow.',
'nordigen_handler_return' => 'Return to application.',
'lang_Lao' => 'Lao',
@ -5224,6 +5224,23 @@ $lang = array(
'user_sales' => 'User Sales',
'iframe_url' => 'iFrame URL',
'user_unsubscribed' => 'User unsubscribed from emails :link',
'use_available_payments' => 'Use Available Payments',
'test_email_sent' => 'Successfully sent email',
'gateway_type' => 'Gateway Type',
'save_template_body' => 'Would you like to save this import mapping as a template for future use?',
'save_as_template' => 'Save Template Mapping',
'auto_bill_standard_invoices_help' => 'Auto bill standard invoices on the due date',
'auto_bill_on_help' => 'Auto bill on send date OR due date (recurring invoices)',
'use_available_credits_help' => 'Apply any credit balances to payments prior to charging a payment method',
'use_unapplied_payments' => 'Use unapplied payments',
'use_unapplied_payments_help' => 'Apply any payment balances prior to charging a payment method',
'payment_terms_help' => 'Nastavuje predvolený <b>dátum splatnosti </b>',
'payment_type_help' => 'Nastaví predvolený <b>manuálny typ platby</b>.',
'quote_valid_until_help' => 'The number of days that the quote is valid for',
'expense_payment_type_help' => 'The default expense payment type to be used',
'paylater' => 'Pay in 4',
'payment_provider' => 'Payment Provider',
);
return $lang;

View File

@ -460,7 +460,7 @@ $lang = array(
'edit_token' => 'Uredi žeton',
'delete_token' => 'Odstrani žeton',
'token' => 'Žeton',
'add_gateway' => 'Dodaj prehod',
'add_gateway' => 'Add Payment Gateway',
'delete_gateway' => 'Odstrani prehod',
'edit_gateway' => 'Uredi prehod',
'updated_gateway' => 'Prehod uspešno obnovljen',
@ -3869,7 +3869,7 @@ Ko imate zneske, se vrnite na to stran plačilnega sredstva in kliknite na "Comp
'cancellation_pending' => 'Cancellation pending, we\'ll be in touch!',
'list_of_payments' => 'List of payments',
'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',
'payment_method_details' => 'Details of payment method',
'permanently_remove_payment_method' => 'Permanently remove this payment method.',
@ -4926,7 +4926,7 @@ Ko imate zneske, se vrnite na to stran plačilnega sredstva in kliknite na "Comp
'no_assigned_tasks' => 'No billable tasks for this project',
'authorization_failure' => 'Insufficient permissions to perform this action',
'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_Interac E Transfer' => 'Interac E Transfer',
'xinvoice_payable' => 'Payable within :payeddue days net until :paydate',
@ -5121,7 +5121,7 @@ Ko imate zneske, se vrnite na to stran plačilnega sredstva in kliknite na "Comp
'set_private' => 'Set private',
'individual' => 'Individual',
'business' => 'Business',
'partnership' => 'partnership',
'partnership' => 'Partnership',
'trust' => 'Trust',
'charity' => 'Charity',
'government' => 'Government',
@ -5202,7 +5202,7 @@ Ko imate zneske, se vrnite na to stran plačilnega sredstva in kliknite na "Comp
'nordigen_handler_error_heading_requisition_invalid_status' => 'Not Ready',
'nordigen_handler_error_contents_requisition_invalid_status' => 'You called this site too early. Please finish authorization and refresh this page. Contact support for help, if this issue persists.',
'nordigen_handler_error_heading_requisition_no_accounts' => 'No Accounts selected',
'nordigen_handler_error_contents_requisition_no_accounts' => 'The service has not returned any valid accounts. Considder restarting the flow.',
'nordigen_handler_error_contents_requisition_no_accounts' => 'The service has not returned any valid accounts. Consider restarting the flow.',
'nordigen_handler_restart' => 'Restart flow.',
'nordigen_handler_return' => 'Return to application.',
'lang_Lao' => 'Lao',
@ -5222,6 +5222,38 @@ Ko imate zneske, se vrnite na to stran plačilnega sredstva in kliknite na "Comp
'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_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',
'use_available_payments' => 'Use Available Payments',
'test_email_sent' => 'Successfully sent email',
'gateway_type' => 'Gateway Type',
'save_template_body' => 'Would you like to save this import mapping as a template for future use?',
'save_as_template' => 'Save Template Mapping',
'auto_bill_standard_invoices_help' => 'Auto bill standard invoices on the due date',
'auto_bill_on_help' => 'Auto bill on send date OR due date (recurring invoices)',
'use_available_credits_help' => 'Apply any credit balances to payments prior to charging a payment method',
'use_unapplied_payments' => 'Use unapplied payments',
'use_unapplied_payments_help' => 'Apply any payment balances prior to charging a payment method',
'payment_terms_help' => 'Privzeto bo izbran ta <b>rok plačila</b>.',
'payment_type_help' => 'Privzeto bo izbran ta <b>način ročnega plačila</b>.',
'quote_valid_until_help' => 'The number of days that the quote is valid for',
'expense_payment_type_help' => 'The default expense payment type to be used',
'paylater' => 'Pay in 4',
'payment_provider' => 'Payment Provider',
);

View File

@ -460,7 +460,7 @@ $lang = array(
'edit_token' => 'Edito Tokenin',
'delete_token' => 'Fshi Tokenin',
'token' => 'Token',
'add_gateway' => 'Shto kanalin e pagesës',
'add_gateway' => 'Add Payment Gateway',
'delete_gateway' => 'Fshi kanalin e pagesës',
'edit_gateway' => 'Edito kanalin e pagesës',
'updated_gateway' => 'Kanali i pagesës është perditesuar me sukses',
@ -3869,7 +3869,7 @@ Pasi të keni pranuar shumat, kthehuni në faqen e metodave të pagesës dhe kli
'cancellation_pending' => 'Cancellation pending, we\'ll be in touch!',
'list_of_payments' => 'List of payments',
'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',
'payment_method_details' => 'Details of payment method',
'permanently_remove_payment_method' => 'Permanently remove this payment method.',
@ -4926,7 +4926,7 @@ Pasi të keni pranuar shumat, kthehuni në faqen e metodave të pagesës dhe kli
'no_assigned_tasks' => 'No billable tasks for this project',
'authorization_failure' => 'Insufficient permissions to perform this action',
'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_Interac E Transfer' => 'Interac E Transfer',
'xinvoice_payable' => 'Payable within :payeddue days net until :paydate',
@ -5121,7 +5121,7 @@ Pasi të keni pranuar shumat, kthehuni në faqen e metodave të pagesës dhe kli
'set_private' => 'Set private',
'individual' => 'Individual',
'business' => 'Business',
'partnership' => 'partnership',
'partnership' => 'Partnership',
'trust' => 'Trust',
'charity' => 'Charity',
'government' => 'Government',
@ -5202,7 +5202,7 @@ Pasi të keni pranuar shumat, kthehuni në faqen e metodave të pagesës dhe kli
'nordigen_handler_error_heading_requisition_invalid_status' => 'Not Ready',
'nordigen_handler_error_contents_requisition_invalid_status' => 'You called this site too early. Please finish authorization and refresh this page. Contact support for help, if this issue persists.',
'nordigen_handler_error_heading_requisition_no_accounts' => 'No Accounts selected',
'nordigen_handler_error_contents_requisition_no_accounts' => 'The service has not returned any valid accounts. Considder restarting the flow.',
'nordigen_handler_error_contents_requisition_no_accounts' => 'The service has not returned any valid accounts. Consider restarting the flow.',
'nordigen_handler_restart' => 'Restart flow.',
'nordigen_handler_return' => 'Return to application.',
'lang_Lao' => 'Lao',
@ -5222,6 +5222,38 @@ Pasi të keni pranuar shumat, kthehuni në faqen e metodave të pagesës dhe kli
'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_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',
'use_available_payments' => 'Use Available Payments',
'test_email_sent' => 'Successfully sent email',
'gateway_type' => 'Gateway Type',
'save_template_body' => 'Would you like to save this import mapping as a template for future use?',
'save_as_template' => 'Save Template Mapping',
'auto_bill_standard_invoices_help' => 'Auto bill standard invoices on the due date',
'auto_bill_on_help' => 'Auto bill on send date OR due date (recurring invoices)',
'use_available_credits_help' => 'Apply any credit balances to payments prior to charging a payment method',
'use_unapplied_payments' => 'Use unapplied payments',
'use_unapplied_payments_help' => 'Apply any payment balances prior to charging a payment method',
'payment_terms_help' => 'Sets the default <b>invoice due date</b>',
'payment_type_help' => 'Sets the default <b>manual payment type</b>.',
'quote_valid_until_help' => 'The number of days that the quote is valid for',
'expense_payment_type_help' => 'The default expense payment type to be used',
'paylater' => 'Pay in 4',
'payment_provider' => 'Payment Provider',
);

View File

@ -460,7 +460,7 @@ $lang = array(
'edit_token' => 'Izmeni token',
'delete_token' => 'Obriši token',
'token' => 'Token',
'add_gateway' => 'Dodaj kanal plaćanja',
'add_gateway' => 'Add Payment Gateway',
'delete_gateway' => 'Obriši kanal plaćanja',
'edit_gateway' => 'Uredi kanal plaćanja',
'updated_gateway' => 'Uspešno ažuriran kanal',
@ -5201,7 +5201,7 @@ Kada budete imali iznose, vratite se na ovu stranicu sa načinima plaćanja i k
'nordigen_handler_error_heading_requisition_invalid_status' => 'Not Ready',
'nordigen_handler_error_contents_requisition_invalid_status' => 'You called this site too early. Please finish authorization and refresh this page. Contact support for help, if this issue persists.',
'nordigen_handler_error_heading_requisition_no_accounts' => 'No Accounts selected',
'nordigen_handler_error_contents_requisition_no_accounts' => 'The service has not returned any valid accounts. Considder restarting the flow.',
'nordigen_handler_error_contents_requisition_no_accounts' => 'The service has not returned any valid accounts. Consider restarting the flow.',
'nordigen_handler_restart' => 'Restart flow.',
'nordigen_handler_return' => 'Return to application.',
'lang_Lao' => 'Lao',
@ -5237,6 +5237,23 @@ Kada budete imali iznose, vratite se na ovu stranicu sa načinima plaćanja i k
'user_sales' => 'User Sales',
'iframe_url' => 'iFrame URL',
'user_unsubscribed' => 'User unsubscribed from emails :link',
'use_available_payments' => 'Use Available Payments',
'test_email_sent' => 'Successfully sent email',
'gateway_type' => 'Gateway Type',
'save_template_body' => 'Would you like to save this import mapping as a template for future use?',
'save_as_template' => 'Save Template Mapping',
'auto_bill_standard_invoices_help' => 'Auto bill standard invoices on the due date',
'auto_bill_on_help' => 'Auto bill on send date OR due date (recurring invoices)',
'use_available_credits_help' => 'Apply any credit balances to payments prior to charging a payment method',
'use_unapplied_payments' => 'Use unapplied payments',
'use_unapplied_payments_help' => 'Apply any payment balances prior to charging a payment method',
'payment_terms_help' => 'Podesi podrazumevani <b>datum dospeća računa</b>',
'payment_type_help' => 'Postavlja podrazumevani<b>ručni način plaćanja</b>.',
'quote_valid_until_help' => 'The number of days that the quote is valid for',
'expense_payment_type_help' => 'The default expense payment type to be used',
'paylater' => 'Pay in 4',
'payment_provider' => 'Payment Provider',
);
return $lang;

View File

@ -460,7 +460,7 @@ $lang = array(
'edit_token' => 'Ändra token',
'delete_token' => 'Ta bort token',
'token' => 'Token',
'add_gateway' => 'Lägg till gateway',
'add_gateway' => 'Add Payment Gateway',
'delete_gateway' => 'Ta bort gateway',
'edit_gateway' => 'Ändra gateway',
'updated_gateway' => 'Gateway uppdaterad',
@ -5209,7 +5209,7 @@ Den här funktionen kräver att en produkt skapas och en betalningsgateway är k
'nordigen_handler_error_heading_requisition_invalid_status' => 'Not Ready',
'nordigen_handler_error_contents_requisition_invalid_status' => 'You called this site too early. Please finish authorization and refresh this page. Contact support for help, if this issue persists.',
'nordigen_handler_error_heading_requisition_no_accounts' => 'No Accounts selected',
'nordigen_handler_error_contents_requisition_no_accounts' => 'The service has not returned any valid accounts. Considder restarting the flow.',
'nordigen_handler_error_contents_requisition_no_accounts' => 'The service has not returned any valid accounts. Consider restarting the flow.',
'nordigen_handler_restart' => 'Restart flow.',
'nordigen_handler_return' => 'Return to application.',
'lang_Lao' => 'Lao',
@ -5245,6 +5245,23 @@ Den här funktionen kräver att en produkt skapas och en betalningsgateway är k
'user_sales' => 'User Sales',
'iframe_url' => 'iFrame URL',
'user_unsubscribed' => 'User unsubscribed from emails :link',
'use_available_payments' => 'Use Available Payments',
'test_email_sent' => 'Successfully sent email',
'gateway_type' => 'Gateway Type',
'save_template_body' => 'Would you like to save this import mapping as a template for future use?',
'save_as_template' => 'Save Template Mapping',
'auto_bill_standard_invoices_help' => 'Auto bill standard invoices on the due date',
'auto_bill_on_help' => 'Auto bill on send date OR due date (recurring invoices)',
'use_available_credits_help' => 'Apply any credit balances to payments prior to charging a payment method',
'use_unapplied_payments' => 'Use unapplied payments',
'use_unapplied_payments_help' => 'Apply any payment balances prior to charging a payment method',
'payment_terms_help' => 'Ställ in standard <b>faktura förfallodatum</b>',
'payment_type_help' => 'Sätt standard <b>betalsätt</b>.',
'quote_valid_until_help' => 'The number of days that the quote is valid for',
'expense_payment_type_help' => 'The default expense payment type to be used',
'paylater' => 'Pay in 4',
'payment_provider' => 'Payment Provider',
);
return $lang;

View File

@ -460,7 +460,7 @@ $lang = array(
'edit_token' => 'แก้ไข Token',
'delete_token' => 'ลบ Token',
'token' => 'Token',
'add_gateway' => 'เพิ่มช่องทางการชำระเงิน',
'add_gateway' => 'Add Payment Gateway',
'delete_gateway' => 'ลบช่องทางการชำระเงิน',
'edit_gateway' => 'แก้ไขช่องทางการชำระเงิน',
'updated_gateway' => 'อัปเดทช่องทางการชำระเงินเรียบร้อย',
@ -3869,7 +3869,7 @@ $lang = array(
'cancellation_pending' => 'Cancellation pending, we\'ll be in touch!',
'list_of_payments' => 'List of payments',
'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',
'payment_method_details' => 'Details of payment method',
'permanently_remove_payment_method' => 'Permanently remove this payment method.',
@ -4926,7 +4926,7 @@ $lang = array(
'no_assigned_tasks' => 'No billable tasks for this project',
'authorization_failure' => 'Insufficient permissions to perform this action',
'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_Interac E Transfer' => 'Interac E Transfer',
'xinvoice_payable' => 'Payable within :payeddue days net until :paydate',
@ -5121,7 +5121,7 @@ $lang = array(
'set_private' => 'Set private',
'individual' => 'Individual',
'business' => 'Business',
'partnership' => 'partnership',
'partnership' => 'Partnership',
'trust' => 'Trust',
'charity' => 'Charity',
'government' => 'Government',
@ -5202,7 +5202,7 @@ $lang = array(
'nordigen_handler_error_heading_requisition_invalid_status' => 'Not Ready',
'nordigen_handler_error_contents_requisition_invalid_status' => 'You called this site too early. Please finish authorization and refresh this page. Contact support for help, if this issue persists.',
'nordigen_handler_error_heading_requisition_no_accounts' => 'No Accounts selected',
'nordigen_handler_error_contents_requisition_no_accounts' => 'The service has not returned any valid accounts. Considder restarting the flow.',
'nordigen_handler_error_contents_requisition_no_accounts' => 'The service has not returned any valid accounts. Consider restarting the flow.',
'nordigen_handler_restart' => 'Restart flow.',
'nordigen_handler_return' => 'Return to application.',
'lang_Lao' => 'Lao',
@ -5222,6 +5222,38 @@ $lang = array(
'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_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',
'use_available_payments' => 'Use Available Payments',
'test_email_sent' => 'Successfully sent email',
'gateway_type' => 'Gateway Type',
'save_template_body' => 'Would you like to save this import mapping as a template for future use?',
'save_as_template' => 'Save Template Mapping',
'auto_bill_standard_invoices_help' => 'Auto bill standard invoices on the due date',
'auto_bill_on_help' => 'Auto bill on send date OR due date (recurring invoices)',
'use_available_credits_help' => 'Apply any credit balances to payments prior to charging a payment method',
'use_unapplied_payments' => 'Use unapplied payments',
'use_unapplied_payments_help' => 'Apply any payment balances prior to charging a payment method',
'payment_terms_help' => 'ตั้งค่าเริ่มต้น<b>วันครบกำหนดของใบแจ้งหนี้</b>',
'payment_type_help' => 'ตั้งค่าเริ่มต้น <b>ประเภทการชำระเงินด้วยตนเอง</b>.',
'quote_valid_until_help' => 'The number of days that the quote is valid for',
'expense_payment_type_help' => 'The default expense payment type to be used',
'paylater' => 'Pay in 4',
'payment_provider' => 'Payment Provider',
);

View File

@ -460,7 +460,7 @@ $lang = array(
'edit_token' => 'Token düzenle',
'delete_token' => 'Token Sil',
'token' => 'Token',
'add_gateway' => 'Ödeme Sistemi Ekle',
'add_gateway' => 'Add Payment Gateway',
'delete_gateway' => 'Ödeme Sistemi Sil',
'edit_gateway' => 'Ödeme Sistemi Düzenle',
'updated_gateway' => 'Ödeme Sistemi başarıyla güncellendi',
@ -3868,7 +3868,7 @@ $lang = array(
'cancellation_pending' => 'Cancellation pending, we\'ll be in touch!',
'list_of_payments' => 'List of payments',
'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',
'payment_method_details' => 'Details of 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',
'authorization_failure' => 'Insufficient permissions to perform this action',
'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_Interac E Transfer' => 'Interac E Transfer',
'xinvoice_payable' => 'Payable within :payeddue days net until :paydate',
@ -5120,7 +5120,7 @@ $lang = array(
'set_private' => 'Set private',
'individual' => 'Individual',
'business' => 'Business',
'partnership' => 'partnership',
'partnership' => 'Partnership',
'trust' => 'Trust',
'charity' => 'Charity',
'government' => 'Government',
@ -5201,7 +5201,7 @@ $lang = array(
'nordigen_handler_error_heading_requisition_invalid_status' => 'Not Ready',
'nordigen_handler_error_contents_requisition_invalid_status' => 'You called this site too early. Please finish authorization and refresh this page. Contact support for help, if this issue persists.',
'nordigen_handler_error_heading_requisition_no_accounts' => 'No Accounts selected',
'nordigen_handler_error_contents_requisition_no_accounts' => 'The service has not returned any valid accounts. Considder restarting the flow.',
'nordigen_handler_error_contents_requisition_no_accounts' => 'The service has not returned any valid accounts. Consider restarting the flow.',
'nordigen_handler_restart' => 'Restart flow.',
'nordigen_handler_return' => 'Return to application.',
'lang_Lao' => 'Lao',
@ -5221,6 +5221,38 @@ $lang = array(
'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_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',
'use_available_payments' => 'Use Available Payments',
'test_email_sent' => 'Successfully sent email',
'gateway_type' => 'Gateway Type',
'save_template_body' => 'Would you like to save this import mapping as a template for future use?',
'save_as_template' => 'Save Template Mapping',
'auto_bill_standard_invoices_help' => 'Auto bill standard invoices on the due date',
'auto_bill_on_help' => 'Auto bill on send date OR due date (recurring invoices)',
'use_available_credits_help' => 'Apply any credit balances to payments prior to charging a payment method',
'use_unapplied_payments' => 'Use unapplied payments',
'use_unapplied_payments_help' => 'Apply any payment balances prior to charging a payment method',
'payment_terms_help' => 'Varsayılan <b>fatura ödeme tarihi</b>ni ayarlar',
'payment_type_help' => 'Sets the default <b>manual payment type</b>.',
'quote_valid_until_help' => 'The number of days that the quote is valid for',
'expense_payment_type_help' => 'The default expense payment type to be used',
'paylater' => 'Pay in 4',
'payment_provider' => 'Payment Provider',
);

View File

@ -460,7 +460,7 @@ $lang = array(
'edit_token' => '編輯安全代碼',
'delete_token' => '刪除安全代碼',
'token' => '安全代碼',
'add_gateway' => '新增閘道',
'add_gateway' => 'Add Payment Gateway',
'delete_gateway' => '刪除閘道資料',
'edit_gateway' => '編輯閘道',
'updated_gateway' => '更新閘道資料成功',
@ -5201,7 +5201,7 @@ $lang = array(
'nordigen_handler_error_heading_requisition_invalid_status' => 'Not Ready',
'nordigen_handler_error_contents_requisition_invalid_status' => 'You called this site too early. Please finish authorization and refresh this page. Contact support for help, if this issue persists.',
'nordigen_handler_error_heading_requisition_no_accounts' => 'No Accounts selected',
'nordigen_handler_error_contents_requisition_no_accounts' => 'The service has not returned any valid accounts. Considder restarting the flow.',
'nordigen_handler_error_contents_requisition_no_accounts' => 'The service has not returned any valid accounts. Consider restarting the flow.',
'nordigen_handler_restart' => 'Restart flow.',
'nordigen_handler_return' => 'Return to application.',
'lang_Lao' => 'Lao',
@ -5237,6 +5237,23 @@ $lang = array(
'user_sales' => 'User Sales',
'iframe_url' => 'iFrame URL',
'user_unsubscribed' => 'User unsubscribed from emails :link',
'use_available_payments' => 'Use Available Payments',
'test_email_sent' => 'Successfully sent email',
'gateway_type' => 'Gateway Type',
'save_template_body' => 'Would you like to save this import mapping as a template for future use?',
'save_as_template' => 'Save Template Mapping',
'auto_bill_standard_invoices_help' => 'Auto bill standard invoices on the due date',
'auto_bill_on_help' => 'Auto bill on send date OR due date (recurring invoices)',
'use_available_credits_help' => 'Apply any credit balances to payments prior to charging a payment method',
'use_unapplied_payments' => 'Use unapplied payments',
'use_unapplied_payments_help' => 'Apply any payment balances prior to charging a payment method',
'payment_terms_help' => '設定預設的 <b>發票日期</b>',
'payment_type_help' => '設定預設的<b>人工付款方式</b>。',
'quote_valid_until_help' => 'The number of days that the quote is valid for',
'expense_payment_type_help' => 'The default expense payment type to be used',
'paylater' => 'Pay in 4',
'payment_provider' => 'Payment Provider',
);
return $lang;

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

103
public/vendor/livewire/livewire.min.js vendored Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -82,7 +82,6 @@
<option value="none"></option>
@foreach(App\Utils\TranslationHelper::getCountries() as $country)
<option
{{ $country = isset(auth()->guard('contact')->user()->client->shipping_country->id) ? 'selected' : null }} value="{{ $country->id }}">
{{ $country->iso_3166_2 }}
({{ $country->name }})
</option>

View File

@ -17,7 +17,7 @@
@if(!array_key_exists('filled', $field))
@component('portal.ninja2020.components.general.card-element', ['title' => $field['label']])
@if($field['name'] == 'client_country_id' || $field['name'] == 'client_shipping_country_id')
<select id="client_country" class="input w-full form-select bg-white" name="{{ $field['name'] }}" wire:model="{{ str_replace(["client_","_line_","contact_"], ["client.","","contact."], $field['name']) }}">
<select id="client_country" class="input w-full form-select bg-white" name="{{ $field['name'] }}" wire:model="{{ $field['name'] }}">
<option value="none"></option>
@foreach($countries as $country)
@ -27,7 +27,7 @@
@endforeach
</select>
@else
<input class="input w-full" type="{{ $field['type'] ?? 'text' }}" name="{{ $field['name'] }}" wire:model="{{ str_replace(["client_","_line_","contact_"], ["client.","","contact."], $field['name']) }}">
<input class="input w-full" type="{{ $field['type'] ?? 'text' }}" name="{{ $field['name'] }}" wire:model="{{ $field['name'] }}">
@endif
@if(session()->has('validation_errors') && array_key_exists($field['name'], session('validation_errors')))
@ -87,7 +87,7 @@
</h3>
<div class="mt-2">
<p class="text-sm leading-5 text-gray-500 bg-opacity-100">
{!! nl2br($invoice->terms) !!}
{!! nl2br($invoice_terms) !!}
</p>
</div>
</div>

View File

@ -60,7 +60,7 @@
document.getElementById("server_response").submit();
},
onClick: function (){
document.getElementById('paypal-button-container').hidden = true;
// document.getElementById('paypal-button-container').hidden = true;
}
}).render('#paypal-button-container').catch(function(err) {

View File

@ -11,7 +11,7 @@
@endpush
@section('body')
@livewire('required-client-info', ['fields' => method_exists($gateway, 'getClientRequiredFields') ? $gateway->getClientRequiredFields() : [], 'contact' => auth()->guard('contact')->user(), 'countries' => $countries, 'company' => $company, 'company_gateway_id' => $gateway->company_gateway ? $gateway->company_gateway->id : $gateway->id, 'form_only' => false])
@livewire('required-client-info', ['db' => $company->db, 'fields' => method_exists($gateway, 'getClientRequiredFields') ? $gateway->getClientRequiredFields() : [], 'contact' => auth()->guard('contact')->user(), 'countries' => $countries, 'company' => $company, 'company_gateway_id' => $gateway->company_gateway ? $gateway->company_gateway->id : $gateway->id, 'form_only' => false])
<div class="container mx-auto grid grid-cols-12 opacity-25 pointer-events-none" data-ref="gateway-container">
<div class="col-span-12 lg:col-span-6 lg:col-start-4 bg-white shadow rounded-lg">

View File

@ -59,6 +59,409 @@ class ClientApiTest extends TestCase
Model::reguard();
}
public function testCountryCodeValidation()
{
$data = [
'name' => 'name of client',
'country_code' => 'USA',
'id_number' => 'x-1-11a'
];
$response = $this->withHeaders([
'X-API-TOKEN' => $this->token,
])->postJson("/api/v1/clients/", $data)
->assertStatus(200);
$arr = $response->json();
$this->assertEquals("840", $arr['data']['country_id']);
$data = [
'name' => 'name of client',
'country_code' => 'aaaaaaaaaa',
'id_number' => 'x-1-11a'
];
$response = $this->withHeaders([
'X-API-TOKEN' => $this->token,
])->postJson("/api/v1/clients/", $data)
->assertStatus(422);
$this->assertEquals($this->company->settings->country_id, $arr['data']['country_id']);
$data = [
'name' => 'name of client',
'country_code' => 'aaaaaaaaaa',
];
$response = $this->withHeaders([
'X-API-TOKEN' => $this->token,
])->putJson("/api/v1/clients/".$this->client->hashed_id, $data)
->assertStatus(200);
$this->assertEquals($this->company->settings->country_id, $arr['data']['country_id']);
}
public function testIdNumberPutValidation()
{
$data = [
'name' => 'name of client',
'country_id' => '840',
'id_number' => 'x-1-11a'
];
$response = $this->withHeaders([
'X-API-TOKEN' => $this->token,
])->putJson("/api/v1/clients/".$this->client->hashed_id, $data)
->assertStatus(200);
$data = [
'name' => 'name of client',
'country_id' => '840',
];
$response = $this->withHeaders([
'X-API-TOKEN' => $this->token,
])->postJson("/api/v1/clients/", $data)
->assertStatus(200);
$arr = $response->json();
$data = [
'name' => 'name of client',
'country_id' => '840',
'id_number' => 'x-1-11a'
];
$response = $this->withHeaders([
'X-API-TOKEN' => $this->token,
])->putJson("/api/v1/clients/".$arr['data']['id'], $data)
->assertStatus(422);
}
public function testNumberPutValidation()
{
$data = [
'name' => 'name of client',
'country_id' => '840',
'number' => 'x-1-11a'
];
$response = $this->withHeaders([
'X-API-TOKEN' => $this->token,
])->putJson("/api/v1/clients/".$this->client->hashed_id, $data)
->assertStatus(200);
$data = [
'name' => 'name of client',
'country_id' => '840',
];
$response = $this->withHeaders([
'X-API-TOKEN' => $this->token,
])->postJson("/api/v1/clients/", $data)
->assertStatus(200);
$arr = $response->json();
$data = [
'name' => 'name of client',
'country_id' => '840',
'number' => 'x-1-11a'
];
$response = $this->withHeaders([
'X-API-TOKEN' => $this->token,
])->putJson("/api/v1/clients/".$arr['data']['id'], $data)
->assertStatus(422);
}
public function testNumberValidation()
{
$data = [
'name' => 'name of client',
'country_id' => '840',
'number' => 'x-1-11'
];
$response = $this->withHeaders([
'X-API-TOKEN' => $this->token,
])->postJson("/api/v1/clients/",$data)
->assertStatus(200);
$arr = $response->json();
$this->assertEquals("x-1-11", $arr['data']['number']);
$data = [
'name' => 'name of client',
'country_id' => '840',
'number' => 'x-1-11'
];
$response = $this->withHeaders([
'X-API-TOKEN' => $this->token,
])->postJson("/api/v1/clients/", $data)
->assertStatus(422);
$data = [
'name' => 'name of client',
'country_id' => '840',
'number' => ''
];
$response = $this->withHeaders([
'X-API-TOKEN' => $this->token,
])->postJson("/api/v1/clients/", $data)
->assertStatus(200);
$data = [
'name' => 'name of client',
'country_id' => '840',
'number' => null
];
$response = $this->withHeaders([
'X-API-TOKEN' => $this->token,
])->postJson("/api/v1/clients/", $data)
->assertStatus(200);
}
public function testCountryStore4()
{
$data = [
'name' => 'name of client',
'country_id' => '840',
];
$response = $this->withHeaders([
'X-API-TOKEN' => $this->token,
])->putJson("/api/v1/clients/".$this->client->hashed_id,$data)
->assertStatus(200);
$arr = $response->json();
$this->assertEquals("840", $arr['data']['country_id']);
}
public function testCountryStore3()
{
$data = [
'name' => 'name of client',
'country_id' => 'A',
];
$response = $this->withHeaders([
'X-API-TOKEN' => $this->token,
])->putJson("/api/v1/clients/".$this->client->hashed_id,$data)
->assertStatus(422);
}
public function testCountryStore2()
{
$data = [
'name' => 'name of client',
'country_id' => 'A',
];
$response = $this->withHeaders([
'X-API-TOKEN' => $this->token,
])->postJson("/api/v1/clients/",$data)
->assertStatus(422);
}
public function testCountryStore()
{
$data = [
'name' => 'name of client',
'country_id' => '8',
];
$response = $this->withHeaders([
'X-API-TOKEN' => $this->token,
])->postJson("/api/v1/clients/",$data)
->assertStatus(200);
$arr = $response->json();
$this->assertEquals("8", $arr['data']['country_id']);
}
public function testCurrencyStores8()
{
$data = [
'name' => 'name of client',
'settings' => [
'currency_id' => '2'
],
];
$response = $this->withHeaders([
'X-API-TOKEN' => $this->token,
])->postJson("/api/v1/clients/",$data)
->assertStatus(200);
$arr = $response->json();
$this->assertEquals("2", $arr['data']['settings']['currency_id']);
}
public function testCurrencyStores7()
{
$data = [
'name' => 'name of client',
'settings' => [
'currency_id' => '2'
],
];
$response = $this->withHeaders([
'X-API-TOKEN' => $this->token,
])->putJson("/api/v1/clients/".$this->client->hashed_id,$data)
->assertStatus(200);
$arr = $response->json();
$this->assertEquals("2", $arr['data']['settings']['currency_id']);
}
public function testCurrencyStores6()
{
$data = [
'name' => 'name of client',
'settings' => [
'currency_id' => '1'
],
];
$response = $this->withHeaders([
'X-API-TOKEN' => $this->token,
])->putJson("/api/v1/clients/".$this->client->hashed_id,$data)
->assertStatus(200);
$arr = $response->json();
$this->assertEquals("1", $arr['data']['settings']['currency_id']);
}
public function testCurrencyStores5()
{
$data = [
'name' => 'name of client',
'settings' => [
'currency_id' => ''
],
];
$response = $this->withHeaders([
'X-API-TOKEN' => $this->token,
])->putJson("/api/v1/clients/".$this->client->hashed_id,$data)
->assertStatus(200);
$arr = $response->json();
$this->assertEquals($this->company->settings->currency_id, $arr['data']['settings']['currency_id']);
}
public function testCurrencyStores4()
{
$data = [
'name' => 'name of client',
'settings' => [
'currency_id' => 'A'
],
];
$response = $this->withHeaders([
'X-API-TOKEN' => $this->token,
])->putJson("/api/v1/clients/".$this->client->hashed_id,$data)
->assertStatus(422);
$arr = $response->json();
// $this->assertEquals($this->company->settings->currency_id, $arr['data']['settings']['currency_id']);
}
public function testCurrencyStores3()
{
$data = [
'name' => 'name of client',
'settings' => [
'currency_id' => 'A'
],
];
$response = $this->withHeaders([
'X-API-TOKEN' => $this->token,
])->postJson("/api/v1/clients",$data)
->assertStatus(422);
$arr = $response->json();
// $this->assertEquals($this->company->settings->currency_id, $arr['data']['settings']['currency_id']);
}
public function testCurrencyStores2()
{
$data = [
'name' => 'name of client',
'settings' => [
'currency_id' => ''
],
];
$response = $this->withHeaders([
'X-API-TOKEN' => $this->token,
])->postJson("/api/v1/clients",$data)
->assertStatus(200);
$arr = $response->json();
$this->assertEquals($this->company->settings->currency_id, $arr['data']['settings']['currency_id']);
}
public function testCurrencyStores()
{
$data = [
'name' => 'name of client',
'settings' => [],
];
$response = $this->withHeaders([
'X-API-TOKEN' => $this->token,
])->postJson("/api/v1/clients",$data)
->assertStatus(200);
$arr = $response->json();
$this->assertEquals($this->company->settings->currency_id, $arr['data']['settings']['currency_id']);
}
public function testDocumentValidation()
{
$data = [
@ -907,7 +1310,7 @@ $this->assertCount(7, $arr['data']);
'X-API-TOKEN' => $this->token,
])->post('/api/v1/clients/', $data);
$response->assertStatus(302);
$response->assertStatus(200);
}
public function testClientPost()
@ -1063,7 +1466,7 @@ $this->assertCount(7, $arr['data']);
$response = $this->withHeaders([
'X-API-SECRET' => config('ninja.api_secret'),
'X-API-TOKEN' => $this->token,
])->post('/api/v1/clients/', $data);
])->postJson('/api/v1/clients/', $data);
$response->assertStatus(200);
}
@ -1079,9 +1482,11 @@ $this->assertCount(7, $arr['data']);
$response = $this->withHeaders([
'X-API-SECRET' => config('ninja.api_secret'),
'X-API-TOKEN' => $this->token,
])->post('/api/v1/clients/', $data);
])->postJson('/api/v1/clients/', $data);
$response->assertStatus(302);
$arr = $response->json();
$this->assertEquals($this->company->settings->country_id, $arr['data']['country_id']);
}
public function testRoundingDecimalsTwo()

View File

@ -55,13 +55,14 @@ class NumberTest extends TestCase
"1000.02" =>"1'000,02 EUR",
"1000.02" =>"1 000.02$",
"1000.02" =>"1,000.02$",
"1000.02" =>"1.000,02 EURO"
"1000.02" =>"1.000,02 EURO",
"9.975" => "9.975"
];
foreach($floatvals as $key => $value) {
$this->assertEquals($key, Number::parseFloat($value));
// $this->assertEquals($key, Number::parseFloat2($value));
}