Esta opção dar-lhe-á acesso ao ecrã do Layout do ficheiro a produzir. Este ecrã apresenta-nos um diagrama do ficheiro a ser produzido em forma de árvore. Cada ramo da árvore é uma linha no ficheiro a produzir. O ficheiro poderá ter tantas linhas quantas as necessárias para produzir a informação pedida pela AT - Autoridade Tributária.
Debaixo de cada ramo da árvore, irão existir diversos registos que correspondem ás colunas das diversas linhas do ficheiro a produzir. As imagens que identificam estes registos serão várias, correspondentes aos diversos tipos de colunas que poderão fazer parte da estrutura. Os diversos tipos de colunas serão descritas nos pontos seguintes.
Para a construção do diagrama, existem várias opções:
InserirEste botão fica visível imediatamente, quando selecionado o primeiro registo, que tem por titulo o nome do mapa que estamos a definir. Nesta altura, ao clicar neste botão é criada uma nova linha. Também estará visível quando estamos posicionados numa determinada linha e, neste caso, ao clicar no botão, será criada uma nova coluna para essa linha.
Duplicar Este botão está visível quando estamos posicionados num registo de linha ou de coluna, servindo para duplicar a linha e todas as suas colunas, ou para duplicar só a coluna onde estamos posicionados.
Apagar Este botão também estará visível na mesma situação do botão "Duplicar" e serve para apagar uma linha e todas as suas colunas, ou só uma coluna de uma determinada linha.
Ordenar Este botão também estará visível nas mesmas condições dos botões "Duplicar" e "Apagar" e serve para ordenar as linhas ou as colunas de uma determinada linha, consoante o registo onde esteja posicionado quando clica neste botão. Essa ordem será utilizada quando se criar o ficheiro, e poderá ser identificada pela disposição que as linhas e suas colunas ocupam no diagrama representado neste ecrã.
O ecrã de Layout do ficheiro possibilita-lhe ainda as seguinte opções:
Importar um Layout em formato DBF Este botão permite importar um novo layout que tenha sido previamente exportado de outra definição, em formato DBF. Ao escolher esta opção, o utilizador será avisado de que todas as linhas e colunas do presente layout serão apagadas e substituídas pelas que estiverem incluídas no ficheiro a importar.
Exportar este Layout para formato DBF Este botão permite ao utilizador exportar o actual layout para um ficheiro e directoria a definir, em formato DBF.
Imprimir o Layout Através desta opção é possível imprimir um relatório pré definido na aplicação.
Abaixo do diagrama, existe um conjunto de páginas, páginas essas que servem para descrever o conteúdo que será utilizado para a construção das colunas das diversas linhas do ficheiro a ser produzido.
Caso o formato do ficheiro produzido seja do tipo ASCII, os campos disponíveis na página de Dados Principais são os seguintes:Dados PrincipaisIdentifica o tipo de coluna a ser criada.
DescriçãoServe para identificar o nome da linha ou da coluna. O conteúdo deste campo não será utilizado para produzir o ficheiro. Este campo está visível quando estamos posicionados num registo do tipo linha ou coluna, todos os outros campos desta página só estarão visíveis quando o utilizador estiver posicionado num registo do tipo coluna, exceto a opção
Esta linha não entra para os contadores.
Esta linha não entra para os contadoresEsta opção, apenas visível quando estamos posicionados num registo do tipo linha, indica quais as linhas a ignorar na contagem.
Tipo ValorIdentifica o tipo de dados da coluna, se são do tipo carater ou numérico. Se o tipo selecionado for o numérico, ficaram disponíveis as seguintes opções:
Os numéricos são preenchidos com zeros á esquerda
Este campo, apenas visível se os dados da coluna forem do tipo numérico, especifica a formatação da coluna. Ex: caso a coluna tivesse um comprimento de 5 e o seu valor fosse 3, se esta opção fosse activada, o resultado seria: "00003", caso contrário, seria: " 3" (Quatro espaços e depois o valor. 4+1 = 5).
Para valores negativos a formatação é a seguinte: Com a opção activa: "-0003"; Sem a opção activa: " -3" ( Três espaços, o sinal e o valor. 3+1+1 = 5 )
Os numéricos apresentam sinal quando são positivos
Este campo, apenas visível se os dados da coluna forem do tipo numérico, indica se os valores positivos também têm sinal (quando são negativos têm sempre sinal).
ComprimentoIndica o comprimento da coluna. Se os valores forem numéricos, este comprimento inclui o número de decimais mais o separador decimal (o separador decimal tem o tamanho de um caracter).
DecimaisIndica o número de decimais desejados para os valores numéricos da coluna.
Os decimais incluem o separador decimalIndica se o nº de decimais especificado no campo
Decimais também inclui o seu separador.
Tipo de ColunaAqui é indicado o tipo de dados que a coluna terá. Consoante esta seleção, será activada a página correspondente ao tipo de dados pretendido.
Os diversos tipos de colunas que poderão existir dependem do tipo de mapa escolhido, estão disponíveis as seguintes opções: Fórmula; Ficha da Empresa; Expressão; Variável; Contador; Fórmula IVA; e Campos de Sistema.
GrupoPermite definir a que grupo está associada a respectiva fórmula, este campo irá influenciar a zona onde a fórmula irá aparecer no
visualizador. Este campo apenas se encontra disponível se o campo
tipo de coluna for variável.
Sub-GrupoPermite definir a que sub-grupo está associada a respectiva fórmula, este campo irá influenciar a zona onde a fórmula irá aparecer no
visualizador. Este campo apenas se encontra disponível se o campo
tipo de coluna for variável.
Ordem s. grupoPermite definir a ordem grupo que está associada à respectiva fórmula.Este campo irá influenciar a ordem onde a fórmula irá aparecer no
visualizador. Este campo apenas se encontra disponível se o campo
tipo de coluna for variável.
Caso o formato do ficheiro produzido seja do tipo XML, os campos disponíveis na página de Dados Principais são os seguintes:Deve configurar os diversos elementos XML que irão compor o ficheiro final de forma hierárquica. Não é necessário colocar nenhum elemento relativo à declaração de ficheiro XML, pois a aplicação automaticamente o incluirá. Trata-se da declaração de topo:
<?xml version="1.0" encoding="ISO-8859-1"?>
Deve portanto iniciar a sua configuração com o elemento pai do XML. Um documento XML apenas pode ter um elemento de topo.
Para criar um elemento, deve posicionar o cursor na árvore hierárquica seleccionando o elemento que será o pai do novo elemento criado, e pressionar o botão
Inserir, em cima à direita. Num documento XML o nome dos elementos não pode conter espaços e a capitalização é importante. Poderá em seguida configurar este elemento nos seus mais variados aspectos.
Deverá continuar desta forma criando os elementos irmãos (situados ao mesmo nível na árvore hierárquica do schema XML) e os filhos.
Configuração de um elemento XML:
DescriçãoEste campo permite indicar o nome do elemento.
NameSpaceA cada elemento XML é atribuído um NameSpace que o identifica univocamente no mundo. O Elemento de topo deverá sempre conter um NameSpace. Para um elemento filho, poderá deixar o NameSpace em branco para que seja automaticamente herdado o NameSpace do seu Pai, ou pode preenchê-lo se o elemento pertencer a um NameSpace diferente do seu Pai.
Tipo de ValorSempre que um elemento contenha um determinado valor específico, esse valor pode ser de um dos seguintes tipos de dados: Caracter, Numérico, Data e Lógico.
Esta definição é importante para que o valor seja corretamente colocado no XML de acordo com as normas internacionais. No caso de valores lógicos, as normas internacionais aceitam 0/1 ou TRUE/FALSE. No entanto, uma vez que a aplicação da AT só aceita o formato 0/1 é esse o formato utilizado pela aplicação PHC.
OrdemEste campo define a ordem do elemento face aos seus irmãos. Ou seja um elemento com ordem igual a 1 significa que será o primeiro elemento contido no seu pai. Os vários elementos do mesmo nível hierárquico são colocados dentro do elemento pai por esta ordem.
Pode modificar a ordem de um elemento alterando este campo. Mas é mais prático fazê-lo selecionando o elemento Pai e pressionando o botão para esse efeito disponível no canto inferior direito da árvore hierárquica. Esse botão permite-lhe de uma forma fácil ordenar interativamente todos os filhos de um determinado elemento.
Tipo de Elemento:Aqui deve definir o conteúdo deste elemento. Um elemento pode conter um valor próprio ou não, e pode conter também outros elementos filhos. Se o elemento apenas contiver mais elementos dentro dele selecione o tipo «Apenas mais elementos».
Caso contrário deve definir neste campo como este elemento será criado.
Os diversos tipos de elementos possíveis de selecionar são os seguintes: Fórmula; Ficha da Empresa; Expressão; Variável; Fórmula IVA; Campos de Sistema; Apenas mais elementos; Outro Mapa e Mapa recapitulativo.
É um atributo em vez de elementoUm determinado elemento pode conter um valor dentro dele ou, em alternativa, pode conter vários valores definidos como atributos (estes são indicados dentro da declaração de identificação do elemento). No caso de pretender definir atributos para um elemento, deve criar esse atributo como se se tratasse de um elemento filho, e depois ativar a opção
É um atributo em vez de um elemento que deve ser criado como atributo do próprio elemento e não como elemento filho.
Preenchimento ObrigatórioA ativação deste campo tem como objetivo, tal como o nome diz, tornar o campo de preenchimento obrigatório. Na visualização do mapa no visualizador os campos de preenchimento obrigatório são apresentados de cor diferente e se estiverem vazios o ficheiro xml não será gerado.
Este elemento não conta para a construção do ficheiroEste campo deve ser ativo se for incluido na estrutura do ficheiro um elemento que é necessário para a produção do mapa, mas que não deve constar no layout do xml. Por exemplo a inclusão do campo norma da empresa para que sejam validados os valores a incluir em outros campos que apenas devam ser preenchidos consoante a norma contabilistica da empresa.
Outro MapaEste campo apenas está disponível se escolher o tipo de elemento
Outro Mapa e permite selecionar o respetivo Mapa.
PaiEste campo permite indicar qual o elemento pai do respetivo elemento em que se encontra posicionado.
Ao criar um determinado elemento ele será colocado automaticamente como elemento filho do elemento que estava selecionado. É no entanto, possível, modificar o pai de um determinado elemento já depois de o mesmo ter sido criado. Para isso bastará selecionar o novo Elemento que se tornará o Pai do elemento em que está posicionado usando o botão de lista. Esta opção é muito útil se pretender mover uma sub-árvore inteira de um local para outro na estrutura hierárquica. Pois quando move um elemento para outro local da estrutura hierárquica, está também a mover em conjunto todo o seu conteúdo (todos os elementos filhos).
CondiçãoNo Schema que define o layout do XML, é possível definir uma condição para controlo dos dados a adicionar no ficheiro xml. Permitindo indicar que um determinado elemento apenas deve estar presente quando um outro elemento possuir um determinado valor ou conjunto de valores ou for diferente de determinado valor. Para poder configurar o layout dessa forma, deve utilizar esta página. Para isso deve posicionar-se no elemento que apenas deve ser criado em determinadas condições e configurar a respetiva condição.
Deve começar por activar a opção
Este elemento só é enviado se outro elemento tiver determinado valor, que torna a presença deste elemento condicional. Em seguida selecionar o «Elemento» cujo valor será avaliado para decidir se o elemento em que está posicionado é criado ou não. Pode seleccionar um qualquer elemento do layout, já existente, a partir da lista disponibilizada no botão respectivo.
Depois deve ativar uma das duas opções:
Idêntico a: Ao ativar esta opção significa que o elemento em que se encontra posicionado apenas é criado no ficheiro se possuir um valor idêntico a um determinado elemento.
No campo por baixo de
Idêntico a, deve indicar o valor ou lista de valores que esse outro elemento terá de assumir para que o elemento em que está posicionado seja criado. Pode incluir vários valores desde que os separe pelo caracter ponto e vírgula. Basta que o «outro elemento» tenha um dos valores discriminados na lista para que seja permitida a criação do elemento onde está posicionado.
Diferente de:Ao ativar esta opção significa que o elemento em que se encontra posicionado apenas é criado no ficheiro se possuir um valor diferente de um determinado elemento.
No campo por baixo de
Diferente de, deve indicar o valor ou lista de valores que esse outro elemento terá de assumir para que o elemento em que está posicionado seja criado.
Nota: Esta página apenas se encontra disponível se o formato do ficheiro a produzir for do tipo XML.
Quando não existe nenhuma opção selecionada, aplicação interpreta como a opção selecionada fosse:
Idêntico a.
De acordo com o tipo de formato do ficheiro a produzir, ASCII ou XML, o campo
Tipo de Coluna /
Tipo de Elemento, tem as seguintes opções:
Fórmula; Ficha da Empresa; Expressão; Variável; Contador (apenas disponível se o formato do ficheiro a produzir for ASCII); Fórmula IVA; Campos de Sistema; Apenas mais elementos (apenas disponível se o formato do ficheiro a produzir for XML); Outro Mapa (apenas disponível se o formato do ficheiro a produzir for XML); Mapa recapitulativo (apenas disponível se o formato do ficheiro a produzir for XML). FórmulaEsta página é utilizada quando se pretende que o resultado de determinada coluna seja o valor de uma fórmula do mapa de gestão em IDU. Nesta página os campos são os seguintes:
Número da Célula que contém a fórmula pretendidaServe para indicar qual a célula do mapa de gestão em IDU que contém a fórmula desejada. Pode escrever-se diretamente o número da célula ou escolher, através do botão de
situado à esquerda deste campo, uma célula da listagem de todas as fórmulas do mapa de gestão em IDU ligado a este.
MáscaraPermite especificar uma formatação a ser aplicada ao valor desta coluna.
Utilizar a Máscara da Fórmula caso o campo acima não esteja preenchidoPermite utilizar a formatação que foi especificada para a célula, na altura da sua criação, no Mapa de Gestão em IDU, caso o campo "Máscara" desta página não esteja preenchido.
Ficha EmpresaEsta página é utilizada quando se pretende que o resultado de determinada coluna seja o valor de um campo da Ficha Completa da Empresa. Nesta página os campos disponíveis são os seguintes:
CampoEste campo em lista, ordenado alfabeticamente, permite escolher qual o campo da Ficha Completa de Empresa que se pretende.
MáscaraPermite especificar uma formatação a ser aplicada ao valor desta coluna.
Utilizar a Máscara da Ficha da Empresa caso o campo acima não esteja preenchidoPermite utilizar a formatação que foi especificada para a célula, na altura da sua criação, no Mapa de Gestão em IDU, caso o campo "Máscara" desta página não esteja preenchido.
ExpressãoEsta página é utilizada quando se pretende que o resultado de determinada coluna seja o valor de uma expressão definida pelo utilizador. Essa expressão poderá ser em TSQL ou em XBASE, ou então utilizando um misto das duas, ou seja, definindo uma expressão em TSQL e utilizar o valor retornado por essa expressão na definição da expressão em XBASE. Nesta página os campos são os seguintes:
Expressão TSQLAqui define-se uma expressão utilizando apenas comandos TSQL. O valor aqui introduzido irá servir para executar uma "Query" ao servidor de dados SQL. O resultado dessa "Query" só poderá retornar um único valor, ou seja uma tabela apenas com uma linha e uma coluna. Caso tal não aconteça será gerado um aviso para o utilizador no momento da produção do ficheiro, e o mesmo será cancelado. Além dos comando em TSQL também se pode utilizar mais dois tipos:
- Campos da tabela da Ficha completa da Empresa, utilizando para isso o botão
.
- Variáveis do utilizador, utilizando o botão
. A explicação destas variáveis é efetuada na página "Variável".
Expressão XBASEAqui define-se uma expressão utilizando apenas comandos XBASE, na construção desta expressão poder-se-á utilizar os seguintes tipos:
- Valor de retorno da expressão TSQL, caso a expressão de TSQL esteja preenchida, pode-se utilizar o valor retornado pela "Query" definida pela expressão TSQL feita ao servidor de SQL, na construção da expressão em XBASE. Para isso utiliza-se o botão
, o qual introduz a palavra "m.mgvaltsql" na expressão XBASE que estamos a construir, sendo depois esta palavra substituída pelo valor retornado pela expressão TSQL quando o ficheiro for produzido.
- Variáveis do utilizador, utilizando o botão
. A explicação destas variáveis é efectuada na página "Variável".
É um programaEste campo indica se a expressão em XBASE é um programa ou não. Caso seja um programa, este será compilado na altura da produção do ficheiro, sendo o valor retornando por ele, utilizado na coluna correspondente. Esta hipótese existe, porque poderá haver necessidade de construir uma expressão em diversas linhas distintas, com instruções de decisão do tipo "IF" em que podemos correr o código de uma linha da expressão ou outra consoante determinada condição, para que isto seja possível é necessário que a expressão seja um programa.
MáscaraPermite especificar uma formatação a ser aplicada ao valor desta coluna.
VariávelEsta página é utilizada quando se pretende que o resultado de determinada coluna seja o valor de uma variável definida pelo utilizador. Existe casos em que os valores de determinada coluna são conhecidos apenas aquando da produção do ficheiro, por exemplo o "Ano do Exercício". Assim, o utilizador pode definir uma coluna como sendo do tipo variável, e só quando o ficheiro for produzido será apresentado um ecrã com todas as variáveis definidas no mapa a produzir. Nesta altura, o utilizador introduzirá os dados correspondentes.
Nesta página os campos disponíveis são os seguintes:
Título,
Aqui será introduzido o titulo do ecrã que solicita os valores das variáveis ao utilizador aquando da produção do ficheiro. O botão
Copiar permite copiar a descrição dada à coluna na primeira página "Dados Principais", para o título da variável.
Tipo DadosIndica que tipo dados a variável irá conter, os tipos de dados possíveis são : Carater; Numérico; Memo (Texto longo); Lógico; e Data.
MáscaraPermite especificar uma formatação a ser aplicada ao valor da variável e à sua coluna correspondente.
IdentificadorEste campo só deve ser preenchido se pretender utilizar a variável na página "Expressão" de outras colunas pertencentes ao layout do ficheiro. Quando se clica nos botões de variáveis existentes na página "Expressão" a lista que aparece para o utilizador escolher, só irá conter as variáveis cujo campo "identificador" esteja preenchido.
Exemplo:Muitas vezes, existem dados a incluir no documento, que devem ser pedidos ao utilizador, mas cujo formato não é facilmente perceptível pelo utilizador final. Imagine um elemento num documento XML que deverá ter o conteúdo 1 ou 2 (por exemplo 1=1ª Declaração do Ano, 2=Outra Declaração).
Em vez de pedir uma variável numérica em que o utilizador tem de saber o significado de 1 e 2, é bastante mais agradável pedir uma variável do tipo lógico com o título «1ª Declaração do ano ?» em que o utilizador escolhe apenas Sim ou Não.
Para permitir estas situações pode usar o resultado de uma variável dentro da expressão Xbase (ou TSQL) de outro elemento.
Para isso deve criar um elemento do tipo variável lógica com a pergunta Sim/Não. No entanto, se não pretender que essa variável lógica seja incluída no documento XML e deve seleccionar a opção «Este elemento não conta para a construção do ficheiro». Em seguida cria o verdadeiro elemento do documento XML com o tipo de dados numérico e com o conteúdo do tipo
Expressão.
Na sua expressão usa o conteúdo da variável anterior, pressionando o botão que se encontra à direita da expressão com a tooltip
Inserir uma variável na expressão XBASE. Pode então construir uma expressão Xbase, por exemplo, que retorne o número 1 ou 2 em função da tal variável lógica pedida ao utilizador.
Para poder fazer isso terá de atribuir um identificador à variável lógica. Esse identificador é escolhido e digitado no campo
Identificador da página de configuração da variável lógica. É esse identificador que pode depois ser usado na expressão xbase.
No exemplo, se tiver atribuído o identificador lResposta à variável lógica com o título «1ª Declaração do ano ?», poderá depois criar o elemento do tipo Expressão em que no Xbase colocará por exemplo a expressão:
iif(m.lResposta,1,2)
Que retorna o número 1 ou 2 em função da resposta lógica.
ContadorEsta página é utilizada quando se pretende que o resultado de determinada coluna seja uma contagem efetuada sobre as diversas colunas existentes no layout do ficheiro. O tipo de contagem aqui efetuado será o número de colunas existentes entre dois pontos distintos do layout. Nesta página os campos disponíveis são os seguintes:
Início da contagemDefine qual a coluna de determinada linha, ou a partir de que linha começa a contagem.
Fim da contagemDefine qual a coluna de determinada linha, ou em que linha termina a contagem.
InclusiveEstes dois campos existentes do lado direito dos campos "Inicio" e "Fim" de contagem, indicam, no caso dos intervalos definidos serem uma coluna, se os mesmo são incluídos na contagem ou não. No caso dos intervalos serem linhas, estas não serão incluídas automaticamente na contagem.
MáscaraPermite especificar uma formatação a ser aplicada ao valor desta coluna.
Não contar com as variáveis que não entram para a construção do ficheiroEste campo indica se as colunas do tipo variável que estão dentro do intervalo especificado para a contagem, mas que não entram para a construção do ficheiro, são ou não incluídas nessa mesma contagem.
IVAEsta página é utilizada quando se pretende que o resultado de determinada coluna seja o valor de uma fórmula de IVA. Nesta página os campos são os seguintes:
Fórmula de IVA pretendidaServe para indicar qual a fórmula de IVA desejada, contida no
mapa de gestão em IDU. Pode escrever-se diretamente o número da célula ou escolher, através do botão de
lista situado à esquerda deste campo, uma fórmula da listagem de todas as fórmulas do mapa de gestão em IDU ligado a este.
MáscaraPermite especificar uma formatação a ser aplicada ao valor desta coluna.
SistemaEsta página é utilizada quando se pretende que o resultado de determinada coluna seja o valor de um campo de sistema, ou seja, um campo do tipo data e hora do computador, nome ou iniciais do utilizador, etc. No caso de mapas de gestão de declarações de IVA periódicas são acrescentados a estes campos os campos referentes às datas iniciais e finais que foram utilizadas para calcular o período da declaração do IVA. Nesta página os campos disponíveis são os seguintes:
CampoEste campo em lista, ordenado alfabeticamente, permite escolher qual o campo de Sistema que se pretende.
MáscaraPermite especificar uma formatação a ser aplicada ao valor desta coluna.
Apenas mais elementosEste tipo de elemento deve ser usado sempre que o elemento em questão não contém qualquer valor próprio. Apenas irá conter dentro dele outros elementos filhos.
Outro MapaUm determinado documento XML poderá ser obrigado a conter dados provenientes de mais do que um Mapa de Gestão. Para conseguir isso, temos que definir o layout XML também separadamente como se fossem dois documentos XML independentes.
Depois de ter o layout XML do segundo Mapa totalmente desenhado (como se fosse um documento independente), deve então incluir esse segundo mapa dentro do primeiro, no local em que pretender, usando para isso um elemento deste tipo
Outro Mapa.
O Layout XML do segundo Mapa será produzido como um Fragmento de Documento de XML e será inserido por inteiro, durante o cálculo, no seu local dentro do XML original.
Imagine o seguinte exemplo de documento XML:
1234
123456
ABCDEFG
Poderá neste caso definir um documento XML para o sub-mapa criando apenas o seu layout com dois elementos:
Layout Mapa 2:
SubElemento1: Do tipo fórmula de mapa de gestão 2, por exemplo
SubElemento2: Do tipo fórmula de mapa de gestão 2, por exemplo
E definir o mapa principal com o seguinte Layout:
Layout Mapa 1:
Elemento1: Do tipo fórmula de mapa de gestão 1, por exemplo
Elemento2: Do tipo Apenas mais elementos
SubMapa: Do tipo Outro Mapa e seleccionando o Layout Mapa 2
Mapa recapitulativoNo caso específico da nova Declaração Anual IES, existem dois anexos (O e P) que se destinam a reportar os Mapas recapitulativos. Neste caso o documento XML deve ser composto de uma lista de elementos correspondente à lista de Cliente e/ou Fornecedores calculados nos mapas recapitulativos.
Uma vez que se trata de um conjunto indefinido de elementos, a aplicação produz automaticamente estes elementos e permite adicioná-los ao documento Principal no local pretendido. Bastará para isso criar um Elemento correspondente ao Anexo O e outro elemento Correspondente ao Anexo P e nestes elementos indicar que se tratam de um conteúdo do tipo Mapa Recapitulativo. Em seguida, na página «Recapitulativo», devem ser configurados os pormenores do conteúdo respectivo. Ou seja:
Se o elemento deve conter dados referentes ao mapa recapitulativo de Clientes ou Fornecedores
Qual o valor mínimo usado no cálculo do mapa recapitulativo
E os nomes dos elementos que serão criados para conter a lista. Deve ser consultado o Schema XML da DGCI para saber o nome destes elementos.
Nota:
O configurador PHC de layouts XML permite desenhar o XML produzido de acordo com um Schema fornecido (No caso do IES o schema são um conjunto de ficheiros fornecidos pela AT).
No entanto a aplicação PHC não efetua a validação do ficheiro produzido contra este schema. Pelo que deve ser utilizada uma ferramenta externa ao software PHC para validar o ficheiro produzido, antes de o importar para a aplicação da DGCI.