Brazilian Tax Number Fields

Component ID

198644

Component name

Brazilian Tax Number Fields

Component type

module

Maintenance status

Development status

Component security advisory coverage

covered

Downloads

10334

Component created

Component changed

Component body

Formerly called Brazilian Ids.

This module adds CPF and CNPJ validation functionalities for CCK fields.

CPF and CNPJ are tax registration numbers granted to individuals (CPF) and companies (CNPJ) by the Brazilian ministry of revenue.

Learn more about them at wikipedia, CPF and CNPJ

Drupal 6

Coloque campos de CPF e CNPJ tanto no perfil de seus visitantes como em qualquer conteúdo usando o CCK. Ele valida os números e ainda formata.

Drupal 7

It adds 3 new widgets to the text field type at the Field UI.

They are:
CPF - Accepts only valid tax number of individuals
CNPJ - Accepts only valid tax number of companies
CPF / CNPJ - Accepts either one as long as it is a valid number

The view format display are done as followed:
CPF - 000.000.000-00
CNPJ - 00.000.000/0000-00

It also adds 3 new field types for the Form API.
They are:
number_cpf, number_cnpj and number_cnpj_cpf

So, developers can easily build form elements of Brazilian Tax Number types. For example:

  $form['my_cpf_field'] = array(
    '#type' => 'number_cpf',
    '#title' => t('CPF'),
  );
  $form['my_cnpj_field'] = array(
    '#type' => 'number_cnpj',
    '#title' => t('CNPJ'),
  );
  $form['my_cnpj_cpf_field'] = array(
    '#type' => 'number_cnpj_cpf',
    '#title' => t('CNPJ or CPF'),
  );

And that's it! You are done.

The field value is saved into the database without the separators ( . - / ). Take a look at br_tax_number_fields_field_formatter_view() function for figuring out how to attach a field display to your entity.

Here is an example on how to display the field value with their separators:

$display = array('type' => 'number_cnpj_cpf');
$items = array(
  array('value' => $value)
);
$cpf_cnpj_field_view = br_tax_number_fields_field_formatter_view('', '', '', '', '', $items, $display);

Drupal 6 Maintained by Wanderson S. Reis

Drupal 7 Maintained by Francisco Luz