7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
# File 'lib/complyance_sdk/models/logical_doc_type_mapper.rb', line 7
def to_gets_document_type_v2(logical_type)
name = logical_type.to_s.upcase
base = GetsDocumentBase::TAX_INVOICE
if name.include?('CREDIT_NOTE')
base = GetsDocumentBase::CREDIT_NOTE
elsif name.include?('DEBIT_NOTE')
base = GetsDocumentBase::DEBIT_NOTE
elsif name.start_with?('SIMPLIFIED')
base = GetsDocumentBase::SIMPLIFIED_INVOICE
end
modifiers = []
modifiers << GetsDocumentModifier::B2C if name.start_with?('SIMPLIFIED')
modifiers << GetsDocumentModifier::EXPORT if name.include?('EXPORT')
modifiers << GetsDocumentModifier::SELF_BILLED if name.include?('SELF_BILLED')
modifiers << GetsDocumentModifier::THIRD_PARTY if name.include?('THIRD_PARTY')
modifiers << GetsDocumentModifier::NOMINAL_SUPPLY if name.include?('NOMINAL_SUPPLY')
modifiers << GetsDocumentModifier::SUMMARY if name.include?('SUMMARY')
modifiers << GetsDocumentModifier::B2G if name.include?('B2G')
GetsDocumentTypeV2
.builder
.base(base)
.modifiers(modifiers)
.build
end
|