Class: FacturX::Note

Inherits:
Object
  • Object
show all
Defined in:
lib/factur_x/note.rb

Constant Summary collapse

LATE_PAYMENT_PENALTIES =
"Tout retard de paiement engendre une pénalité exigible à compter " \
"de la date d'échéance, calculée sur la base de trois fois le taux " \
"d'intérêt légal."
RECOVERY_INDEMNITY =
"Indemnité forfaitaire pour frais de recouvrement en cas de retard " \
"de paiement : 40 €."
NO_EARLY_PAYMENT_DISCOUNT =
"Les règlements reçus avant la date d'échéance ne donneront " \
"pas lieu à escompte."

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(content:, subject_code: nil) ⇒ Note

Returns a new instance of Note.



17
18
19
20
# File 'lib/factur_x/note.rb', line 17

def initialize(content:, subject_code: nil)
  @content = content
  @subject_code = subject_code
end

Instance Attribute Details

#contentObject (readonly)

Returns the value of attribute content.



15
16
17
# File 'lib/factur_x/note.rb', line 15

def content
  @content
end

#subject_codeObject (readonly)

Returns the value of attribute subject_code.



15
16
17
# File 'lib/factur_x/note.rb', line 15

def subject_code
  @subject_code
end

Class Method Details

The three statements French law requires on every B2B invoice.



36
37
38
# File 'lib/factur_x/note.rb', line 36

def french_legal_mentions
  [recovery_indemnity, late_payment_penalties, no_early_payment_discount]
end

.late_payment_penalties(content = LATE_PAYMENT_PENALTIES) ⇒ Object



27
28
29
# File 'lib/factur_x/note.rb', line 27

def late_payment_penalties(content = LATE_PAYMENT_PENALTIES)
  new(content: content, subject_code: Codes::NoteSubject::PAYMENT_PENALTIES)
end

.no_early_payment_discount(content = NO_EARLY_PAYMENT_DISCOUNT) ⇒ Object



31
32
33
# File 'lib/factur_x/note.rb', line 31

def no_early_payment_discount(content = NO_EARLY_PAYMENT_DISCOUNT)
  new(content: content, subject_code: Codes::NoteSubject::DISCOUNT_TERMS)
end

.recovery_indemnity(content = RECOVERY_INDEMNITY) ⇒ Object



23
24
25
# File 'lib/factur_x/note.rb', line 23

def recovery_indemnity(content = RECOVERY_INDEMNITY)
  new(content: content, subject_code: Codes::NoteSubject::PAYMENT_TERMS)
end