Skip to main content

Communicate Partner Series (IPPN)

Communicate document series to partners through the IPPN (Integrated Platform for Public Notification) system.

Operation

IPPNCommunicatePartnerSeries

Overview

The IPPN (Integrated Platform for Public Notification) allows businesses to communicate document series information to their business partners. This is particularly useful for:

  • Sharing invoice series information with customers
  • Notifying partners of new document series
  • Maintaining compliance with Portuguese e-invoicing requirements

Request

<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:mag="http://magnifinance.com/api/v2.1"
xmlns:auth="http://magnifinance.com/auth">
<soapenv:Header>
<auth:Credentials>
<auth:ClientId>your_client_id</auth:ClientId>
<auth:ClientSecret>your_client_secret</auth:ClientSecret>
</auth:Credentials>
</soapenv:Header>
<soapenv:Body>
<mag:IPPNCommunicatePartnerSeries>
<mag:Request>
<mag:PartnerTaxId>123456789</mag:PartnerTaxId>
<mag:Series>
<mag:SeriesCode>FT</mag:SeriesCode>
<mag:SeriesYear>2024</mag:SeriesYear>
<mag:StartNumber>1</mag:StartNumber>
<mag:EndNumber>9999</mag:EndNumber>
</mag:Series>
<mag:ValidFrom>2024-01-01</mag:ValidFrom>
<mag:ValidUntil>2024-12-31</mag:ValidUntil>
<mag:NotifyPartner>true</mag:NotifyPartner>
</mag:Request>
</mag:IPPNCommunicatePartnerSeries>
</soapenv:Body>
</soapenv:Envelope>

Parameters

ParameterTypeRequiredDescription
PartnerTaxIdstringYesPartner's tax identification number (NIF)
Series.SeriesCodestringYesDocument series code (e.g., FT, FS, FR)
Series.SeriesYearintegerYesYear of the document series
Series.StartNumberintegerYesStarting number of the series
Series.EndNumberintegerYesEnding number of the series
ValidFromdateYesStart date of series validity
ValidUntildateNoEnd date of series validity
NotifyPartnerbooleanNoSend notification to partner (default: true)

Response

<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<mag:IPPNCommunicatePartnerSeriesResponse xmlns:mag="http://magnifinance.com/api/v2.1">
<mag:Result>
<mag:Success>true</mag:Success>
<mag:CommunicationId>comm_789012</mag:CommunicationId>
<mag:Status>Communicated</mag:Status>
<mag:CommunicatedAt>2024-01-15T10:30:00Z</mag:CommunicatedAt>
<mag:PartnerNotified>true</mag:PartnerNotified>
<mag:IPPNReference>IPPN-2024-001234</mag:IPPNReference>
</mag:Result>
</mag:IPPNCommunicatePartnerSeriesResponse>
</soapenv:Body>
</soapenv:Envelope>

Response Fields

FieldTypeDescription
CommunicationIdstringUnique identifier for this communication
StatusstringCommunication status
CommunicatedAtdatetimeTimestamp of communication
PartnerNotifiedbooleanWhether the partner was notified
IPPNReferencestringIPPN system reference number

Error Response

<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<soapenv:Fault>
<faultcode>soapenv:Client</faultcode>
<faultstring>Invalid partner tax ID</faultstring>
<detail>
<mag:Error xmlns:mag="http://magnifinance.com/api/v2.1">
<mag:Code>INVALID_PARTNER_NIF</mag:Code>
<mag:Message>The partner tax ID is not valid or not registered</mag:Message>
</mag:Error>
</detail>
</soapenv:Fault>
</soapenv:Body>
</soapenv:Envelope>

Error Codes

CodeDescription
INVALID_PARTNER_NIFPartner tax ID is invalid or not registered
SERIES_ALREADY_COMMUNICATEDThis series has already been communicated to the partner
INVALID_DATE_RANGEValidFrom is after ValidUntil
IPPN_SERVICE_UNAVAILABLEIPPN service is temporarily unavailable
SERIES_OVERLAPSeries range overlaps with existing communicated series

Example (C#)

using System.ServiceModel;

var binding = new BasicHttpsBinding();
var endpoint = new EndpointAddress("https://api.magnifinance.com/soap/v2.1/TaxCommunication");
var client = new TaxCommunicationClient(binding, endpoint);

var request = new IPPNCommunicatePartnerSeriesRequest
{
PartnerTaxId = "123456789",
Series = new DocumentSeries
{
SeriesCode = "FT",
SeriesYear = 2024,
StartNumber = 1,
EndNumber = 9999
},
ValidFrom = new DateTime(2024, 1, 1),
ValidUntil = new DateTime(2024, 12, 31),
NotifyPartner = true
};

var result = await client.IPPNCommunicatePartnerSeriesAsync(credentials, request);

if (result.Success)
{
Console.WriteLine($"Communication ID: {result.CommunicationId}");
Console.WriteLine($"IPPN Reference: {result.IPPNReference}");
Console.WriteLine($"Partner Notified: {result.PartnerNotified}");
}

Notes

  • The partner must be registered in the IPPN system for notification to work
  • Series communication is required for certain types of business relationships in Portugal
  • The IPPNReference can be used for tracking and audit purposes
  • Communications are logged and can be retrieved later for compliance reporting