func (b Itau) Transference(d Document) {
}
Transference Return the transference file (arquivo de remessa)
package boleto
import (
	"html/template"
	"net/http"
	"fmt"
	"strconv"
)
type Itau struct {
	Agency                int
	Account               int
	Carteira              int
	ClientCode            int
	Company               Company
}
var configItau = bankConfig{
	Id:           341,
	Aceite:       "N",
	Currency:     9,
	CurrencyName: "R$",
	AgencyMaxSize: 4,
	AccountMaxSize: 5,
}
func (b Itau) Barcode(d Document) Barcode {
	var bn string
	ourNumberSize := len(strconv.Itoa(d.OurNumber))
	if ourNumberSize > 8 {
		panic("Document.OurNumber max of 8 digits")
	}
	IdSize := len(strconv.Itoa(d.Id))
	if IdSize > 7 {
		panic("Document.Id max of 7 digits")
	}
	if b.Carteira == 107||b.Carteira == 122||b.Carteira == 142||
	   b.Carteira == 143||b.Carteira == 196||b.Carteira == 198 {
		clientCodeSize := len(strconv.Itoa(b.ClientCode))
		if clientCodeSize > 5 {
			panic("Bank.ClientCode max of 5 digits")
		}
		var code string
		code += strconv.Itoa(b.Carteira)
		code += fmt.Sprintf("%08d", d.OurNumber)
		code += fmt.Sprintf("%07d", d.Id)
		code += fmt.Sprintf("%05d", b.ClientCode)
		codeModule := strconv.Itoa(module10(code, 2))
		bn += code + codeModule + "0"
	} else {
		var codeModuleCarteira int
		if b.Carteira == 126||b.Carteira == 131||b.Carteira == 146||
		   b.Carteira == 150||b.Carteira == 168 {
			m := fmt.Sprintf("%0"+strconv.Itoa(configItau.AgencyMaxSize)+"d", b.Agency)
			m += fmt.Sprintf("%0"+strconv.Itoa(configItau.AccountMaxSize)+"d", b.Account)
			m += strconv.Itoa(b.Carteira)
			m += strconv.Itoa(d.OurNumber)
			codeModuleCarteira = module10(m, 2)
		} else {
			m := strconv.Itoa(b.Carteira)
			m += strconv.Itoa(d.OurNumber)
			codeModuleCarteira = module10(m, 2)
		}
		codeModuleAccount := module10(strconv.Itoa(b.Account)+strconv.Itoa(b.Agency), 2)
		bn += strconv.Itoa(b.Carteira)
		bn += fmt.Sprintf("%08d", d.OurNumber)
		bn += strconv.Itoa(codeModuleCarteira)
		bn += fmt.Sprintf("%0"+strconv.Itoa(configItau.AgencyMaxSize)+"d", b.Agency)
		bn += fmt.Sprintf("%0"+strconv.Itoa(configItau.AccountMaxSize)+"d", b.Account)
		bn += strconv.Itoa(codeModuleAccount)
		bn += "000"
	}
	var n Barcode = &BarcodeNumber{
		BankId:        configItau.Id,
		CurrencyId:    configItau.Currency,
		DateDueFactor: dateDueFactor(d.DateDue),
		Value:         d.Value,
		BankNumbers:   fmt.Sprintf("%0"+strconv.Itoa(bankNumbersSize)+"s", bn),
	}
	n.verification()
	return n
}