InvoiceType   A
last analyzed

Complexity

Total Complexity 1

Size/Duplication

Total Lines 22
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 1
eloc 18
c 1
b 0
f 0
dl 0
loc 22
rs 10

1 Method

Rating   Name   Duplication   Size   Complexity  
A description() 0 11 1
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
}