﻿<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.eFinanceira.gov.br/schemas/evtRERCT/v1_2_0" targetNamespace="http://www.eFinanceira.gov.br/schemas/evtRERCT/v1_2_0" elementFormDefault="qualified" attributeFormDefault="unqualified">
  <xs:import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="../../Comum/xmldsig-core-schema.xsd"/>
  <xs:element name="eFinanceira">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="evtRERCT" minOccurs="1" maxOccurs="1">
          <xs:annotation>
            <xs:documentation>Evento referente ao Regime Especial de Regularização Cambial e Tributária (RERCT)</xs:documentation>
          </xs:annotation>
          <xs:complexType>
            <xs:sequence>
              <xs:element name="ideEvento" minOccurs="1" maxOccurs="1">
                <xs:annotation>
                  <xs:documentation>Informações de Identificação do Evento</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="ideEventoRERCT" minOccurs="1" maxOccurs="1">
                      <xs:simpleType>
                        <xs:annotation>
                          <xs:documentation>
                            Identificação do Evento RERCT
                          </xs:documentation>
                        </xs:annotation>
                        <xs:restriction base="xs:unsignedInt">
                          <xs:pattern value="[0-9]"/>
                        </xs:restriction>
                      </xs:simpleType>
                    </xs:element>
                    <xs:element name="indRetificacao" minOccurs="1" maxOccurs="1">
                      <xs:simpleType>
                        <xs:annotation>
                          <xs:documentation>
                            Indicativo de Retificação:
                            1 - Original
                            2 - Retificador
                            3 - Retificador a Pedido
                          </xs:documentation>
                        </xs:annotation>
                        <xs:restriction base="xs:unsignedInt">
                          <xs:pattern value="[1-3]"/>
                        </xs:restriction>
                      </xs:simpleType>
                    </xs:element>
                    <xs:element name="nrRecibo" minOccurs="0" maxOccurs="1">
                      <xs:simpleType>
                        <xs:annotation>
                          <xs:documentation>Número do recibo do arquivo a ser retificado.</xs:documentation>
                        </xs:annotation>
                        <xs:restriction base="xs:string">
                          <xs:minLength value="1" />
                          <xs:maxLength value="49" />
                        </xs:restriction>
                      </xs:simpleType>
                    </xs:element>
                    <xs:element name="tpAmb" minOccurs="1" maxOccurs="1">
                      <xs:simpleType>
                        <xs:annotation>
                          <xs:documentation>
                            Identificação do ambiente:
                            1 - Produção
                            2 - Homologação
                          </xs:documentation>
                        </xs:annotation>
                        <xs:restriction base="xs:unsignedInt">
                          <xs:pattern value="[1|2]"/>
                        </xs:restriction>
                      </xs:simpleType>
                    </xs:element>
                    <xs:element name="aplicEmi" minOccurs="1" maxOccurs="1">
                      <xs:simpleType>
                        <xs:annotation>
                          <xs:documentation>
                            Processo de emissão do evento:
                            1 - Emissão com aplicativo da empresa
                            2 - Outros
                          </xs:documentation>
                        </xs:annotation>
                        <xs:restriction base="xs:unsignedInt">
                          <xs:pattern value="[1|2]"/>
                        </xs:restriction>
                      </xs:simpleType>
                    </xs:element>
                    <xs:element name="verAplic" minOccurs="1" maxOccurs="1">
                      <xs:simpleType>
                        <xs:annotation>
                          <xs:documentation>Versão do aplicativo de emissão do evento</xs:documentation>
                        </xs:annotation>
                        <xs:restriction base="xs:string">
                          <xs:minLength value="1"/>
                          <xs:maxLength value="20"/>
                        </xs:restriction>
                      </xs:simpleType>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element name="ideDeclarante" minOccurs="1" maxOccurs="1">
                <xs:complexType>
                  <xs:annotation>
                    <xs:documentation>Informações de identificação do declarante</xs:documentation>
                  </xs:annotation>
                  <xs:sequence>
                    <xs:element name="cnpjDeclarante" minOccurs="1" maxOccurs="1">
                      <xs:annotation>
                        <xs:documentation>CNPJ do Declarante</xs:documentation>
                      </xs:annotation>
                      <xs:simpleType>
                        <xs:restriction base="xs:string">
                          <xs:pattern value="[0-9]{14}"/>
                        </xs:restriction>
                      </xs:simpleType>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element name="ideDeclarado" minOccurs="1" maxOccurs="1">
                <xs:complexType>
                  <xs:annotation>
                    <xs:documentation>Informações de identificação do declarado</xs:documentation>
                  </xs:annotation>
                  <xs:sequence>                    
                    <xs:element name="cpfCnpjDeclarado" minOccurs="1" maxOccurs="1">
                      <xs:complexType>
                        <xs:annotation>
                          <xs:documentation>Informações do CPF ou CNPJ do Declarado (contribuinte repatriador).</xs:documentation>
                        </xs:annotation>
                        <xs:sequence>
                          <xs:element name="tpInscr" minOccurs="1" maxOccurs="1">
                            <xs:annotation>
                              <xs:documentation>
                                Tipo de inscrição do Declarado (contribuinte repatriador).
                                1 - CPF
                                2 - CNPJ
                              </xs:documentation>
                            </xs:annotation>
                            <xs:simpleType>
                              <xs:restriction base="xs:unsignedInt">
                                <xs:pattern value="[1|2]"/>
                              </xs:restriction>
                            </xs:simpleType>
                          </xs:element>
                          <xs:element name="nrInscr" minOccurs="1" maxOccurs="1">
                            <xs:annotation>
                              <xs:documentation>CPF ou CNPJ do Declarado (contribuinte repatriador).</xs:documentation>
                            </xs:annotation>
                            <xs:simpleType>
                              <xs:restriction base="xs:string">
                                <xs:pattern value="[0-9]{11,14}"/>
                              </xs:restriction>
                            </xs:simpleType>
                          </xs:element>
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element name="RERCT" minOccurs="1" maxOccurs="unbounded">
                <xs:complexType>
                  <xs:annotation>
                    <xs:documentation>
                      Informação proveniente da instituição financeira no exterior, provenientes de instituição
                      financeira  autorizada a funcionar no País, mediante solicitação e autorização de declarante do
                      Regime Especial de Regularização Cambial e Tributária (RERCT).
                    </xs:documentation>
                  </xs:annotation>
                  <xs:sequence>
                    <xs:element name="nomeBancoOrigem" minOccurs="0" maxOccurs="1">
                      <xs:annotation>
                        <xs:documentation>
                          Nome do Banco de Origem, conforme informação proveniente de instituição financeira no exterior.
                        </xs:documentation>
                      </xs:annotation>
                      <xs:simpleType>
                        <xs:restriction base="xs:string">
                          <xs:minLength value="1"/>
                          <xs:maxLength value="100"/>
                        </xs:restriction>
                      </xs:simpleType>
                    </xs:element>
                    <xs:element name="paisOrigem" minOccurs="0" maxOccurs="1">
                      <xs:annotation>
                        <xs:documentation>
                          País de origem, conforme informação proveniente de instituição financeira no exterior.
                        </xs:documentation>
                      </xs:annotation>
                      <xs:simpleType>
                        <xs:restriction base="xs:string">
                          <xs:length value="2"/>
                        </xs:restriction>
                      </xs:simpleType>
                    </xs:element>
                    <xs:element name="BICBancoOrigem" minOccurs="0" maxOccurs="1">
                      <xs:annotation>
                        <xs:documentation>
                          Número de identificação Bank Identifier Code (BIC) do banco de origem, conforme informação proveniente de instituição financeira no exterior.
                        </xs:documentation>
                      </xs:annotation>
                      <xs:simpleType>
                        <xs:restriction base="xs:string">
                          <xs:minLength value="11"/>
                          <xs:maxLength value="11"/>
                        </xs:restriction>
                      </xs:simpleType>
                    </xs:element>
                    <xs:element name="infoContaExterior" minOccurs="0" maxOccurs="unbounded">
                      <xs:complexType>
                        <xs:annotation>
                          <xs:documentation>
                            Informações relativas às contas cujas informações foram provenientes de instituição financeira no exterior,
                            identificada no grupo RERCT pelo Nome, BIC e País de Origem.
                          </xs:documentation>
                        </xs:annotation>
                        <xs:sequence>
                          <xs:element name="titular" minOccurs="0" maxOccurs="unbounded">
                            <xs:complexType>
                              <xs:annotation>
                                <xs:documentation>
                                  Identificação do titular dos ativos financeiros, conforme informação proveniente de instituição financeira no exterior.
                                </xs:documentation>
                              </xs:annotation>
                              <xs:sequence>
                                <xs:element name="nomeTitular" minOccurs="0" maxOccurs="1">
                                  <xs:annotation>
                                    <xs:documentation>
                                      Nome do titular dos ativos financeiros, conforme informação proveniente de instituição financeira no exterior.
                                    </xs:documentation>
                                  </xs:annotation>
                                  <xs:simpleType>
                                    <xs:restriction base="xs:string">
                                      <xs:minLength value="1"/>
                                      <xs:maxLength value="100"/>
                                    </xs:restriction>
                                  </xs:simpleType>
                                </xs:element>
                                <xs:element name="cpfCnpjTitular" minOccurs="0" maxOccurs="1">
                                  <xs:complexType>
                                    <xs:annotation>
                                      <xs:documentation>
                                        Informações do CPF ou CNPJ do Titular.
                                      </xs:documentation>
                                    </xs:annotation>
                                    <xs:sequence>
                                      <xs:element name="tpInscr" minOccurs="1" maxOccurs="1">
                                        <xs:annotation>
                                          <xs:documentation>
                                            Tipo de inscrição do Declarado (contribuinte repatriador).
                                            1 - CPF
                                            2 - CNPJ
                                          </xs:documentation>
                                        </xs:annotation>
                                        <xs:simpleType>
                                          <xs:restriction base="xs:unsignedInt">
                                            <xs:pattern value="[1|2]"/>
                                          </xs:restriction>
                                        </xs:simpleType>
                                      </xs:element>
                                      <xs:element name="nrInscr" minOccurs="1" maxOccurs="1">
                                        <xs:annotation>
                                          <xs:documentation>Número de inscrição do Declarado (contribuinte repatriador).</xs:documentation>
                                        </xs:annotation>
                                        <xs:simpleType>
                                          <xs:restriction base="xs:string">
                                            <xs:pattern value="[0-9]{11,14}"/>
                                          </xs:restriction>
                                        </xs:simpleType>
                                      </xs:element>
                                    </xs:sequence>
                                  </xs:complexType>
                                </xs:element>
                                <xs:element name="NIFTitular" minOccurs="0" maxOccurs="1">
                                  <xs:annotation>
                                    <xs:documentation>
                                      Número de identificação fiscal no país de origem dos recursos, se houver, conforme informação
                                      proveniente de instituição financeira no exterior.
                                    </xs:documentation>
                                  </xs:annotation>
                                  <xs:simpleType>
                                    <xs:restriction base="xs:string">
                                      <xs:maxLength value="25"/>
                                    </xs:restriction>
                                  </xs:simpleType>
                                </xs:element>
                              </xs:sequence>
                            </xs:complexType>
                          </xs:element>
                          <xs:element name="beneficiarioFinal" minOccurs="0" maxOccurs="unbounded">
                            <xs:complexType>
                              <xs:annotation>
                                <xs:documentation>
                                  Identificação do(s) beneficiário(s) final(ais) dos ativos financeiros, conforme informação proveniente de instituição financeira no exterior.
                                </xs:documentation>
                              </xs:annotation>
                              <xs:sequence>
                                <xs:element name="nomeBeneficiarioFinal" minOccurs="0" maxOccurs="1">
                                  <xs:annotation>
                                    <xs:documentation>
                                      Nome do beneficiário final dos ativos financeiros, conforme informação proveniente de instituição financeira no exterior.
                                    </xs:documentation>
                                  </xs:annotation>
                                  <xs:simpleType>
                                    <xs:restriction base="xs:string">
                                      <xs:minLength value="1"/>
                                      <xs:maxLength value="100"/>
                                    </xs:restriction>
                                  </xs:simpleType>
                                </xs:element>
                                <xs:element name="cpfBeneficiarioFinal" minOccurs="0" maxOccurs="1">
                                  <xs:annotation>
                                    <xs:documentation>
                                      CPF do beneficiário final dos ativos financeiros, conforme informação proveniente de instituição financeira no exterior.
                                    </xs:documentation>
                                  </xs:annotation>
                                  <xs:simpleType>
                                    <xs:restriction base="xs:string">
                                      <xs:pattern value="[0-9]{11}"/>
                                    </xs:restriction>
                                  </xs:simpleType>
                                </xs:element>
                                <xs:element name="NIFBeneficiarioFinal" minOccurs="0" maxOccurs="1">
                                  <xs:annotation>
                                    <xs:documentation>
                                      Número de identificação fiscal do beneficiário final dos ativos financeiros no país de origem dos recursos,
                                      se houver, conforme informação proveniente de instituição financeira no exterior.
                                    </xs:documentation>
                                  </xs:annotation>
                                  <xs:simpleType>
                                    <xs:restriction base="xs:string">
                                      <xs:maxLength value="25"/>
                                    </xs:restriction>
                                  </xs:simpleType>
                                </xs:element>
                              </xs:sequence>
                            </xs:complexType>
                          </xs:element>
                          <xs:element name="tpContaExterior" minOccurs="0" maxOccurs="1">
                            <xs:annotation>
                              <xs:documentation>
                                Tipo de conta, conforme informação proveniente de instituição financeira no exterior.
                                1 - Conta de Depósito
                                2 - Conta de Custódia
                                3 - Conta de Investimento
                              </xs:documentation>
                            </xs:annotation>
                            <xs:simpleType>
                              <xs:restriction base="xs:unsignedInt">
                                <xs:pattern value="[1-3]"/>
                              </xs:restriction>
                            </xs:simpleType>
                          </xs:element>
                          <xs:element name="numContaExterior" minOccurs="0" maxOccurs="1">
                            <xs:annotation>
                              <xs:documentation>
                                Número da conta no banco de origem, conforme informação proveniente de instituição financeira no exterior.
                              </xs:documentation>
                            </xs:annotation>
                            <xs:simpleType>
                              <xs:restriction base="xs:string">
                                <xs:minLength value="1"/>
                                <xs:maxLength value="50"/>
                              </xs:restriction>
                            </xs:simpleType>
                          </xs:element>
                          <xs:element name="vlrUltDia" minOccurs="0" maxOccurs="1">
                            <xs:annotation>
                              <xs:documentation>Valores mantidos pelo titular em 31 de dezembro de 2014, conforme informação proveniente de instituição financeira no exterior.</xs:documentation>
                            </xs:annotation>
                            <xs:simpleType>
                              <xs:restriction base="xs:string">
                                <xs:minLength value="4"/>
                                <xs:maxLength value="17" />
                                <xs:pattern value="[-]{0,1}[0-9]{1,19}[,][0-9]{2}"/>
                              </xs:restriction>
                            </xs:simpleType>
                          </xs:element>
                          <xs:element name="moeda" minOccurs="0" maxOccurs="1">
                            <xs:annotation>
                              <xs:documentation>
                                Moeda em que foram informados os valores mantidos pelo titular em 31 de dezembro de 2014, conforme informação proveniente de instituição financeira no exterior.
                              </xs:documentation>
                            </xs:annotation>
                            <xs:simpleType>
                              <xs:restriction base="xs:string">
                                <xs:minLength value="1" />
                                <xs:maxLength value="3" />
                              </xs:restriction>
                            </xs:simpleType>
                          </xs:element>
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
            <xs:attribute name="id" use="required" >
              <xs:annotation>
                <xs:documentation>Identificador que representa unicamente o evento no sistema para a mesma empresa e mesmo tipo</xs:documentation>
              </xs:annotation>
              <xs:simpleType>
                <xs:restriction base="xs:ID">
                  <xs:minLength value="13" />
                  <xs:maxLength value="20" />
                </xs:restriction>
              </xs:simpleType>
            </xs:attribute>
          </xs:complexType>
        </xs:element>
        <xs:element ref="ds:Signature"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>