Генератор и валидатор CBU для Аргентины | Банковские коды BCRA
Генерация и проверка аргентинских банковских кодов CBU (Clave Bancaria Uniforme). Бесплатный инструмент с использованием официальных алгоритмов BCRA для разработчиков, тестировщиков и финансовых приложений.
Аргентинский генератор и валидатор CBU
Создайте случайный, но действительный CBU для тестирования ваших приложений и интеграций.
Нажмите кнопку выше, чтобы сгенерировать действительный CBU
О CBU
CBU (Clave Bancaria Uniforme) - это 22-значный код, используемый в Аргентине для идентификации банковских счетов при электронных переводах и платежах.
Каждый CBU содержит информацию о банке, отделении и номере счета, а также проверочные цифры, обеспечивающие его достоверность.
Структура CBU
Документация
Что такое аргентинский CBU и зачем его проверять?
Работа с банковской системой Аргентины означает работу с CBU (Clave Bancaria Uniforme) — 22-значным кодом, который уникально идентифицирует каждый банковский счет в стране. Если вам когда-либо приходилось тестировать интеграцию платежей, проверять банковские реквизиты перед переводом или понимать причины сбоя транзакции, вы знаете, насколько важно работать с правильно отформатированными CBU.
Этот инструмент помогает генерировать структурно корректные CBU для тестовых сред и проверять существующие коды на соответствие официальному формату, установленному Центральным банком Аргентины (BCRA). При разработке финансовых приложений или обработке платежей раннее выявление ошибок формата сэкономит часы отладки и предотвратит сбои транзакций.
Понимание формата CBU
CBU (Clave Bancaria Uniforme) — это аргентинский аналог международных банковских идентификаторов, таких как IBAN или маршрутные номера США. Можно рассматривать его как comprehensive пакет, который объединяет информацию о банке, отделении и счете в единый 22-значный код. Центральный банк Аргентины (BCRA) внедрил эту систему в ноябре 2000 года для стандартизации электронных переводов по всей финансовой сети страны.
Структура и формат CBU
Каждый действительный CBU состоит ровно из 22 цифр, разделенных на два основных блока:
-
Первый блок (8 цифр): Идентифицирует финансовое учреждение и отделение
- Первые 3 цифры: Код банка, присвоенный BCRA
- Следующие 4 цифры: Код отделения внутри банка
- Последняя цифра: Контрольная цифра первого блока
-
Второй блок (14 цифр): Идентифицирует конкретный счет
- Первые 13 цифр: Номер счета (может включать тип счета и другие идентификаторы)
- Последняя цифра: Контрольная цифра второго блока
Контрольные цифры используют взвешенный алгоритм по модулю 10, который выявляет распространенные ошибки — такие как переставленные цифры или ошибки с отдельными цифрами — до перевода денежных средств. Этот механизм защиты оказался чрезвычайно эффективным: большинство ошибок при вводе CBU обнаруживаются на этапе проверки, а не приводят к неудачным переводам.
Как сгенерировать тестовый CBU
Генератор создает случайные, но структурно корректные CBU, которые проходят все форматные проверки. Вот что происходит за кулисами:
- Случайные цифры заполняют разделы кода банка, кода отделения и номера счета
- Инструмент рассчитывает оба проверочных цифры по официальному алгоритму BCRA
- Вы получаете правильно отформатированный 22-значный CBU, готовый для тестирования
Когда это будет полезно:
- Тестирование платежных интеграций: Нужны десятки корректных CBU для вашего тестового набора? Генерируйте их мгновенно без ручного расчета.
- Среды QA и промежуточного тестирования: Наполняйте тестовые базы данных реалистичной банковской информацией, которая не будет случайно совпадать с реальными счетами.
- Изучение формата: Посмотрите, как структурированы различные CBU, и поймите логику проверки.
- Документация и демонстрации: Создавайте образцы данных, выглядящие аутентично, без раскрытия реальной банковской информации.
Пошаговая генерация CBU
- Перейдите на вкладку "Генератор" инструмента
- Нажмите кнопку "Сгенерировать CBU"
- В области отображения появится корректный случайный 22-значный CBU
- Используйте кнопку "Копировать", чтобы скопировать CBU в буфер обмена для использования в ваших приложениях
Как проверить аргентинский CBU
Валидатор выполняет те же проверки, которые используют банковские системы Аргентины для проверки целостности CBU. Что проверяется:
- Проверка длины: Подтверждает наличие ровно 22 цифр (распространенная ошибка — копирование с пробелами или дефисами)
- Только цифровое содержимое: Гарантирует отсутствие букв или специальных символов
- Контрольная сумма первого блока: Проверяет 8-ю цифру по первым 7 цифрам
- Контрольная сумма второго блока: Проверяет 22-ю цифру по цифрам 9-21
Когда проверка не проходит, вы увидите, какая именно проверка не прошла. Это особенно полезно при отладке причин отклонения CBU банковским API — часто это что-то простое, вроде лишнего пробела или переставленной цифры.
Пошаговая проверка CBU
- Перейдите на вкладку "Валидатор" инструмента
- Введите 22-значный CBU, который хотите проверить
- Нажмите кнопку "Проверить CBU"
- Просмотрите результат проверки:
- Зеленый индикатор для корректных CBU
- Красный индикатор с конкретными сообщениями об ошибках для некорректных CBU
Объяснение алгоритма проверки CBU
BCRA использует алгоритм контрольной суммы с весовым модулем 10 для расчета проверочных цифр. Если вы реализуете проверку CBU в своем приложении, вот точная логика:
Проверка первого блока
Для первого блока (первые 8 цифр) проверочная цифра рассчитывается следующим образом:
- Возьмите первые 7 цифр CBU
- Умножьте каждую цифру на соответствующий вес: [7, 1, 3, 9, 7, 1, 3]
- Суммируйте полученные произведения
- Рассчитайте: 10 - (сумма % 10)
- Если результат равен 10, проверочная цифра - 0; в противном случае, это рассчитанное значение
Проверка второго блока
Для второго блока (последние 14 цифр) проверочная цифра рассчитывается следующим образом:
- Возьмите первые 13 цифр второго блока
- Умножьте каждую цифру на соответствующий вес: [3, 9, 7, 1, 3, 9, 7, 1, 3, 9, 7, 1, 3]
- Суммируйте полученные произведения
- Рассчитайте: 10 - (сумма % 10)
- Если результат равен 10, проверочная цифра - 0; в противном случае, это рассчитанное значение
Примеры проверки кода CBU
Вот как реализовать проверку CBU в вашем приложении. Эти примеры соответствуют официальной спецификации BCRA и будут работать с производственными банковскими данными:
1// JavaScript: Вычисление контрольной цифры CBU
2function calculateCheckDigit(number, weights) {
3 if (number.length !== weights.length) {
4 throw new Error('Длина числа должна соответствовать длине весов');
5 }
6
7 let sum = 0;
8 for (let i = 0; i < number.length; i++) {
9 sum += parseInt(number[i]) * weights[i];
10 }
11
12 const remainder = sum % 10;
13 return remainder === 0 ? 0 : 10 - remainder;
14}
15
16// Проверка первого блока CBU
17function validateFirstBlock(block) {
18 if (block.length !== 8 || !/^\d{8}$/.test(block)) {
19 return false;
20 }
21
22 const number = block.substring(0, 7);
23 const checkDigit = parseInt(block[7]);
24 const weights = [7, 1, 3, 9, 7, 1, 3];
25
26 return checkDigit === calculateCheckDigit(number, weights);
27}
281# Python: Проверка полного CBU
2import re
3
4def validate_cbu(cbu):
5 # Проверка базового формата
6 if not cbu or not re.match(r'^\d{22}$', cbu):
7 return {
8 'isValid': False,
9 'errors': ['CBU должен содержать 22 цифры']
10 }
11
12 # Разделение на блоки
13 first_block = cbu[:8]
14 second_block = cbu[8:]
15
16 # Проверка каждого блока
17 first_block_valid = validate_first_block(first_block)
18 second_block_valid = validate_second_block(second_block)
19
20 errors = []
21 if not first_block_valid:
22 errors.append('Первый блок (код банка/отделения) недействителен')
23 if not second_block_valid:
24 errors.append('Второй блок (номер счета) недействителен')
25
26 return {
27 'isValid': first_block_valid and second_block_valid,
28 'errors': errors
29 }
301// Java: Генерация случайного корректного CBU
2import java.util.Random;
3
4public class CBUGenerator {
5 private static final Random random = new Random();
6
7 public static String generateCBU() {
8 // Генерация первых 7 цифр (код банка и отделения)
9 StringBuilder firstBlockBase = new StringBuilder();
10 for (int i = 0; i < 7; i++) {
11 firstBlockBase.append(random.nextInt(10));
12 }
13
14 // Вычисление контрольной цифры для первого блока
15 int[] firstBlockWeights = {7, 1, 3, 9, 7, 1, 3};
16 int firstBlockCheckDigit = calculateCheckDigit(
17 firstBlockBase.toString(),
18 firstBlockWeights
19 );
20
21 // Генерация первых 13 цифр второго блока
22 StringBuilder secondBlockBase = new StringBuilder();
23 for (int i = 0; i < 13; i++) {
24 secondBlockBase.append(random.nextInt(10));
25 }
26
27 // Вычисление контрольной цифры для второго блока
28 int[] secondBlockWeights = {3, 9, 7, 1, 3, 9, 7, 1, 3, 9, 7, 1, 3};
29 int secondBlockCheckDigit = calculateCheckDigit(
30 secondBlockBase.toString(),
31 secondBlockWeights
32 );
33
34 // Объединение всех частей
35 return firstBlockBase.toString() + firstBlockCheckDigit +
36 secondBlockBase.toString() + secondBlockCheckDigit;
37 }
38
39 // Реализация метода calculateCheckDigit...
40}
411// PHP: Форматирование CBU для отображения
2function formatCBU($cbu) {
3 if (!$cbu || strlen($cbu) !== 22) {
4 return $cbu;
5 }
6
7 // Форматирование как: XXXXXXXX XXXXXXXXXXXXXX
8 return substr($cbu, 0, 8) . ' ' . substr($cbu, 8);
9}
10
11// Пример использования
12$cbu = '0123456789012345678901';
13echo formatCBU($cbu); // Выводит: 01234567 89012345678901
141' Excel VBA: Проверка CBU
2Function ValidateCBU(cbu As String) As Boolean
3 ' Проверка длины
4 If Len(cbu) <> 22 Then
5 ValidateCBU = False
6 Exit Function
7 End If
8
9 ' Проверка, что все символы - цифры
10 Dim i As Integer
11 For i = 1 To Len(cbu)
12 If Not IsNumeric(Mid(cbu, i, 1)) Then
13 ValidateCBU = False
14 Exit Function
15 End If
16 Next i
17
18 ' Извлечение блоков
19 Dim firstBlock As String
20 Dim secondBlock As String
21 firstBlock = Left(cbu, 8)
22 secondBlock = Right(cbu, 14)
23
24 ' Проверка обоих блоков
25 ValidateCBU = ValidateFirstBlock(firstBlock) And ValidateSecondBlock(secondBlock)
26End Function
27Реальные сценарии использования проверки CBU
Тестирование платежных интеграций
При создании финтех-приложений или платформ электронной коммерции, обрабатывающих аргентинские платежи, вам нужны действительные CBU для тестовой среды. Типичный сценарий: ваша промежуточная среда требует 50 тестовых счетов с действительными CBU для нагрузочного тестирования. Ручной расчет контрольных цифр для каждого занял бы часы. Генератор выполняет это за секунды, предоставляя правильно отформатированные тестовые данные, которые ведут себя как CBU в производственной среде, без риска случайного использования реальных номеров счетов.
Профессиональный совет: Храните набор сгенерированных CBU в тестовых fixture. Это обеспечивает согласованность тестовых данных в вашей команде и облегчает отладку при сбоях тестов.
Предотвращение ошибок транзакций
Вот что обычно происходит: клиент предоставляет свой CBU для денежного перевода, но случайно добавил пробелы или поменял местами две цифры. Если вы обработаете перевод без проверки, банк отклонит его — но только после задержки, и вы уже зарегистрировали намерение транзакции в своей системе. Теперь вам придется разбираться с проблемами сверки.
Проверка формата CBU перед отправкой позволяет немедленно выявить такие ошибки. Валидатор не скажет, существует ли счет или принадлежит ли он нужному человеку (для этого требуется доступ к банковскому API), но подтвердит, что структура соответствует стандартам BCRA.
Понимание требований к банковской интеграции
Для разработчиков, незнакомых с финансовой системой Аргентины, этот инструмент обеспечивает практическое обучение. Вы можете точно увидеть, как работают контрольные цифры, понять, почему некоторые номера недействительны, и поэкспериментировать с пограничными случаями перед написанием производственного кода.
Распространенная ошибка: Предположение, что проверка CBU аналогична проверке IBAN. Хотя обе используют контрольные цифры, алгоритмы полностью различаются. Тестирование с помощью этого инструмента помогает понять специфические требования аргентинских банковских кодов.
Проверка формы в банковских пользовательских интерфейсах
При проектировании форм ввода, принимающих CBU, вам нужно протестировать, как система обрабатывает различные состояния ошибок. Что происходит, когда пользователь вставляет CBU с пробелами? Какое сообщение об ошибке появляется, когда контрольная цифра неверна? Этот инструмент помогает протестировать такие сценарии и разработать более качественную обратную связь с пользователем.
Связанные инструменты для проверки банковских данных
В зависимости от ваших требований, вам также могут понадобиться следующие дополнительные инструменты:
- Валидатор CUIT/CUIL: Проверяет аргентинские налоговые идентификационные номера — незаменим, когда требуется проверка банковских и налоговых идентификаторов
- Валидатор CVU: Аналогичен CBU, но для цифровых кошельков (Mercado Pago, Ualá и др.), использующих тот же 22-значный формат
- Валидатор IBAN: Для международных платежей, включающих европейские или другие международные счета
- Банковские API-сервисы: Для производственных систем, которым требуется проверка владения счетом и остатка, а не только форматная валидация
Важное ограничение: Этот инструмент проверяет только формат и контрольные цифры. Он не может подтвердить, соответствует ли CBU активному банковскому счету или проверить личность владельца счета. Для таких проверок потребуется интеграция с банковскими API Аргентины или платежными процессорами.
Как банковская система Аргентины приняла CBU
До ноября 2000 года перевод денег между аргентинскими банками был удивительно сложным. Каждое финансовое учреждение использовало собственную систему нумерации счетов — у некоторых 10 цифр, у других 15, и не было стандартизированного способа определить, какой банк или филиал владеет счетом. Межбанковские переводы требовали ручной проверки и часто занимали дни для обработки.
BCRA ввел CBU для решения этой фрагментации. Установив единый 22-значный формат для всех финансовых учреждений, Аргентина согласовалась с международными стандартами, такими как европейская система IBAN. Встроенные контрольные цифры были особенно умными: они автоматически отлавливают большинство ошибок ввода данных, уменьшая количество неудачных переводов и связанные с этим расходы на расследование и отмену транзакций.
Что интересно: Формат CBU практически не изменился за более чем 20 лет. Хотя банковские технологии развились dramatically — мобильные приложения, мгновенные переводы, цифровые кошельки — базовая структура CBU остается прежней. Эта стабильность говорит о том, насколько хорошо изначальный дизайн предусмотрел будущие потребности.
Сегодня аргентинцы используют CBU практически для каждой электронной финансовой транзакции: зачисления зарплаты, оплаты счетов, налоговых деклараций, государственных пособий и электронной коммерции. Формат оказался настолько эффективным, что когда появились цифровые кошельки (например, Mercado Pago), регуляторы приняли ту же структуру для CVU (Clave Virtual Uniforme), а не изобретали что-то новое.
Часто задаваемые вопросы
В чем разница между CBU и CVU?
CBU идентифицируют традиционные банковские счета, а CVU (Clave Virtual Uniforme) идентифицируют счета цифровых кошельков от финтех-провайдеров, таких как Mercado Pago, Ualá или Brubank. Формат идентичен — 22 цифры с одним и тем же алгоритмом проверки, что логично, поскольку они совместимы. Вы можете переводить деньги с CBU на CVU и наоборот, как и при любом другом банковском переводе. Первые три цифры показывают, идет ли речь о традиционном банке или провайдере цифрового кошелька.
Можно ли узнать название банка по CBU?
Да. Первые три цифры — это идентификатор банка, присвоенный BCRA. Например, коды, начинающиеся с "011", принадлежат Banco Nación, а "017" указывает на BBVA Argentina. BCRA публикует официальный реестр этих кодов, который банковские приложения обычно используют для автоматического отображения названия банка при вводе CBU.
То же ли самое CBU, что и номер счета?
Не совсем. Номер вашего счета зашифрован внутри CBU, но CBU упаковывает его с дополнительной маршрутной информацией. Думайте об этом как о разнице между адресом улицы и GPS-координатами — оба идентифицируют местоположение, но один включает больше контекста. CBU объединяет код банка, код отделения, номер счета и две контрольные цифры в одну передаваемую строку.
Насколько безопасно делиться своим CBU?
CBU создан для обмена — в этом и заключается его суть. Получателям он нужен для зачисления денег на ваш счет. В отличие от паролей или PIN-кодов, CBU позволяет только входящие переводы, но не снятие средств. Тем не менее, обращайтесь с ним как с любой финансовой информацией: делитесь им только с теми, кому доверяете, и будьте осторожны при публикации в интернете. Некоторые предпочитают выборочно предоставлять свой CBU, а не публиковать его открыто.
Может ли CBU истечь или измениться?
Ваш CBU остается с вами, пока счет открыт. Он меняется только при закрытии счета и открытии нового или в редких случаях слияния банков или реструктуризации системы нумерации. Даже в таких случаях банки обычно сохраняют старый CBU на переходный период, чтобы не нарушать регулярные платежи.
Как найти свой CBU?
Проверьте мобильное приложение банка — обычно он находится в разделе сведений о счете. Большинство аргентинских банков также отображают его в онлайн-банкинге, печатают в ежемесячных выписках, и некоторые даже указывают на обратной стороне дебетовых карт. Если вы не можете его найти, любой банковский представитель может предоставить его немедленно; это не считается конфиденциальной информацией, как PIN-код.
Могут ли иностранцы иметь CBU в Аргентине?
Да. Открытие банковского счета в Аргентине для иностранца дает CBU, как и любому другому владельцу счета. Требования различаются в зависимости от учреждения — некоторые банки требуют только паспорт, а другие — подтверждение места жительства или CDI (налоговый идентификационный номер). Цифровые кошельки (CVU) часто легче получить иностранцам, чем традиционные банковские счета.
Что происходит при переводе на недействительный CBU?
Современные банковские системы выполняют проверку формата перед отправкой перевода. Если контрольные цифры не совпадают или длина неверна, вы получите немедленную ошибку — перевод не покидает ваш счет. Вот почему валидация на переднем плане так ценна — она ловит опечатки до возникновения проблем.
Более сложная ситуация возникает, когда CBU проходит проверку формата, но не соответствует активному счету. Перевод отправляется в межбанковскую сеть, а затем возвращается через несколько часов или дней. Вы уже зарегистрировали его как "отправленный" в своем учете, и теперь вам нужно согласовать возврат. Вот почему некоторые приложения также проверяют CBU по банковским базам данных перед разрешением переводов, хотя это требует платного доступа к API.
Может ли быть несколько CBU?
Абсолютно. Каждый счет генерирует свой CBU. Если у вас есть текущий и сберегательный счета в одном банке, у вас будет два разных CBU. Разные счета в разных банках? Еще больше CBU. Каждый уникально идентифицирует конкретный счет в конкретном отделении конкретного учреждения.
Используется ли система CBU за пределами Аргентины?
Нет, CBU специфичен для Аргентины. У каждой страны своя система: в Европе используется IBAN, в США — коды маршрутизации плюс номера счетов, в Австралии — коды BSB и т.д. При международных переводах обычно требуется SWIFT-код получателя плюс его локальный идентификатор счета — которым в случае Аргентины будет CBU.
Справочные материалы и официальная документация
Для получения авторитетной информации о банковских стандартах Аргентины:
-
Центральный банк Аргентины (BCRA) - Регламенты финансовой системы - Официальная документация BCRA о стандартах платежных систем и банковских регламентах
-
Закон № 25,345 - "Предотвращение налоговых уклонений и модернизация платежей" (ноябрь 2000 года) - Законодательство, установившее основы электронных платежных систем Аргентины
-
Коммуникация BCRA серии "A" - Технические циркуляры, определяющие требования к внедрению CBU для финансовых учреждений
-
Interbanking S.A. - Организация, управляющая межбанковской электронной платежной сетью Аргентины и поддерживающая таблицы маршрутизации CBU
Эти источники предоставляют технические спецификации, используемые для реализации данного валидатора, и регулярно обновляются финансовыми властями Аргентины.
Готовы проверить или сгенерировать CBU?
Независимо от того, создаете ли вы платежную интеграцию, тестируете финтех-приложение или изучаете банковскую систему Аргентины, понимание проверки CBU крайне важно. Этот инструмент реализует точно такие же алгоритмы контрольных сумм, которые используют аргентинские банки, чтобы вы могли обнаруживать ошибки формата до возникновения сбоев транзакций.
Помните: проверка формата - это только первый шаг. Правильно отформатированный CBU не гарантирует существование счета или правильность получателя. Для производственных систем, работающих с реальными деньгами, объедините проверку формата с дополнительной верификацией через банковские API или платежные процессоры.
Инструмент не требует регистрации или установки - просто откройте его и начните проверять или генерировать CBU согласно официальным стандартам BCRA.