update

Disponível na versão: 1.13+

Actualiza uma fatura de fornecedor.

Os campos financial_discount e discount de cada elemento do conjunto products, caso sejam preenchidos, devem ser valores em percentagem, de 0 a 100.

O campo special_discount, caso seja preenchido, deverá ser um valor monetário.

O campo exemption_reason de cada elemento do conjunto products torna-se obrigatório caso o conjuntotaxes esteja vazio, não contenha elementos cujo imposto correspondente seja do tipo IVA ou que estes tenham valor zero.

O campo value de cada elemento dos conjuntos taxes existentes torna-se obrigatório caso o imposto definido por tax_id seja um imposto cujo valor seja definido por artigo.

Todos os campos *_id apenas aceitam valores válidos. Esses valores podem ser consultados nos respectivos endpoints da API. No caso dos associated_id dos elementos do conjuntoassociated_documents, têm de pertencer a documentos cujo tipo possa ser associado com faturas de fornecedor.

O campo maturity_date_id é opcional, e deverá escolher um prazo de vencimento que se coadune com a data de vencimento enviada, tanto ao nível dos dias, como da descrição daquele. O prazo de vencimento é meramente apresentacional. Se não o enviar, a impressão do documento dirá "pronto pagamento", independentemente da data de vencimento.

O campo deduction_id, até agora existente no document, foi depreciado, e será removido da API futuramente. Recomenda-se que se passe a usar a deduction_id nos elementos da estrutura products. Durante esta fase de transição, se for enviado no document, será propagado a todos os elementos da estrutura products que não o tenham.

Os campos delivery_departure_country e delivery_destination_country apenas aceitam id de países válidos. Para além disso, se o país for Portugal (id 1), o código postal deve ser válido (4 dígitos, traço, 3 dígitos).

Pode enviar os campos vehicle_name e vehicle_number_plate para definir uma viatura de transporte sem a gravar na sua empresa. Se também enviar o campo vehicle_id, a viatura por este identificada será usada em vez daqueles campos.

O campo status aceita os valores 0 (por defeito, caso não seja preenchido) e 1, que correspondem, respectivamente, aos estados de rascunho e fechado. Ao inserir uma fatura de fornecedor com o estado fechado, os documentos associados, caso existam, serão conciliados com os valores definidos.

Para criar documentos noutras moedas, os campos exchange_currency_id e exchange_rate devem ser preenchidos. O campo exchange_currency_id deverá ser preenchido com um id de moeda válido, que pode consultar no endpoint currencies/getAll. O campo exchange_rate deverá ser preenchido com o valor monetário apropriado. Pode consultar as tabelas de conversão que actualizamos todos os dias, no endpoint currencyExchange/getAll.

Ao contrário do que sucede na área de cliente, ao atualizar uma fatura de fornecedor, os preços de compra para esse fornecedor não serão atualizados nos artigos. Deverá efetuar as alterações relevantes no respetivo endpointproducts/update.

Ao fechar o documento, serão movimentados stocks, caso um ou mais dos seus artigos tenha gestão de stocks. Se a sua empresa tiver armazéns definidos, pode preencher o campo warehouse_id de cada artigo, para que o stock seja movimentado num armazém em concreto. Se não indicar qual o armazém, o stock será movimentado no armazém pré-definido do artigo ou, caso nenhum esteja pré-definido, no pré-definido da empresa.

Pedido

https://api.moloni.pt/v1/supplierInvoices/update/?access_token=[current_access_token]

Parâmetros
company_id int

Obrigatório

document_id int

Obrigatório

date date

Obrigatório

expiration_date date

Obrigatório

maturity_date_id int
document_set_id int

Obrigatório

supplier_id int

Obrigatório

our_reference string
your_reference string
financial_discount float
special_discount float
associated_documents array
associated_id int

Obrigatório

value float

Obrigatório

related_documents_notes string
products array

Obrigatório

product_id int

Obrigatório

name string

Obrigatório

summary string
qty float

Obrigatório

price float

Obrigatório

discount float
deduction_id int
order int
exemption_reason string
warehouse_id int
taxes array
tax_id int

Obrigatório

value float
order int
cumulative int
exchange_currency_id int
exchange_rate float
delivery_method_id int
delivery_datetime date
delivery_departure_address string
delivery_departure_city string
delivery_departure_zip_code string
delivery_departure_country int
delivery_destination_address string
delivery_destination_city string
delivery_destination_zip_code string
delivery_destination_country int
vehicle_id int
vehicle_name string
vehicle_number_plate string
notes string
status int
Nota
- O parâmetro qty tem como default 50 e o offset 0, sendo que o máximo qty é 50;
- Campos de preenchimento facultativo, significa que podem ser uma string vazia ou zero, dependendo do respectivo tipo.
Resposta
{
	valid: 1,
	document_id: int
}
Lista de erros possíveis
Sempre que existir um erro no preenchimento dos campos, será devolvido via JSON o objeto com os erros indexado pela ordem dos campos.
As mensagens de erro, são devolvidas sob a forma de códigos, e para perceber quais os erros disponíveis e como interpretar as mensagens recebidas, consulte esta ligação.

© 2024 Moloni

Software de faturação online

Certificado pela Autoridade Tributária N.º 2860