diff --git a/app/models/bank_transaction.rb b/app/models/bank_transaction.rb index 69cf6fc2a..76ed9ae27 100644 --- a/app/models/bank_transaction.rb +++ b/app/models/bank_transaction.rb @@ -121,7 +121,8 @@ class BankTransaction < ApplicationRecord end def ref_number_from_description - match_data = /(\d{7})/.match(description) - match_data[0] if match_data.present? + (Billing::ReferenceNo::MULTI_REGEXP.match(description) || []).captures.each do |match| + break match if match.length == 7 || Registrar.where(reference_no: match).present? + end end end diff --git a/app/models/billing/reference_no.rb b/app/models/billing/reference_no.rb index 23812214c..849c06b85 100644 --- a/app/models/billing/reference_no.rb +++ b/app/models/billing/reference_no.rb @@ -1,6 +1,7 @@ module Billing class ReferenceNo REGEXP = /\A\d{2,20}\z/ + MULTI_REGEXP = /(\d{2,20})/ def self.generate base = Base.generate