Finanza impersonale (revisione 2)

Posted on Apr 7, 2025

Revisione 2. Corretta la percentuale dei dazi applicati da 35% a 20%. Aggiunte le voci “costo proprio per l’importatore” e “costo prorpio per il rivenditore”, che rendono il calcolo un poco piú realistico: anche l’attività di questi soggetti costa.

Io sono ignorante su tutto; a malapena so fare calcoli di aritmetica; perciò nel programma in linguaggio C11 che includo qui sotto ci sono sicuramente errori. Siccome è il mio giocattolo: ho usato le mie librerie mmux CC Types e mmux CC Libc, anche se, essendo ancora in via di sviluppo, non sono pronte per essere usate da tutti. Pace.

Mi sentivo escluso, perciò anch’io ho voluto scrivere qualcosa sui dazi; m’immagino una filiera semplificata:

  1. produttore italiano di prodotti non specificati;
  2. importatore americano di tali prodotti, che acquista direttamente dal produttore;
  3. rivenditore americano al dettaglio di tali prodotti, che acquista direttamente dall’importatore;

lo scenario é sicuramente piú articolato di cosí. Osservazioni sparse:

Eseguendo l’eseguibile in un terminale si vede quanto segue:

ITA: costo di produzione del produttore IT        = 100.00 EUR
ITA: profitto percentuale per il produttore IT    = 12.34%
ITA: profitto del produttore IT                   = 12.34 EUR
ITA: prezzo di vendita pre IVA del produttore IT  = 112.34 EUR
ITA: IVA percentuale produttore IT                = 10.00%
ITA: IVA produttore IT                            = 11.23 EUR
ITA: prezzo di vendita del produttore IT          = 123.57 EUR

Cambio EUR/USD: numero di USD che si comprano con un EUR = 1.08 USD

USA: prezzo d'acquisto che l'importatore US paga al produttore IT  = 133.46 USD
USA: dazio percentuale                                             = 20.00%
USA: dazio che l'importatore US paga allo stato US                 = 26.69 USD
USA: costo per l'importatore US                                    = 160.15 USD
USA: costo proprio percentuale per l'importatore US                = 10.00%
USA: costo proprio per l'importatore US                            = 13.35 USD
USA: costo totale per l'importatore US                             = 173.50 USD
USA: profitto percentuale dell'importatore US                      = 12.34%
USA: profitto dell'importatore US                                  = 16.47 USD
USA: prezzo di vendita pre VAT dell'importatore US                 = 189.97 USD
USA: VAT percentuale importatore US                                = 10.00%
USA: VAT che l'importatore US paga allo stato US                   = 19.00 USD
USA: prezzo di vendita dell'importatore US                         = 208.96 USD

USA: costo d'acquisto per il rivenditore US                         = 208.96 USD
USA: costo proprio percentuale per il rivenditore US                = 10.00%
USA: costo proprio per il rivenditore US                            = 20.90 USD
USA: costo totale per il rivenditore US                             = 229.86 USD
USA: profitto percentuale del rivenditore US                        = 12.34%
USA: profitto del rivenditore US                                    = 25.79 USD
USA: prezzo di vendita pre VAT pre Sales Tax per il rivenditore US  = 255.65 USD
USA: VAT percentuale rivenditore US                                 = 10.00%
USA: VAT che il rivenditore US paga allo stato US                   = 25.56 USD
USA: Sales Tax percentuale rivenditore US                           = 5.00%
USA: Sales Tax che il rivenditore US paga allo stato US             = 12.78 USD
USA: prezzo di vendita per il rivenditore US                        = 293.99 USD

USA: percentuale del dazio sul prezzo di vendita al dettaglio US = 9.08%
USA: tasse totali in USD (IVA in USD + VAT + ST)                 = 69.48 USD
USA: percentuale tasse sul prezzo di vendita al dettaglio US     = 23.63%

Ed ecco il codice:

/* dazi-usa-ita-2025-04-07.c */

#undef  _POSIX_C_SOURCE
#define _POSIX_C_SOURCE		200809L

#include <mmux-cc-types.h>
#include <mmux-cc-libc.h>
#include <stdlib.h>

static mmux_libc_fd_t	ou;

void
newline (void)
{
  mmux_libc_dprintfou("\n");
}
void
printit_unit (char const * what, mmux_decimal128_t val, char const * unit)
{
  mmux_libc_dprintfou(what);
  mmux_decimal128_dprintf(ou, val);
  mmux_libc_dprintfou("%s", unit);
  newline();
}
void
printit_perc (char const * what, mmux_decimal128_t val)
{
  printit_unit(what, val, "\%");
}
void
printit_usd (char const * what, mmux_decimal128_t val)
{
  printit_unit(what, val, " USD");
}
void
printit_eur (char const * what, mmux_decimal128_t val)
{
  printit_unit(what, val, " EUR");
}

int
main (void)
{
  mmux_decimal128_t	profitto_percentuale_per_tutti		= MMUX_DECIMAL128_LITERAL(12.34);
  mmux_decimal128_t	cento					= MMUX_DECIMAL128_LITERAL(100.0);
  mmux_decimal128_t	dieci					= MMUX_DECIMAL128_LITERAL(10.0);
  mmux_decimal128_t	cinque					= MMUX_DECIMAL128_LITERAL(5.0);

  mmux_decimal128_t	it_costo_produttore			= cento;
  mmux_decimal128_t	it_profitto_percentuale_produttore	= profitto_percentuale_per_tutti;
  mmux_decimal128_t	it_profitto_produttore			= it_costo_produttore * (it_profitto_percentuale_produttore / cento);
  mmux_decimal128_t	it_prezzo_produttore_pre_iva		= it_costo_produttore + it_profitto_produttore;
  mmux_decimal128_t	it_iva_percentuale_produttore		= dieci;
  mmux_decimal128_t	it_iva_produttore			= it_prezzo_produttore_pre_iva * (it_iva_percentuale_produttore / cento);
  mmux_decimal128_t	it_prezzo_produttore			= it_prezzo_produttore_pre_iva + it_iva_produttore;

  mmux_decimal128_t	dollari_per_un_euro			= MMUX_DECIMAL128_LITERAL(1.08);

  mmux_decimal128_t	us_prezzo_acquisto_it			= dollari_per_un_euro * it_prezzo_produttore;
  mmux_decimal128_t	us_dazio_percentuale			= MMUX_DECIMAL128_LITERAL(20.0);
  mmux_decimal128_t	us_dazio_allo_stato			= us_prezzo_acquisto_it * (us_dazio_percentuale / cento);
  mmux_decimal128_t	us_costo_importatore			= us_dazio_allo_stato + us_prezzo_acquisto_it;
  mmux_decimal128_t	us_costo_proprio_percentuale_importatore= MMUX_DECIMAL128_LITERAL(10.0);
  mmux_decimal128_t	us_costo_proprio_importatore		= us_prezzo_acquisto_it * (us_costo_proprio_percentuale_importatore / cento);
  mmux_decimal128_t	us_costo_totale_importatore		= us_costo_importatore + us_costo_proprio_importatore;
  mmux_decimal128_t	us_profitto_percentuale_importatore	= profitto_percentuale_per_tutti;
  mmux_decimal128_t	us_profitto_importatore			= us_prezzo_acquisto_it * (us_profitto_percentuale_importatore / cento);
  mmux_decimal128_t	us_prezzo_importatore_pre_vat		= us_costo_totale_importatore + us_profitto_importatore;
  mmux_decimal128_t	us_vat_percentuale_importatore		= dieci;
  mmux_decimal128_t	us_vat_importatore			= us_prezzo_importatore_pre_vat * (us_vat_percentuale_importatore / cento);
  mmux_decimal128_t	us_prezzo_importatore			= us_prezzo_importatore_pre_vat + us_vat_importatore;

  mmux_decimal128_t	us_costo_rivenditore			= us_prezzo_importatore;
  mmux_decimal128_t	us_costo_proprio_percentuale_rivenditore= MMUX_DECIMAL128_LITERAL(10.0);
  mmux_decimal128_t	us_costo_proprio_rivenditore		= us_costo_rivenditore * (us_costo_proprio_percentuale_rivenditore / cento);
  mmux_decimal128_t	us_costo_totale_rivenditore		= us_costo_rivenditore + us_costo_proprio_rivenditore;
  mmux_decimal128_t	us_profitto_percentuale_rivenditore	= profitto_percentuale_per_tutti;
  mmux_decimal128_t	us_profitto_rivenditore			= us_prezzo_importatore * (us_profitto_percentuale_rivenditore / cento);
  mmux_decimal128_t	us_prezzo_vendita_pre_vat_pre_st	= us_costo_totale_rivenditore + us_profitto_rivenditore;
  mmux_decimal128_t	us_vat_percentuale_rivenditore		= dieci;
  mmux_decimal128_t	us_vat_rivenditore			= us_prezzo_vendita_pre_vat_pre_st * (us_vat_percentuale_rivenditore / cento);
  mmux_decimal128_t	us_st_percentuale_rivenditore		= cinque;
  mmux_decimal128_t	us_st_rivenditore			= us_prezzo_vendita_pre_vat_pre_st * (us_st_percentuale_rivenditore / cento);
  mmux_decimal128_t	us_prezzo_vendita			= us_prezzo_vendita_pre_vat_pre_st + us_vat_rivenditore + us_st_rivenditore;

  mmux_decimal128_t	us_percentuale_dazio_sul_prezzo_vendita_finale = cento * (us_dazio_allo_stato / us_prezzo_vendita);

  mmux_decimal128_t	us_tasse_totali                                = us_st_rivenditore + us_vat_rivenditore + us_vat_importatore + dollari_per_un_euro * it_iva_produttore;
  mmux_decimal128_t	us_percentuale_tasse_sul_prezzo_vendita_finale = cento * (us_tasse_totali / us_prezzo_vendita);

  {
    char const *	fmt = "%.2f";

    mmux_cc_types_init();
    mmux_cc_libc_init();

    if (mmux_decimal128_set_output_format(fmt, __func__)) {
      mmux_libc_dprintfer("error: invalid output format: %s\n", fmt);
    };
    mmux_libc_stdou(&ou);
  }

  {
    printit_eur("ITA: costo di produzione del produttore IT        = ", it_costo_produttore);
    printit_perc("ITA: profitto percentuale per il produttore IT    = ", it_profitto_percentuale_produttore);
    printit_eur("ITA: profitto del produttore IT                   = ", it_profitto_produttore);
    printit_eur("ITA: prezzo di vendita pre IVA del produttore IT  = ", it_prezzo_produttore_pre_iva);
    printit_perc("ITA: IVA percentuale produttore IT                = ", it_iva_percentuale_produttore);
    printit_eur("ITA: IVA produttore IT                            = ", it_iva_produttore);
    printit_eur("ITA: prezzo di vendita del produttore IT          = ", it_prezzo_produttore);
  }

  newline();
  printit_usd("Cambio EUR/USD: numero di USD che si comprano con un EUR = ", dollari_per_un_euro);

  newline();
  {
    printit_usd("USA: prezzo d'acquisto che l'importatore US paga al produttore IT  = ", us_prezzo_acquisto_it);
    printit_perc("USA: dazio percentuale                                             = ", us_dazio_percentuale);
    printit_usd("USA: dazio che l'importatore US paga allo stato US                 = ", us_dazio_allo_stato);
    printit_usd("USA: costo per l'importatore US                                    = ", us_costo_importatore);
    printit_perc("USA: costo proprio percentuale per l'importatore US                = ", us_costo_proprio_percentuale_importatore);
    printit_usd("USA: costo proprio per l'importatore US                            = ", us_costo_proprio_importatore);
    printit_usd("USA: costo totale per l'importatore US                             = ", us_costo_totale_importatore);
    printit_perc("USA: profitto percentuale dell'importatore US                      = ", us_profitto_percentuale_importatore);
    printit_usd("USA: profitto dell'importatore US                                  = ", us_profitto_importatore);
    printit_usd("USA: prezzo di vendita pre VAT dell'importatore US                 = ", us_prezzo_importatore_pre_vat);
    printit_perc("USA: VAT percentuale importatore US                                = ", us_vat_percentuale_importatore);
    printit_usd("USA: VAT che l'importatore US paga allo stato US                   = ", us_vat_importatore);
    printit_usd("USA: prezzo di vendita dell'importatore US                         = ", us_prezzo_importatore);
  }

  newline();
  {
    printit_usd("USA: costo d'acquisto per il rivenditore US                         = ", us_costo_rivenditore);
    printit_perc("USA: costo proprio percentuale per il rivenditore US                = ", us_costo_proprio_percentuale_rivenditore);
    printit_usd("USA: costo proprio per il rivenditore US                            = ", us_costo_proprio_rivenditore);
    printit_usd("USA: costo totale per il rivenditore US                             = ", us_costo_totale_rivenditore);
    printit_perc("USA: profitto percentuale del rivenditore US                        = ", us_profitto_percentuale_rivenditore);
    printit_usd("USA: profitto del rivenditore US                                    = ", us_profitto_rivenditore);
    printit_usd("USA: prezzo di vendita pre VAT pre Sales Tax per il rivenditore US  = ", us_prezzo_vendita_pre_vat_pre_st);
    printit_perc("USA: VAT percentuale rivenditore US                                 = ", us_vat_percentuale_rivenditore);
    printit_usd("USA: VAT che il rivenditore US paga allo stato US                   = ", us_vat_rivenditore);
    printit_perc("USA: Sales Tax percentuale rivenditore US                           = ", us_st_percentuale_rivenditore);
    printit_usd("USA: Sales Tax che il rivenditore US paga allo stato US             = ", us_st_rivenditore);
    printit_usd("USA: prezzo di vendita per il rivenditore US                        = ", us_prezzo_vendita);
  }

  newline();
  {
    printit_perc("USA: percentuale del dazio sul prezzo di vendita al dettaglio US = ", us_percentuale_dazio_sul_prezzo_vendita_finale);
    printit_usd("USA: tasse totali in USD (IVA in USD + VAT + ST)                 = ", us_tasse_totali);
    printit_perc("USA: percentuale tasse sul prezzo di vendita al dettaglio US     = ", us_percentuale_tasse_sul_prezzo_vendita_finale);
  }

  exit(EXIT_SUCCESS);
}

/* end of file */