InvoiceType::description()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 11
Code Lines 9

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 9
c 1
b 0
f 0
dl 0
loc 11
rs 9.9666
cc 1
nc 1
nop 0
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Squareetlabs\VeriFactu\Enums;
6
7
enum InvoiceType: string
8
{
9
    case STANDARD = 'F1';
10
    case SIMPLIFIED = 'F2';
11
    case SUBSTITUTE = 'F3';
12
    case RECTIFICATIVE_R1 = 'R1';
13
    case RECTIFICATIVE_R2 = 'R2';
14
    case RECTIFICATIVE_R3 = 'R3';
15
    case RECTIFICATIVE_R4 = 'R4';
16
    case RECTIFICATIVE_R5 = 'R5';
17
18
    public function description(): string
19
    {
20
        return match($this) {
21
            self::STANDARD => 'Standard invoice (art. 6, 7.2 and 7.3 RD 1619/2012)',
22
            self::SIMPLIFIED => 'Simplified invoice and invoices without recipient identification art. 6.1.d) RD 1619/2012',
23
            self::SUBSTITUTE => 'Invoice issued as a substitute for previously declared simplified invoices',
24
            self::RECTIFICATIVE_R1 => 'Rectifying invoice (legal error and Art. 80.1, 80.2, 80.6 LIVA)',
25
            self::RECTIFICATIVE_R2 => 'Rectifying invoice (Art. 80.3)',
26
            self::RECTIFICATIVE_R3 => 'Rectifying invoice (Art. 80.4)',
27
            self::RECTIFICATIVE_R4 => 'Rectifying invoice (Other)',
28
            self::RECTIFICATIVE_R5 => 'Rectifying invoice for simplified invoices',
29
        };
30
    }
31
}