Миграция на php8.1
* enum-ы теперь enum-ы, а не говно -- теперь всё переведено на них, где это было возможно * некоторые свойства классов объявлены в конструкторе * некоторые классы перемещены в корневой неймспейс * исправлен код-стайл, вычищен некоторый мусор, выправлены тесты... работы над этим продолжаются
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* Copyright (c) 2020-2021 Антон Аксенов (Anthony Axenov)
|
||||
*
|
||||
@@ -7,59 +8,49 @@
|
||||
* https://github.com/anthonyaxenov/atol-online/blob/master/LICENSE
|
||||
*/
|
||||
|
||||
declare(strict_types = 1);
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace AtolOnline\Enums;
|
||||
|
||||
use AtolOnline\Constants\Ffd105Tags;
|
||||
|
||||
/**
|
||||
* Константы, определяющие типы агента
|
||||
*
|
||||
* @see https://online.atol.ru/files/API_atol_online_v4.pdf Документация, стр 18, 26
|
||||
*/
|
||||
final class AgentTypes extends Enum
|
||||
enum AgentType: string
|
||||
{
|
||||
/**
|
||||
* Банковский платёжный агент
|
||||
*/
|
||||
const BANK_PAYING_AGENT = 'bank_paying_agent';
|
||||
case BANK_PAYING_AGENT = 'bank_paying_agent';
|
||||
|
||||
/**
|
||||
* Банковский платёжный субагент
|
||||
*/
|
||||
const BANK_PAYING_SUBAGENT = 'bank_paying_subagent';
|
||||
case BANK_PAYING_SUBAGENT = 'bank_paying_subagent';
|
||||
|
||||
/**
|
||||
* Платёжный агент
|
||||
*/
|
||||
const PAYING_AGENT = 'paying_agent';
|
||||
case PAYING_AGENT = 'payingAgent';
|
||||
|
||||
/**
|
||||
* Платёжный субагент
|
||||
*/
|
||||
const PAYING_SUBAGENT = 'paying_subagent';
|
||||
case PAYING_SUBAGENT = 'paying_subagent';
|
||||
|
||||
/**
|
||||
* Поверенный
|
||||
*/
|
||||
const ATTRONEY = 'attorney';
|
||||
case ATTRONEY = 'attorney';
|
||||
|
||||
/**
|
||||
* Комиссионер
|
||||
*/
|
||||
const COMMISSION_AGENT = 'commission_agent';
|
||||
case COMMISSION_AGENT = 'commission_agent';
|
||||
|
||||
/**
|
||||
* Другой тип агента
|
||||
*/
|
||||
const ANOTHER = 'another';
|
||||
|
||||
/**
|
||||
* @inheritDoc
|
||||
*/
|
||||
public static function getFfdTags(): array
|
||||
{
|
||||
return [Ffd105Tags::AGENT_TYPE];
|
||||
}
|
||||
case ANOTHER = 'another';
|
||||
}
|
||||
@@ -1,4 +1,5 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* Copyright (c) 2020-2021 Антон Аксенов (Anthony Axenov)
|
||||
*
|
||||
@@ -7,34 +8,24 @@
|
||||
* https://github.com/anthonyaxenov/atol-online/blob/master/LICENSE
|
||||
*/
|
||||
|
||||
declare(strict_types = 1);
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace AtolOnline\Enums;
|
||||
|
||||
use AtolOnline\Constants\Ffd105Tags;
|
||||
|
||||
/**
|
||||
* Константы, определяющие типы документов коррекции
|
||||
*
|
||||
* @see https://online.atol.ru/files/API_atol_online_v4.pdf Документация, стр 35
|
||||
*/
|
||||
final class CorrectionTypes extends Enum
|
||||
enum CorrectionType: string
|
||||
{
|
||||
/**
|
||||
* Самостоятельно
|
||||
*/
|
||||
const SELF = 'self';
|
||||
case SELF = 'self';
|
||||
|
||||
/**
|
||||
* По предписанию
|
||||
*/
|
||||
const INSTRUCTION = 'instruction';
|
||||
|
||||
/**
|
||||
* @inheritDoc
|
||||
*/
|
||||
public static function getFfdTags(): array
|
||||
{
|
||||
return [Ffd105Tags::CORRECTION_TYPE];
|
||||
}
|
||||
case INSTRUCTION = 'instruction';
|
||||
}
|
||||
@@ -1,36 +0,0 @@
|
||||
<?php
|
||||
/*
|
||||
* Copyright (c) 2020-2021 Антон Аксенов (Anthony Axenov)
|
||||
*
|
||||
* This code is licensed under MIT.
|
||||
* Этот код распространяется по лицензии MIT.
|
||||
* https://github.com/anthonyaxenov/atol-online/blob/master/LICENSE
|
||||
*/
|
||||
|
||||
declare(strict_types = 1);
|
||||
|
||||
namespace AtolOnline\Enums;
|
||||
|
||||
use AtolOnline\Exceptions\InvalidEnumValueException;
|
||||
|
||||
/**
|
||||
* Расширение класса перечисления
|
||||
*/
|
||||
abstract class Enum extends \MyCLabs\Enum\Enum
|
||||
{
|
||||
/**
|
||||
* @inheritDoc
|
||||
* @throws InvalidEnumValueException
|
||||
*/
|
||||
public static function isValid($value)
|
||||
{
|
||||
return parent::isValid($value) ?: throw new InvalidEnumValueException(static::class, $value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Возвращает массив тегов ФФД
|
||||
*
|
||||
* @return int[]
|
||||
*/
|
||||
abstract public static function getFfdTags(): array;
|
||||
}
|
||||
@@ -1,4 +1,5 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* Copyright (c) 2020-2021 Антон Аксенов (Anthony Axenov)
|
||||
*
|
||||
@@ -7,59 +8,49 @@
|
||||
* https://github.com/anthonyaxenov/atol-online/blob/master/LICENSE
|
||||
*/
|
||||
|
||||
declare(strict_types = 1);
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace AtolOnline\Enums;
|
||||
|
||||
use AtolOnline\Constants\Ffd105Tags;
|
||||
|
||||
/**
|
||||
* Константы, определяющие признаки способов расчёта
|
||||
*
|
||||
* @see https://online.atol.ru/files/API_atol_online_v4.pdf Документация, стр 22
|
||||
*/
|
||||
final class PaymentMethods extends Enum
|
||||
enum PaymentMethod: string
|
||||
{
|
||||
/**
|
||||
* Предоплата 100% до передачи предмета расчёта
|
||||
*/
|
||||
const FULL_PREPAYMENT = 'full_prepayment';
|
||||
case FULL_PREPAYMENT = 'full_prepayment';
|
||||
|
||||
/**
|
||||
* Частичная предоплата до передачи предмета расчёта
|
||||
*/
|
||||
const PREPAYMENT = 'prepayment';
|
||||
case PREPAYMENT = 'prepayment';
|
||||
|
||||
/**
|
||||
* Аванс
|
||||
*/
|
||||
const ADVANCE = 'advance';
|
||||
case ADVANCE = 'advance';
|
||||
|
||||
/**
|
||||
* Полная оплата с учётом аванса/предоплаты в момент передачи предмета расчёта
|
||||
*/
|
||||
const FULL_PAYMENT = 'full_payment';
|
||||
case FULL_PAYMENT = 'full_payment';
|
||||
|
||||
/**
|
||||
* Частичный расчёт в момент передачи предмета расчёта (дальнейшая оплата в кредит)
|
||||
*/
|
||||
const PARTIAL_PAYMENT = 'partial_payment';
|
||||
case PARTIAL_PAYMENT = 'partial_payment';
|
||||
|
||||
/**
|
||||
* Передача предмета расчёта в кредит
|
||||
*/
|
||||
const CREDIT = 'credit';
|
||||
case CREDIT = 'credit';
|
||||
|
||||
/**
|
||||
* Оплата кредита
|
||||
*/
|
||||
const CREDIT_PAYMENT = 'credit_payment';
|
||||
|
||||
/**
|
||||
* @inheritDoc
|
||||
*/
|
||||
public static function getFfdTags(): array
|
||||
{
|
||||
return [Ffd105Tags::ITEM_PAYMENT_METHOD];
|
||||
}
|
||||
case CREDIT_PAYMENT = 'credit_payment';
|
||||
}
|
||||
@@ -1,4 +1,5 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* Copyright (c) 2020-2021 Антон Аксенов (Anthony Axenov)
|
||||
*
|
||||
@@ -7,73 +8,71 @@
|
||||
* https://github.com/anthonyaxenov/atol-online/blob/master/LICENSE
|
||||
*/
|
||||
|
||||
declare(strict_types = 1);
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace AtolOnline\Enums;
|
||||
|
||||
use AtolOnline\Constants\Ffd105Tags;
|
||||
|
||||
/**
|
||||
* Константы, определяющие признаки предметов расчёта
|
||||
*
|
||||
* @see https://online.atol.ru/files/API_atol_online_v4.pdf Документация, стр 23
|
||||
*/
|
||||
final class PaymentObjects extends Enum
|
||||
enum PaymentObject: string
|
||||
{
|
||||
/**
|
||||
* Товар, кроме подакцизного
|
||||
*/
|
||||
const COMMODITY = 'commodity';
|
||||
case COMMODITY = 'commodity';
|
||||
|
||||
/**
|
||||
* Товар подакцизный
|
||||
*/
|
||||
const EXCISE = 'excise';
|
||||
case EXCISE = 'excise';
|
||||
|
||||
/**
|
||||
* Работа
|
||||
*/
|
||||
const JOB = 'job';
|
||||
case JOB = 'job';
|
||||
|
||||
/**
|
||||
* Услуга
|
||||
*/
|
||||
const SERVICE = 'service';
|
||||
case SERVICE = 'service';
|
||||
|
||||
/**
|
||||
* Ставка азартной игры
|
||||
*/
|
||||
const GAMBLING_BET = 'gambling_bet';
|
||||
case GAMBLING_BET = 'gambling_bet';
|
||||
|
||||
/**
|
||||
* Выигрыш азартной игры
|
||||
*/
|
||||
const GAMBLING_PRIZE = 'gambling_prize';
|
||||
case GAMBLING_PRIZE = 'gambling_prize';
|
||||
|
||||
/**
|
||||
* Лотерея
|
||||
*/
|
||||
const LOTTERY = 'lottery';
|
||||
case LOTTERY = 'lottery';
|
||||
|
||||
/**
|
||||
* Выигрыш лотереи
|
||||
*/
|
||||
const LOTTERY_PRIZE = 'lottery_prize';
|
||||
case LOTTERY_PRIZE = 'lottery_prize';
|
||||
|
||||
/**
|
||||
* Предоставление результатов интеллектуальной деятельности
|
||||
*/
|
||||
const INTELLECTUAL_ACTIVITY = 'intellectual_activity';
|
||||
case INTELLECTUAL_ACTIVITY = 'intellectual_activity';
|
||||
|
||||
/**
|
||||
* Платёж (задаток, кредит, аванс, предоплата, пеня, штраф, бонус и пр.)
|
||||
*/
|
||||
const PAYMENT = 'payment';
|
||||
case PAYMENT = 'payment';
|
||||
|
||||
/**
|
||||
* Агентское вознаграждение
|
||||
*/
|
||||
const AGENT_COMMISSION = 'agent_commission';
|
||||
case AGENT_COMMISSION = 'agent_commission';
|
||||
|
||||
/**
|
||||
* Составной предмет расчёта
|
||||
@@ -81,88 +80,80 @@ final class PaymentObjects extends Enum
|
||||
* @deprecated Более не используется согласно ФФД 1.05
|
||||
* @see https://online.atol.ru/files/API_atol_online_v4.pdf Документация, стр 25 (payment_object)
|
||||
*/
|
||||
const COMPOSITE = 'composite';
|
||||
case COMPOSITE = 'composite';
|
||||
|
||||
/**
|
||||
* Другой предмет расчёта
|
||||
*/
|
||||
const ANOTHER = 'another';
|
||||
case ANOTHER = 'another';
|
||||
|
||||
/**
|
||||
* Имущественное право
|
||||
*/
|
||||
const PROPERTY_RIGHT = 'property_right';
|
||||
case PROPERTY_RIGHT = 'property_right';
|
||||
|
||||
/**
|
||||
* Внереализационный доход
|
||||
*/
|
||||
const NON_OPERATING_GAIN = 'non-operating_gain';
|
||||
case NON_OPERATING_GAIN = 'non-operating_gain';
|
||||
|
||||
/**
|
||||
* Страховые взносы
|
||||
*/
|
||||
const INSURANCE_PREMIUM = 'insurance_premium';
|
||||
case INSURANCE_PREMIUM = 'insurance_premium';
|
||||
|
||||
/**
|
||||
* Торговый сбор
|
||||
*/
|
||||
const SALES_TAX = 'sales_tax';
|
||||
case SALES_TAX = 'sales_tax';
|
||||
|
||||
/**
|
||||
* Курортный сбор
|
||||
*/
|
||||
const RESORT_FEE = 'resort_fee';
|
||||
case RESORT_FEE = 'resort_fee';
|
||||
|
||||
/**
|
||||
* Взнос в счёт оплаты пени, штрафе, вознаграждении, бонусе и ином аналогичном предмете расчёта
|
||||
*/
|
||||
const AWARD = 'award';
|
||||
case AWARD = 'award';
|
||||
|
||||
/**
|
||||
* Залог
|
||||
*/
|
||||
const DEPOSIT = 'deposit';
|
||||
case DEPOSIT = 'deposit';
|
||||
|
||||
/**
|
||||
* Расход, уменьшающий доход (в соответствии со статьей 346.16 НК РФ)
|
||||
*/
|
||||
const EXPENSE = 'expense';
|
||||
case EXPENSE = 'expense';
|
||||
|
||||
/**
|
||||
* Взнос на ОПС ИП
|
||||
*/
|
||||
const PEN_INSURANCE_IP = 'pension_insurance_ip';
|
||||
case PEN_INSURANCE_IP = 'pension_insurance_ip';
|
||||
|
||||
/**
|
||||
* Взнос на ОПС
|
||||
*/
|
||||
const PEN_INSURANCE = 'pension_insurance';
|
||||
case PEN_INSURANCE = 'pension_insurance';
|
||||
|
||||
/**
|
||||
* Взнос на ОМС ИП
|
||||
*/
|
||||
const MED_INSURANCE_IP = 'medical_insurance_ip';
|
||||
case MED_INSURANCE_IP = 'medical_insurance_ip';
|
||||
|
||||
/**
|
||||
* Взнос на ОМС
|
||||
*/
|
||||
const MED_INSURANCE = 'medical_insurance';
|
||||
case MED_INSURANCE = 'medical_insurance';
|
||||
|
||||
/**
|
||||
* Взнос на ОСС
|
||||
*/
|
||||
const SOC_INSURANCE = 'social_insurance';
|
||||
case SOC_INSURANCE = 'social_insurance';
|
||||
|
||||
/**
|
||||
* Платёж казино
|
||||
*/
|
||||
const CASINO_PAYMENT = 'casino_payment';
|
||||
|
||||
/**
|
||||
* @inheritDoc
|
||||
*/
|
||||
public static function getFfdTags(): array
|
||||
{
|
||||
return [Ffd105Tags::ITEM_PAYMENT_OBJECT];
|
||||
}
|
||||
case CASINO_PAYMENT = 'casino_payment';
|
||||
}
|
||||
@@ -1,4 +1,5 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* Copyright (c) 2020-2021 Антон Аксенов (Anthony Axenov)
|
||||
*
|
||||
@@ -7,85 +8,69 @@
|
||||
* https://github.com/anthonyaxenov/atol-online/blob/master/LICENSE
|
||||
*/
|
||||
|
||||
declare(strict_types = 1);
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace AtolOnline\Enums;
|
||||
|
||||
use AtolOnline\Constants\Ffd105Tags;
|
||||
|
||||
/**
|
||||
* Константы, определяющие виды оплат
|
||||
*
|
||||
* @see https://online.atol.ru/files/API_atol_online_v4.pdf Документация, стр 35
|
||||
*/
|
||||
final class PaymentTypes extends Enum
|
||||
enum PaymentType: int
|
||||
{
|
||||
/**
|
||||
* Расчёт наличными
|
||||
*/
|
||||
const CASH = 0;
|
||||
case CASH = 0;
|
||||
|
||||
/**
|
||||
* Расчёт безналичными
|
||||
*/
|
||||
const ELECTRON = 1;
|
||||
case ELECTRON = 1;
|
||||
|
||||
/**
|
||||
* Предварительная оплата (зачёт аванса)
|
||||
*/
|
||||
const PREPAID = 2;
|
||||
case PREPAID = 2;
|
||||
|
||||
/**
|
||||
* Предварительная оплата (кредит)
|
||||
*/
|
||||
const CREDIT = 3;
|
||||
case CREDIT = 3;
|
||||
|
||||
/**
|
||||
* Иная форма оплаты (встречное предоставление)
|
||||
*/
|
||||
const OTHER = 4;
|
||||
case OTHER = 4;
|
||||
|
||||
/**
|
||||
* Расширенный типы оплаты (5)
|
||||
* Для каждого фискального типа оплаты можно указать расширенный тип оплаты
|
||||
*/
|
||||
const ADD_5 = 5;
|
||||
case ADD_5 = 5;
|
||||
|
||||
/**
|
||||
* Расширенный типы оплаты (6)
|
||||
* Для каждого фискального типа оплаты можно указать расширенный тип оплаты
|
||||
*/
|
||||
const ADD_6 = 6;
|
||||
case ADD_6 = 6;
|
||||
|
||||
/**
|
||||
* Расширенный типы оплаты (7)
|
||||
* Для каждого фискального типа оплаты можно указать расширенный тип оплаты
|
||||
*/
|
||||
const ADD_7 = 7;
|
||||
case ADD_7 = 7;
|
||||
|
||||
/**
|
||||
* Расширенный типы оплаты (8)
|
||||
* Для каждого фискального типа оплаты можно указать расширенный тип оплаты
|
||||
*/
|
||||
const ADD_8 = 8;
|
||||
case ADD_8 = 8;
|
||||
|
||||
/**
|
||||
* Расширенный типы оплаты (9)
|
||||
* Для каждого фискального типа оплаты можно указать расширенный тип оплаты
|
||||
*/
|
||||
const ADD_9 = 9;
|
||||
|
||||
/**
|
||||
* @inheritDoc
|
||||
*/
|
||||
public static function getFfdTags(): array
|
||||
{
|
||||
return [
|
||||
Ffd105Tags::PAYMENT_TYPE_CASH,
|
||||
Ffd105Tags::PAYMENT_TYPE_ELECTRON,
|
||||
Ffd105Tags::PAYMENT_TYPE_PREPAID,
|
||||
Ffd105Tags::PAYMENT_TYPE_CREDIT,
|
||||
Ffd105Tags::PAYMENT_TYPE_OTHER,
|
||||
];
|
||||
}
|
||||
case ADD_9 = 9;
|
||||
}
|
||||
@@ -1,4 +1,5 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* Copyright (c) 2020-2021 Антон Аксенов (Anthony Axenov)
|
||||
*
|
||||
@@ -7,44 +8,42 @@
|
||||
* https://github.com/anthonyaxenov/atol-online/blob/master/LICENSE
|
||||
*/
|
||||
|
||||
declare(strict_types = 1);
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace AtolOnline\Enums;
|
||||
|
||||
use MyCLabs\Enum\Enum;
|
||||
|
||||
/**
|
||||
* Константы, определяющие типы операций (чеков)
|
||||
*/
|
||||
final class ReceiptOperationTypes extends Enum
|
||||
enum ReceiptOperationType: string
|
||||
{
|
||||
/**
|
||||
* Приход (мы продали)
|
||||
*/
|
||||
const SELL = 'sell';
|
||||
case SELL = 'sell';
|
||||
|
||||
/**
|
||||
* Возврат прихода (нам вернули предмет расчёта, мы вернули средства)
|
||||
*/
|
||||
const SELL_REFUND = 'sell_refund';
|
||||
case SELL_REFUND = 'sell_refund';
|
||||
|
||||
/**
|
||||
* Коррекция прихода
|
||||
*/
|
||||
const SELL_CORRECTION = 'sell_correction';
|
||||
case SELL_CORRECTION = 'sell_correction';
|
||||
|
||||
/**
|
||||
* Расход (мы купили)
|
||||
*/
|
||||
const BUY = 'buy';
|
||||
case BUY = 'buy';
|
||||
|
||||
/**
|
||||
* Возврат расхода (мы вернули предмет расчёта, нам вернули средства)
|
||||
*/
|
||||
const BUY_REFUND = 'buy_refund';
|
||||
case BUY_REFUND = 'buy_refund';
|
||||
|
||||
/**
|
||||
* Коррекция прихода (догоняем неучтённые средства)
|
||||
*/
|
||||
const BUY_CORRECTION = 'buy_correction';
|
||||
case BUY_CORRECTION = 'buy_correction';
|
||||
}
|
||||
@@ -1,4 +1,5 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* Copyright (c) 2020-2021 Антон Аксенов (Anthony Axenov)
|
||||
*
|
||||
@@ -7,54 +8,44 @@
|
||||
* https://github.com/anthonyaxenov/atol-online/blob/master/LICENSE
|
||||
*/
|
||||
|
||||
declare(strict_types = 1);
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace AtolOnline\Enums;
|
||||
|
||||
use AtolOnline\Constants\Ffd105Tags;
|
||||
|
||||
/**
|
||||
* Константы, определяющие типы налогообложения
|
||||
*
|
||||
* @see https://online.atol.ru/files/API_atol_online_v4.pdf Документация, стр 35
|
||||
*/
|
||||
final class SnoTypes extends Enum
|
||||
enum SnoType: string
|
||||
{
|
||||
/**
|
||||
* Общая СН
|
||||
*/
|
||||
const OSN = 'osn';
|
||||
case OSN = 'osn';
|
||||
|
||||
/**
|
||||
* Упрощенная СН (доходы)
|
||||
*/
|
||||
const USN_INCOME = 'usn_income';
|
||||
case USN_INCOME = 'usn_income';
|
||||
|
||||
/**
|
||||
* Упрощенная СН (доходы минус расходы)
|
||||
*/
|
||||
const USN_INCOME_OUTCOME = 'usn_income_outcome';
|
||||
case USN_INCOME_OUTCOME = 'usn_income_outcome';
|
||||
|
||||
/**
|
||||
* Единый налог на вмененный доход
|
||||
*/
|
||||
const ENDV = 'envd';
|
||||
case ENDV = 'envd';
|
||||
|
||||
/**
|
||||
* Единый сельскохозяйственный налог
|
||||
*/
|
||||
const ESN = 'esn';
|
||||
case ESN = 'esn';
|
||||
|
||||
/**
|
||||
* Патентная СН
|
||||
*/
|
||||
const PATENT = 'patent';
|
||||
|
||||
/**
|
||||
* @inheritDoc
|
||||
*/
|
||||
public static function getFfdTags(): array
|
||||
{
|
||||
return [Ffd105Tags::COMPANY_SNO];
|
||||
}
|
||||
case PATENT = 'patent';
|
||||
}
|
||||
59
src/Enums/VatType.php
Normal file
59
src/Enums/VatType.php
Normal file
@@ -0,0 +1,59 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* Copyright (c) 2020-2021 Антон Аксенов (Anthony Axenov)
|
||||
*
|
||||
* This code is licensed under MIT.
|
||||
* Этот код распространяется по лицензии MIT.
|
||||
* https://github.com/anthonyaxenov/atol-online/blob/master/LICENSE
|
||||
*/
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace AtolOnline\Enums;
|
||||
|
||||
/**
|
||||
* Константы, определяющие типы ставок НДС
|
||||
*/
|
||||
enum VatType: string
|
||||
{
|
||||
/**
|
||||
* Без НДС
|
||||
*/
|
||||
case NONE = 'none';
|
||||
|
||||
/**
|
||||
* НДС 0%
|
||||
*/
|
||||
case VAT0 = 'vat0';
|
||||
|
||||
/**
|
||||
* НДС 10%
|
||||
*/
|
||||
case VAT10 = 'vat10';
|
||||
|
||||
/**
|
||||
* НДС 18%
|
||||
*/
|
||||
case VAT18 = 'vat18';
|
||||
|
||||
/**
|
||||
* НДС 20%
|
||||
*/
|
||||
case VAT20 = 'vat20';
|
||||
|
||||
/**
|
||||
* НДС 10/110%
|
||||
*/
|
||||
case VAT110 = 'vat110';
|
||||
|
||||
/**
|
||||
* НДС 18/118%
|
||||
*/
|
||||
case VAT118 = 'vat118';
|
||||
|
||||
/**
|
||||
* НДС 20/120%
|
||||
*/
|
||||
case VAT120 = 'vat120';
|
||||
}
|
||||
@@ -1,76 +0,0 @@
|
||||
<?php
|
||||
/*
|
||||
* Copyright (c) 2020-2021 Антон Аксенов (Anthony Axenov)
|
||||
*
|
||||
* This code is licensed under MIT.
|
||||
* Этот код распространяется по лицензии MIT.
|
||||
* https://github.com/anthonyaxenov/atol-online/blob/master/LICENSE
|
||||
*/
|
||||
|
||||
declare(strict_types = 1);
|
||||
|
||||
namespace AtolOnline\Enums;
|
||||
|
||||
use AtolOnline\Constants\Ffd105Tags;
|
||||
|
||||
/**
|
||||
* Константы, определяющие типы ставок НДС
|
||||
*/
|
||||
final class VatTypes extends Enum
|
||||
{
|
||||
/**
|
||||
* Без НДС
|
||||
*/
|
||||
const NONE = 'none';
|
||||
|
||||
/**
|
||||
* НДС 0%
|
||||
*/
|
||||
const VAT0 = 'vat0';
|
||||
|
||||
/**
|
||||
* НДС 10%
|
||||
*/
|
||||
const VAT10 = 'vat10';
|
||||
|
||||
/**
|
||||
* НДС 18%
|
||||
*/
|
||||
const VAT18 = 'vat18';
|
||||
|
||||
/**
|
||||
* НДС 20%
|
||||
*/
|
||||
const VAT20 = 'vat20';
|
||||
|
||||
/**
|
||||
* НДС 10/110%
|
||||
*/
|
||||
const VAT110 = 'vat110';
|
||||
|
||||
/**
|
||||
* НДС 18/118%
|
||||
*/
|
||||
const VAT118 = 'vat118';
|
||||
|
||||
/**
|
||||
* НДС 20/120%
|
||||
*/
|
||||
const VAT120 = 'vat120';
|
||||
|
||||
/**
|
||||
* @inheritDoc
|
||||
*/
|
||||
public static function getFfdTags(): array
|
||||
{
|
||||
return [
|
||||
Ffd105Tags::ITEM_VAT_TYPE,
|
||||
Ffd105Tags::DOC_VAT_TYPE_NONE,
|
||||
Ffd105Tags::DOC_VAT_TYPE_VAT0,
|
||||
Ffd105Tags::DOC_VAT_TYPE_VAT10,
|
||||
Ffd105Tags::DOC_VAT_TYPE_VAT20,
|
||||
Ffd105Tags::DOC_VAT_TYPE_VAT110,
|
||||
Ffd105Tags::DOC_VAT_TYPE_VAT120,
|
||||
];
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user